diff --git a/.nojekyll b/.nojekyll new file mode 100644 index 000000000..e69de29bb diff --git a/.well-known/org.flathub.VerifiedApps.txt b/.well-known/org.flathub.VerifiedApps.txt new file mode 100644 index 000000000..a81ca70f8 --- /dev/null +++ b/.well-known/org.flathub.VerifiedApps.txt @@ -0,0 +1 @@ +efb814da-3214-4d9a-ba87-1f438b0cc23e diff --git a/.well-known/security.txt b/.well-known/security.txt new file mode 100644 index 000000000..1af298168 --- /dev/null +++ b/.well-known/security.txt @@ -0,0 +1,3 @@ +Contact: mailto:security@cutter.re +Preferred-Languages: en, ru, hi, fr, de, he +Canonical: https://cutter.re/.well-known/security.txt diff --git a/2019/07/26/index.html b/2019/07/26/index.html new file mode 100644 index 000000000..0293793b1 --- /dev/null +++ b/2019/07/26/index.html @@ -0,0 +1,242 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Cutter + + + + + + + + + + +
+ + + +
+
+
+
+
+ +
+ +
+
+ + + + + +
    +
  • shape image
  • +
  • shape image
  • +
+ +
+
+ + +
+
+
+
+ +
+ +
+ +
+ +
+ +
+
+
+
+ + +
+ + + + + + diff --git a/2019/07/index.html b/2019/07/index.html new file mode 100644 index 000000000..39e81ed93 --- /dev/null +++ b/2019/07/index.html @@ -0,0 +1,242 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Cutter + + + + + + + + + + +
+ + + +
+
+
+
+
+ +
+ +
+
+ + + + + +
    +
  • shape image
  • +
  • shape image
  • +
+ +
+
+ + +
+
+
+
+ +
+ +
+ +
+ +
+ +
+
+
+
+ + +
+ + + + + + diff --git a/2019/09/13/index.html b/2019/09/13/index.html new file mode 100644 index 000000000..94110e90c --- /dev/null +++ b/2019/09/13/index.html @@ -0,0 +1,215 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Cutter + + + + + + + + + + +
+ + + +
+
+
+
+
+ +
+ +
+
+ + + + + +
    +
  • shape image
  • +
  • shape image
  • +
+ +
+
+ + +
+
+
+
+ +
+ +
+ +
+
+
+
+ + +
+ + + + + + diff --git a/2019/09/index.html b/2019/09/index.html new file mode 100644 index 000000000..8880614c7 --- /dev/null +++ b/2019/09/index.html @@ -0,0 +1,215 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Cutter + + + + + + + + + + +
+ + + +
+
+
+
+
+ +
+ +
+
+ + + + + +
    +
  • shape image
  • +
  • shape image
  • +
+ +
+
+ + +
+
+
+
+ +
+ +
+ +
+
+
+
+ + +
+ + + + + + diff --git a/2019/12/26/index.html b/2019/12/26/index.html new file mode 100644 index 000000000..8749a6d58 --- /dev/null +++ b/2019/12/26/index.html @@ -0,0 +1,215 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Cutter + + + + + + + + + + +
+ + + +
+
+
+
+
+ +
+ +
+
+ + + + + +
    +
  • shape image
  • +
  • shape image
  • +
+ +
+
+ + +
+
+
+
+ +
+ +
+ +
+
+
+
+ + +
+ + + + + + diff --git a/2019/12/index.html b/2019/12/index.html new file mode 100644 index 000000000..4f009171a --- /dev/null +++ b/2019/12/index.html @@ -0,0 +1,215 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Cutter + + + + + + + + + + +
+ + + +
+
+
+
+
+ +
+ +
+
+ + + + + +
    +
  • shape image
  • +
  • shape image
  • +
+ +
+
+ + +
+
+
+
+ +
+ +
+ +
+
+
+
+ + +
+ + + + + + diff --git a/2019/index.html b/2019/index.html new file mode 100644 index 000000000..5034d1946 --- /dev/null +++ b/2019/index.html @@ -0,0 +1,296 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Cutter + + + + + + + + + + +
+ + + +
+
+
+
+
+ +
+ +
+
+ + + + + +
    +
  • shape image
  • +
  • shape image
  • +
+ +
+
+ + +
+
+
+
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+
+
+
+ + +
+ + + + + + diff --git a/2020/05/20/index.html b/2020/05/20/index.html new file mode 100644 index 000000000..f27bf4b46 --- /dev/null +++ b/2020/05/20/index.html @@ -0,0 +1,215 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Cutter + + + + + + + + + + +
+ + + +
+
+
+
+
+ +
+ +
+
+ + + + + +
    +
  • shape image
  • +
  • shape image
  • +
+ +
+
+ + +
+
+
+
+ +
+ +
+ +
+
+
+
+ + +
+ + + + + + diff --git a/2020/05/index.html b/2020/05/index.html new file mode 100644 index 000000000..04c6e4889 --- /dev/null +++ b/2020/05/index.html @@ -0,0 +1,215 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Cutter + + + + + + + + + + +
+ + + +
+
+
+
+
+ +
+ +
+
+ + + + + +
    +
  • shape image
  • +
  • shape image
  • +
+ +
+
+ + +
+
+
+
+ +
+ +
+ +
+
+
+
+ + +
+ + + + + + diff --git a/2020/08/31/index.html b/2020/08/31/index.html new file mode 100644 index 000000000..b21392ff8 --- /dev/null +++ b/2020/08/31/index.html @@ -0,0 +1,215 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Cutter + + + + + + + + + + +
+ + + +
+
+
+
+
+ +
+ +
+
+ + + + + +
    +
  • shape image
  • +
  • shape image
  • +
+ +
+
+ + +
+
+
+
+ +
+ +
+ +
+
+
+
+ + +
+ + + + + + diff --git a/2020/08/index.html b/2020/08/index.html new file mode 100644 index 000000000..825b09edc --- /dev/null +++ b/2020/08/index.html @@ -0,0 +1,215 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Cutter + + + + + + + + + + +
+ + + +
+
+
+
+
+ +
+ +
+
+ + + + + +
    +
  • shape image
  • +
  • shape image
  • +
+ +
+
+ + +
+
+
+
+ +
+ +
+ +
+
+
+
+ + +
+ + + + + + diff --git a/2020/index.html b/2020/index.html new file mode 100644 index 000000000..430743ad3 --- /dev/null +++ b/2020/index.html @@ -0,0 +1,242 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Cutter + + + + + + + + + + +
+ + + +
+
+
+
+
+ +
+ +
+
+ + + + + +
    +
  • shape image
  • +
  • shape image
  • +
+ +
+
+ + +
+
+
+
+ +
+ +
+ +
+ +
+ +
+
+
+
+ + +
+ + + + + + diff --git a/2021/03/29/index.html b/2021/03/29/index.html new file mode 100644 index 000000000..c40391609 --- /dev/null +++ b/2021/03/29/index.html @@ -0,0 +1,215 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Cutter + + + + + + + + + + +
+ + + +
+
+
+
+
+ +
+ +
+
+ + + + + +
    +
  • shape image
  • +
  • shape image
  • +
+ +
+
+ + +
+
+
+
+ +
+ +
+ +
+
+
+
+ + +
+ + + + + + diff --git a/2021/03/index.html b/2021/03/index.html new file mode 100644 index 000000000..fc026fc9a --- /dev/null +++ b/2021/03/index.html @@ -0,0 +1,215 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Cutter + + + + + + + + + + +
+ + + +
+
+
+
+
+ +
+ +
+
+ + + + + +
    +
  • shape image
  • +
  • shape image
  • +
+ +
+
+ + +
+
+
+
+ +
+ +
+ +
+
+
+
+ + +
+ + + + + + diff --git a/2021/index.html b/2021/index.html new file mode 100644 index 000000000..8ceacf795 --- /dev/null +++ b/2021/index.html @@ -0,0 +1,215 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Cutter + + + + + + + + + + +
+ + + +
+
+
+
+
+ +
+ +
+
+ + + + + +
    +
  • shape image
  • +
  • shape image
  • +
+ +
+
+ + +
+
+
+
+ +
+ +
+ +
+
+
+
+ + +
+ + + + + + diff --git a/404.html b/404.html new file mode 100644 index 000000000..b8f36d8b4 --- /dev/null +++ b/404.html @@ -0,0 +1,196 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 404 Page Not Found + + + + + + + + + + +
+ + + +
+
+
+
+
+ +
+ +
+
+ + + + +
+
+
+
+

404 Page Not Found

+
+
+
+
+ + +
+
+ + + +
+
+
+

Sorry the page was not found :-(

+ Back to Home +
+
+
+ + + + + +
+ + + + + + diff --git a/5-ways-to-patch-binaries-with-cutter.html b/5-ways-to-patch-binaries-with-cutter.html new file mode 100644 index 000000000..8edfa0e96 --- /dev/null +++ b/5-ways-to-patch-binaries-with-cutter.html @@ -0,0 +1,373 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 5 Ways to patch binaries with Cutter + + + + + + + + + + +
+ + + +
+
+
+
+
+ +
+ +
+
+ + +
+
+
+
+

5 Ways to patch binaries with Cutter

+ + +
+
+
+
+ + + + +
+
+ + +
+
+
+
+
+ +
+ 5 Ways to patch binaries with Cutter +
+ +
+

I recently watched a video by LiveOverflow in which he showed how different tools are used to patch binaries. By demonstrating some of the features that Radare2, Ghidra, and Binary Ninja offer for the task, the viewer can get some sense of the things they can get from using these tools.

+

While all these tools are great, and although Radare2 was showed there (and oh boy, things went wrong), there was one tool, which is dear to my heart, that wasn’t there – Cutter. Notwithstanding that it is the youngest member of the pack, Cutter is growing up very fast and when it has to do with binary patching – it does not stay behind.

+

“Binary Patching”, for those the term is unfamiliar, is the process of applying small changes and modifications to a binary file, usually in order to change its behavior. By modifying data or code, the user can change certain values in the program or specific instructions, and adjust the binary to their desired outcome.

+ +

Cutter makes patching binaries a simple task - here are 5 ways to do so.

+ +

Read on Megabeets’ website

+ + + +
+
+
+
+
Tags:
+
+
+
+ +
+
+
+ +
+ Itay Cohen +
+
+
Itay Cohen
+

Itay Cohen (aka Megabeets) is a security researcher and a reverse engineer. He is a maintainer of Cutter and a core member of Rizin.

+ +
+
+ + +
+ +
+
+
+
+
+
+ + +
+ + + + + + diff --git a/CNAME b/CNAME new file mode 100644 index 000000000..19003a4f4 --- /dev/null +++ b/CNAME @@ -0,0 +1 @@ +cutter.re diff --git a/_config.yml b/_config.yml new file mode 100644 index 000000000..512fa83d1 --- /dev/null +++ b/_config.yml @@ -0,0 +1,3 @@ +# This file is the _config.yml file for the gh-pages branch +# Force include sphinx files +include: [_static, _images, _sources, .well-known] diff --git a/about/index.html b/about/index.html new file mode 100644 index 000000000..273a393b7 --- /dev/null +++ b/about/index.html @@ -0,0 +1,195 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + About Cutter + + + + + + + + + + +
+ + + +
+
+
+
+
+ +
+ +
+
+ + + + +
+
+
+
+

About Cutter

+
+
+
+
+ + +
+
+ + +
+
+
+

Cutter is a Qt and C++ GUI powered by [Rizin](https://rizin.re). Its goal is making an advanced, customizable and FOSS reverse-engineering platform while keeping the user experience at mind. Cutter is created by reverse engineers for reverse engineers.

+

Cutter is actively maintained by its developer team and releases a new feature every ~5 weeks. Naturally, Cutter enjoys the fast paced development of its core, Rizin. This makes the project one of the most actively developed RE frameworks.

+ +

Cutter's Screenshot

+ +
+
+
+ + +
+ + + + + + diff --git a/analyzing-dropshot-part-1.html b/analyzing-dropshot-part-1.html new file mode 100644 index 000000000..d535eed88 --- /dev/null +++ b/analyzing-dropshot-part-1.html @@ -0,0 +1,370 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Decrypting APT33’s Dropshot Malware with Radare2 and Cutter – Part 1 + + + + + + + + + + +
+ + + +
+
+
+
+
+ +
+ +
+
+ + +
+
+
+
+

Decrypting APT33’s Dropshot Malware with Radare2 and Cutter – Part 1

+ + +
+
+
+
+ + + + +
+
+ + +
+
+
+
+
+ +
+ Decrypting APT33’s Dropshot Malware with Radare2 and Cutter – Part 1 +
+ +
+

Prologue

+ +

As a reverse engineer and malware researcher, the tools I use are super important for me. I have invested hours and hours in creating the best malware analysis environment for myself and chose the best tools for me and my needs. For the last two years, radare2 is my go-to tool for a lot of reverse-engineering tasks such as automating RE related work, scripting, CTFing, exploitation and more. That said, I almost never used radare2 for malware analysis, or more accurately, for analysis of malware for Windows.

+

The main reason was that radare2 command-line interface felt too clumsy, complicated and an over-kill. IDA Pro was simply better for these tasks, a quick inspection of functions, data structures, renaming, commenting, et cetera. It felt more intuitive for me and that what I was searching for while doing malware analysis. And then came Cutter.

+ +

Read on megabeets.net

+ + + +
+
+
+
+
Tags:
+
+
+
+ +
+
+
+ +
+ Itay Cohen +
+
+
Itay Cohen
+

Itay Cohen (aka Megabeets) is a security researcher and a reverse engineer. He is a maintainer of Cutter and a core member of Rizin.

+ +
+
+ + +
+ +
+
+
+
+
+
+ + +
+ + + + + + diff --git a/analyzing-dropshot-part-2.html b/analyzing-dropshot-part-2.html new file mode 100644 index 000000000..96ca5a266 --- /dev/null +++ b/analyzing-dropshot-part-2.html @@ -0,0 +1,372 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Decrypting APT33’s Dropshot Malware with Radare2 and Cutter – Part 2 + + + + + + + + + + +
+ + + +
+
+
+
+
+ +
+ +
+
+ + +
+
+
+
+

Decrypting APT33’s Dropshot Malware with Radare2 and Cutter – Part 2

+ + +
+
+
+
+ + + + +
+
+ + +
+
+
+
+
+ +
+ Decrypting APT33’s Dropshot Malware with Radare2 and Cutter – Part 2 +
+ +
+

Prologue

+ +

Previously, in the first part of this article, we used Cutter, a GUI for radare2, to statically analyze APT33’s Dropshot malware. We also used radare2’s Python scripting capabilities in order to decrypt encrypted strings in Dropshot. If you didn’t read the first part yet, I suggest you do it now.

+

Today’s article will be shorter, now that we are familiar with cutter and r2pipe, we can quickly analyze another interesting component of Dropshot — an encrypted resource that includes Dropshot’s actual payload. So without further ado, let’s start.

+ +

Read on megabeets.net

+ + + +
+
+
+
+
Tags:
+
+
+
+ +
+
+
+ +
+ Itay Cohen +
+
+
Itay Cohen
+

Itay Cohen (aka Megabeets) is a security researcher and a reverse engineer. He is a maintainer of Cutter and a core member of Rizin.

+ +
+
+ + +
+ +
+
+
+
+
+
+ + +
+ + + + + + diff --git a/assets/css/aos.css b/assets/css/aos.css new file mode 100644 index 000000000..2e1a9be71 --- /dev/null +++ b/assets/css/aos.css @@ -0,0 +1 @@ +[data-aos][data-aos][data-aos-duration="50"],body[data-aos-duration="50"] [data-aos]{transition-duration:50ms}[data-aos][data-aos][data-aos-delay="50"],body[data-aos-delay="50"] [data-aos]{transition-delay:0s}[data-aos][data-aos][data-aos-delay="50"].aos-animate,body[data-aos-delay="50"] [data-aos].aos-animate{transition-delay:50ms}[data-aos][data-aos][data-aos-duration="100"],body[data-aos-duration="100"] [data-aos]{transition-duration:.1s}[data-aos][data-aos][data-aos-delay="100"],body[data-aos-delay="100"] [data-aos]{transition-delay:0s}[data-aos][data-aos][data-aos-delay="100"].aos-animate,body[data-aos-delay="100"] [data-aos].aos-animate{transition-delay:.1s}[data-aos][data-aos][data-aos-duration="150"],body[data-aos-duration="150"] [data-aos]{transition-duration:.15s}[data-aos][data-aos][data-aos-delay="150"],body[data-aos-delay="150"] [data-aos]{transition-delay:0s}[data-aos][data-aos][data-aos-delay="150"].aos-animate,body[data-aos-delay="150"] [data-aos].aos-animate{transition-delay:.15s}[data-aos][data-aos][data-aos-duration="200"],body[data-aos-duration="200"] [data-aos]{transition-duration:.2s}[data-aos][data-aos][data-aos-delay="200"],body[data-aos-delay="200"] [data-aos]{transition-delay:0s}[data-aos][data-aos][data-aos-delay="200"].aos-animate,body[data-aos-delay="200"] [data-aos].aos-animate{transition-delay:.2s}[data-aos][data-aos][data-aos-duration="250"],body[data-aos-duration="250"] [data-aos]{transition-duration:.25s}[data-aos][data-aos][data-aos-delay="250"],body[data-aos-delay="250"] [data-aos]{transition-delay:0s}[data-aos][data-aos][data-aos-delay="250"].aos-animate,body[data-aos-delay="250"] [data-aos].aos-animate{transition-delay:.25s}[data-aos][data-aos][data-aos-duration="300"],body[data-aos-duration="300"] [data-aos]{transition-duration:.3s}[data-aos][data-aos][data-aos-delay="300"],body[data-aos-delay="300"] [data-aos]{transition-delay:0s}[data-aos][data-aos][data-aos-delay="300"].aos-animate,body[data-aos-delay="300"] [data-aos].aos-animate{transition-delay:.3s}[data-aos][data-aos][data-aos-duration="350"],body[data-aos-duration="350"] [data-aos]{transition-duration:.35s}[data-aos][data-aos][data-aos-delay="350"],body[data-aos-delay="350"] [data-aos]{transition-delay:0s}[data-aos][data-aos][data-aos-delay="350"].aos-animate,body[data-aos-delay="350"] [data-aos].aos-animate{transition-delay:.35s}[data-aos][data-aos][data-aos-duration="400"],body[data-aos-duration="400"] [data-aos]{transition-duration:.4s}[data-aos][data-aos][data-aos-delay="400"],body[data-aos-delay="400"] [data-aos]{transition-delay:0s}[data-aos][data-aos][data-aos-delay="400"].aos-animate,body[data-aos-delay="400"] [data-aos].aos-animate{transition-delay:.4s}[data-aos][data-aos][data-aos-duration="450"],body[data-aos-duration="450"] [data-aos]{transition-duration:.45s}[data-aos][data-aos][data-aos-delay="450"],body[data-aos-delay="450"] [data-aos]{transition-delay:0s}[data-aos][data-aos][data-aos-delay="450"].aos-animate,body[data-aos-delay="450"] [data-aos].aos-animate{transition-delay:.45s}[data-aos][data-aos][data-aos-duration="500"],body[data-aos-duration="500"] [data-aos]{transition-duration:.5s}[data-aos][data-aos][data-aos-delay="500"],body[data-aos-delay="500"] [data-aos]{transition-delay:0s}[data-aos][data-aos][data-aos-delay="500"].aos-animate,body[data-aos-delay="500"] [data-aos].aos-animate{transition-delay:.5s}[data-aos][data-aos][data-aos-duration="550"],body[data-aos-duration="550"] [data-aos]{transition-duration:.55s}[data-aos][data-aos][data-aos-delay="550"],body[data-aos-delay="550"] [data-aos]{transition-delay:0s}[data-aos][data-aos][data-aos-delay="550"].aos-animate,body[data-aos-delay="550"] [data-aos].aos-animate{transition-delay:.55s}[data-aos][data-aos][data-aos-duration="600"],body[data-aos-duration="600"] [data-aos]{transition-duration:.6s}[data-aos][data-aos][data-aos-delay="600"],body[data-aos-delay="600"] [data-aos]{transition-delay:0s}[data-aos][data-aos][data-aos-delay="600"].aos-animate,body[data-aos-delay="600"] [data-aos].aos-animate{transition-delay:.6s}[data-aos][data-aos][data-aos-duration="650"],body[data-aos-duration="650"] [data-aos]{transition-duration:.65s}[data-aos][data-aos][data-aos-delay="650"],body[data-aos-delay="650"] [data-aos]{transition-delay:0s}[data-aos][data-aos][data-aos-delay="650"].aos-animate,body[data-aos-delay="650"] [data-aos].aos-animate{transition-delay:.65s}[data-aos][data-aos][data-aos-duration="700"],body[data-aos-duration="700"] [data-aos]{transition-duration:.7s}[data-aos][data-aos][data-aos-delay="700"],body[data-aos-delay="700"] [data-aos]{transition-delay:0s}[data-aos][data-aos][data-aos-delay="700"].aos-animate,body[data-aos-delay="700"] [data-aos].aos-animate{transition-delay:.7s}[data-aos][data-aos][data-aos-duration="750"],body[data-aos-duration="750"] [data-aos]{transition-duration:.75s}[data-aos][data-aos][data-aos-delay="750"],body[data-aos-delay="750"] [data-aos]{transition-delay:0s}[data-aos][data-aos][data-aos-delay="750"].aos-animate,body[data-aos-delay="750"] [data-aos].aos-animate{transition-delay:.75s}[data-aos][data-aos][data-aos-duration="800"],body[data-aos-duration="800"] [data-aos]{transition-duration:.8s}[data-aos][data-aos][data-aos-delay="800"],body[data-aos-delay="800"] [data-aos]{transition-delay:0s}[data-aos][data-aos][data-aos-delay="800"].aos-animate,body[data-aos-delay="800"] [data-aos].aos-animate{transition-delay:.8s}[data-aos][data-aos][data-aos-duration="850"],body[data-aos-duration="850"] [data-aos]{transition-duration:.85s}[data-aos][data-aos][data-aos-delay="850"],body[data-aos-delay="850"] [data-aos]{transition-delay:0s}[data-aos][data-aos][data-aos-delay="850"].aos-animate,body[data-aos-delay="850"] [data-aos].aos-animate{transition-delay:.85s}[data-aos][data-aos][data-aos-duration="900"],body[data-aos-duration="900"] [data-aos]{transition-duration:.9s}[data-aos][data-aos][data-aos-delay="900"],body[data-aos-delay="900"] [data-aos]{transition-delay:0s}[data-aos][data-aos][data-aos-delay="900"].aos-animate,body[data-aos-delay="900"] [data-aos].aos-animate{transition-delay:.9s}[data-aos][data-aos][data-aos-duration="950"],body[data-aos-duration="950"] [data-aos]{transition-duration:.95s}[data-aos][data-aos][data-aos-delay="950"],body[data-aos-delay="950"] [data-aos]{transition-delay:0s}[data-aos][data-aos][data-aos-delay="950"].aos-animate,body[data-aos-delay="950"] [data-aos].aos-animate{transition-delay:.95s}[data-aos][data-aos][data-aos-duration="1000"],body[data-aos-duration="1000"] [data-aos]{transition-duration:1s}[data-aos][data-aos][data-aos-delay="1000"],body[data-aos-delay="1000"] [data-aos]{transition-delay:0s}[data-aos][data-aos][data-aos-delay="1000"].aos-animate,body[data-aos-delay="1000"] [data-aos].aos-animate{transition-delay:1s}[data-aos][data-aos][data-aos-duration="1050"],body[data-aos-duration="1050"] [data-aos]{transition-duration:1.05s}[data-aos][data-aos][data-aos-delay="1050"],body[data-aos-delay="1050"] [data-aos]{transition-delay:0s}[data-aos][data-aos][data-aos-delay="1050"].aos-animate,body[data-aos-delay="1050"] [data-aos].aos-animate{transition-delay:1.05s}[data-aos][data-aos][data-aos-duration="1100"],body[data-aos-duration="1100"] [data-aos]{transition-duration:1.1s}[data-aos][data-aos][data-aos-delay="1100"],body[data-aos-delay="1100"] [data-aos]{transition-delay:0s}[data-aos][data-aos][data-aos-delay="1100"].aos-animate,body[data-aos-delay="1100"] [data-aos].aos-animate{transition-delay:1.1s}[data-aos][data-aos][data-aos-duration="1150"],body[data-aos-duration="1150"] [data-aos]{transition-duration:1.15s}[data-aos][data-aos][data-aos-delay="1150"],body[data-aos-delay="1150"] [data-aos]{transition-delay:0s}[data-aos][data-aos][data-aos-delay="1150"].aos-animate,body[data-aos-delay="1150"] [data-aos].aos-animate{transition-delay:1.15s}[data-aos][data-aos][data-aos-duration="1200"],body[data-aos-duration="1200"] [data-aos]{transition-duration:1.2s}[data-aos][data-aos][data-aos-delay="1200"],body[data-aos-delay="1200"] [data-aos]{transition-delay:0s}[data-aos][data-aos][data-aos-delay="1200"].aos-animate,body[data-aos-delay="1200"] [data-aos].aos-animate{transition-delay:1.2s}[data-aos][data-aos][data-aos-duration="1250"],body[data-aos-duration="1250"] [data-aos]{transition-duration:1.25s}[data-aos][data-aos][data-aos-delay="1250"],body[data-aos-delay="1250"] [data-aos]{transition-delay:0s}[data-aos][data-aos][data-aos-delay="1250"].aos-animate,body[data-aos-delay="1250"] [data-aos].aos-animate{transition-delay:1.25s}[data-aos][data-aos][data-aos-duration="1300"],body[data-aos-duration="1300"] [data-aos]{transition-duration:1.3s}[data-aos][data-aos][data-aos-delay="1300"],body[data-aos-delay="1300"] [data-aos]{transition-delay:0s}[data-aos][data-aos][data-aos-delay="1300"].aos-animate,body[data-aos-delay="1300"] [data-aos].aos-animate{transition-delay:1.3s}[data-aos][data-aos][data-aos-duration="1350"],body[data-aos-duration="1350"] [data-aos]{transition-duration:1.35s}[data-aos][data-aos][data-aos-delay="1350"],body[data-aos-delay="1350"] [data-aos]{transition-delay:0s}[data-aos][data-aos][data-aos-delay="1350"].aos-animate,body[data-aos-delay="1350"] [data-aos].aos-animate{transition-delay:1.35s}[data-aos][data-aos][data-aos-duration="1400"],body[data-aos-duration="1400"] [data-aos]{transition-duration:1.4s}[data-aos][data-aos][data-aos-delay="1400"],body[data-aos-delay="1400"] [data-aos]{transition-delay:0s}[data-aos][data-aos][data-aos-delay="1400"].aos-animate,body[data-aos-delay="1400"] [data-aos].aos-animate{transition-delay:1.4s}[data-aos][data-aos][data-aos-duration="1450"],body[data-aos-duration="1450"] [data-aos]{transition-duration:1.45s}[data-aos][data-aos][data-aos-delay="1450"],body[data-aos-delay="1450"] [data-aos]{transition-delay:0s}[data-aos][data-aos][data-aos-delay="1450"].aos-animate,body[data-aos-delay="1450"] [data-aos].aos-animate{transition-delay:1.45s}[data-aos][data-aos][data-aos-duration="1500"],body[data-aos-duration="1500"] [data-aos]{transition-duration:1.5s}[data-aos][data-aos][data-aos-delay="1500"],body[data-aos-delay="1500"] [data-aos]{transition-delay:0s}[data-aos][data-aos][data-aos-delay="1500"].aos-animate,body[data-aos-delay="1500"] [data-aos].aos-animate{transition-delay:1.5s}[data-aos][data-aos][data-aos-duration="1550"],body[data-aos-duration="1550"] [data-aos]{transition-duration:1.55s}[data-aos][data-aos][data-aos-delay="1550"],body[data-aos-delay="1550"] [data-aos]{transition-delay:0s}[data-aos][data-aos][data-aos-delay="1550"].aos-animate,body[data-aos-delay="1550"] [data-aos].aos-animate{transition-delay:1.55s}[data-aos][data-aos][data-aos-duration="1600"],body[data-aos-duration="1600"] [data-aos]{transition-duration:1.6s}[data-aos][data-aos][data-aos-delay="1600"],body[data-aos-delay="1600"] [data-aos]{transition-delay:0s}[data-aos][data-aos][data-aos-delay="1600"].aos-animate,body[data-aos-delay="1600"] [data-aos].aos-animate{transition-delay:1.6s}[data-aos][data-aos][data-aos-duration="1650"],body[data-aos-duration="1650"] [data-aos]{transition-duration:1.65s}[data-aos][data-aos][data-aos-delay="1650"],body[data-aos-delay="1650"] [data-aos]{transition-delay:0s}[data-aos][data-aos][data-aos-delay="1650"].aos-animate,body[data-aos-delay="1650"] [data-aos].aos-animate{transition-delay:1.65s}[data-aos][data-aos][data-aos-duration="1700"],body[data-aos-duration="1700"] [data-aos]{transition-duration:1.7s}[data-aos][data-aos][data-aos-delay="1700"],body[data-aos-delay="1700"] [data-aos]{transition-delay:0s}[data-aos][data-aos][data-aos-delay="1700"].aos-animate,body[data-aos-delay="1700"] [data-aos].aos-animate{transition-delay:1.7s}[data-aos][data-aos][data-aos-duration="1750"],body[data-aos-duration="1750"] [data-aos]{transition-duration:1.75s}[data-aos][data-aos][data-aos-delay="1750"],body[data-aos-delay="1750"] [data-aos]{transition-delay:0s}[data-aos][data-aos][data-aos-delay="1750"].aos-animate,body[data-aos-delay="1750"] [data-aos].aos-animate{transition-delay:1.75s}[data-aos][data-aos][data-aos-duration="1800"],body[data-aos-duration="1800"] [data-aos]{transition-duration:1.8s}[data-aos][data-aos][data-aos-delay="1800"],body[data-aos-delay="1800"] [data-aos]{transition-delay:0s}[data-aos][data-aos][data-aos-delay="1800"].aos-animate,body[data-aos-delay="1800"] [data-aos].aos-animate{transition-delay:1.8s}[data-aos][data-aos][data-aos-duration="1850"],body[data-aos-duration="1850"] [data-aos]{transition-duration:1.85s}[data-aos][data-aos][data-aos-delay="1850"],body[data-aos-delay="1850"] [data-aos]{transition-delay:0s}[data-aos][data-aos][data-aos-delay="1850"].aos-animate,body[data-aos-delay="1850"] [data-aos].aos-animate{transition-delay:1.85s}[data-aos][data-aos][data-aos-duration="1900"],body[data-aos-duration="1900"] [data-aos]{transition-duration:1.9s}[data-aos][data-aos][data-aos-delay="1900"],body[data-aos-delay="1900"] [data-aos]{transition-delay:0s}[data-aos][data-aos][data-aos-delay="1900"].aos-animate,body[data-aos-delay="1900"] [data-aos].aos-animate{transition-delay:1.9s}[data-aos][data-aos][data-aos-duration="1950"],body[data-aos-duration="1950"] [data-aos]{transition-duration:1.95s}[data-aos][data-aos][data-aos-delay="1950"],body[data-aos-delay="1950"] [data-aos]{transition-delay:0s}[data-aos][data-aos][data-aos-delay="1950"].aos-animate,body[data-aos-delay="1950"] [data-aos].aos-animate{transition-delay:1.95s}[data-aos][data-aos][data-aos-duration="2000"],body[data-aos-duration="2000"] [data-aos]{transition-duration:2s}[data-aos][data-aos][data-aos-delay="2000"],body[data-aos-delay="2000"] [data-aos]{transition-delay:0s}[data-aos][data-aos][data-aos-delay="2000"].aos-animate,body[data-aos-delay="2000"] [data-aos].aos-animate{transition-delay:2s}[data-aos][data-aos][data-aos-duration="2050"],body[data-aos-duration="2050"] [data-aos]{transition-duration:2.05s}[data-aos][data-aos][data-aos-delay="2050"],body[data-aos-delay="2050"] [data-aos]{transition-delay:0s}[data-aos][data-aos][data-aos-delay="2050"].aos-animate,body[data-aos-delay="2050"] [data-aos].aos-animate{transition-delay:2.05s}[data-aos][data-aos][data-aos-duration="2100"],body[data-aos-duration="2100"] [data-aos]{transition-duration:2.1s}[data-aos][data-aos][data-aos-delay="2100"],body[data-aos-delay="2100"] [data-aos]{transition-delay:0s}[data-aos][data-aos][data-aos-delay="2100"].aos-animate,body[data-aos-delay="2100"] [data-aos].aos-animate{transition-delay:2.1s}[data-aos][data-aos][data-aos-duration="2150"],body[data-aos-duration="2150"] [data-aos]{transition-duration:2.15s}[data-aos][data-aos][data-aos-delay="2150"],body[data-aos-delay="2150"] [data-aos]{transition-delay:0s}[data-aos][data-aos][data-aos-delay="2150"].aos-animate,body[data-aos-delay="2150"] [data-aos].aos-animate{transition-delay:2.15s}[data-aos][data-aos][data-aos-duration="2200"],body[data-aos-duration="2200"] [data-aos]{transition-duration:2.2s}[data-aos][data-aos][data-aos-delay="2200"],body[data-aos-delay="2200"] [data-aos]{transition-delay:0s}[data-aos][data-aos][data-aos-delay="2200"].aos-animate,body[data-aos-delay="2200"] [data-aos].aos-animate{transition-delay:2.2s}[data-aos][data-aos][data-aos-duration="2250"],body[data-aos-duration="2250"] [data-aos]{transition-duration:2.25s}[data-aos][data-aos][data-aos-delay="2250"],body[data-aos-delay="2250"] [data-aos]{transition-delay:0s}[data-aos][data-aos][data-aos-delay="2250"].aos-animate,body[data-aos-delay="2250"] [data-aos].aos-animate{transition-delay:2.25s}[data-aos][data-aos][data-aos-duration="2300"],body[data-aos-duration="2300"] [data-aos]{transition-duration:2.3s}[data-aos][data-aos][data-aos-delay="2300"],body[data-aos-delay="2300"] [data-aos]{transition-delay:0s}[data-aos][data-aos][data-aos-delay="2300"].aos-animate,body[data-aos-delay="2300"] [data-aos].aos-animate{transition-delay:2.3s}[data-aos][data-aos][data-aos-duration="2350"],body[data-aos-duration="2350"] [data-aos]{transition-duration:2.35s}[data-aos][data-aos][data-aos-delay="2350"],body[data-aos-delay="2350"] [data-aos]{transition-delay:0s}[data-aos][data-aos][data-aos-delay="2350"].aos-animate,body[data-aos-delay="2350"] [data-aos].aos-animate{transition-delay:2.35s}[data-aos][data-aos][data-aos-duration="2400"],body[data-aos-duration="2400"] [data-aos]{transition-duration:2.4s}[data-aos][data-aos][data-aos-delay="2400"],body[data-aos-delay="2400"] [data-aos]{transition-delay:0s}[data-aos][data-aos][data-aos-delay="2400"].aos-animate,body[data-aos-delay="2400"] [data-aos].aos-animate{transition-delay:2.4s}[data-aos][data-aos][data-aos-duration="2450"],body[data-aos-duration="2450"] [data-aos]{transition-duration:2.45s}[data-aos][data-aos][data-aos-delay="2450"],body[data-aos-delay="2450"] [data-aos]{transition-delay:0s}[data-aos][data-aos][data-aos-delay="2450"].aos-animate,body[data-aos-delay="2450"] [data-aos].aos-animate{transition-delay:2.45s}[data-aos][data-aos][data-aos-duration="2500"],body[data-aos-duration="2500"] [data-aos]{transition-duration:2.5s}[data-aos][data-aos][data-aos-delay="2500"],body[data-aos-delay="2500"] [data-aos]{transition-delay:0s}[data-aos][data-aos][data-aos-delay="2500"].aos-animate,body[data-aos-delay="2500"] [data-aos].aos-animate{transition-delay:2.5s}[data-aos][data-aos][data-aos-duration="2550"],body[data-aos-duration="2550"] [data-aos]{transition-duration:2.55s}[data-aos][data-aos][data-aos-delay="2550"],body[data-aos-delay="2550"] [data-aos]{transition-delay:0s}[data-aos][data-aos][data-aos-delay="2550"].aos-animate,body[data-aos-delay="2550"] [data-aos].aos-animate{transition-delay:2.55s}[data-aos][data-aos][data-aos-duration="2600"],body[data-aos-duration="2600"] [data-aos]{transition-duration:2.6s}[data-aos][data-aos][data-aos-delay="2600"],body[data-aos-delay="2600"] [data-aos]{transition-delay:0s}[data-aos][data-aos][data-aos-delay="2600"].aos-animate,body[data-aos-delay="2600"] [data-aos].aos-animate{transition-delay:2.6s}[data-aos][data-aos][data-aos-duration="2650"],body[data-aos-duration="2650"] [data-aos]{transition-duration:2.65s}[data-aos][data-aos][data-aos-delay="2650"],body[data-aos-delay="2650"] [data-aos]{transition-delay:0s}[data-aos][data-aos][data-aos-delay="2650"].aos-animate,body[data-aos-delay="2650"] [data-aos].aos-animate{transition-delay:2.65s}[data-aos][data-aos][data-aos-duration="2700"],body[data-aos-duration="2700"] [data-aos]{transition-duration:2.7s}[data-aos][data-aos][data-aos-delay="2700"],body[data-aos-delay="2700"] [data-aos]{transition-delay:0s}[data-aos][data-aos][data-aos-delay="2700"].aos-animate,body[data-aos-delay="2700"] [data-aos].aos-animate{transition-delay:2.7s}[data-aos][data-aos][data-aos-duration="2750"],body[data-aos-duration="2750"] [data-aos]{transition-duration:2.75s}[data-aos][data-aos][data-aos-delay="2750"],body[data-aos-delay="2750"] [data-aos]{transition-delay:0s}[data-aos][data-aos][data-aos-delay="2750"].aos-animate,body[data-aos-delay="2750"] [data-aos].aos-animate{transition-delay:2.75s}[data-aos][data-aos][data-aos-duration="2800"],body[data-aos-duration="2800"] [data-aos]{transition-duration:2.8s}[data-aos][data-aos][data-aos-delay="2800"],body[data-aos-delay="2800"] [data-aos]{transition-delay:0s}[data-aos][data-aos][data-aos-delay="2800"].aos-animate,body[data-aos-delay="2800"] [data-aos].aos-animate{transition-delay:2.8s}[data-aos][data-aos][data-aos-duration="2850"],body[data-aos-duration="2850"] [data-aos]{transition-duration:2.85s}[data-aos][data-aos][data-aos-delay="2850"],body[data-aos-delay="2850"] [data-aos]{transition-delay:0s}[data-aos][data-aos][data-aos-delay="2850"].aos-animate,body[data-aos-delay="2850"] [data-aos].aos-animate{transition-delay:2.85s}[data-aos][data-aos][data-aos-duration="2900"],body[data-aos-duration="2900"] [data-aos]{transition-duration:2.9s}[data-aos][data-aos][data-aos-delay="2900"],body[data-aos-delay="2900"] [data-aos]{transition-delay:0s}[data-aos][data-aos][data-aos-delay="2900"].aos-animate,body[data-aos-delay="2900"] [data-aos].aos-animate{transition-delay:2.9s}[data-aos][data-aos][data-aos-duration="2950"],body[data-aos-duration="2950"] [data-aos]{transition-duration:2.95s}[data-aos][data-aos][data-aos-delay="2950"],body[data-aos-delay="2950"] [data-aos]{transition-delay:0s}[data-aos][data-aos][data-aos-delay="2950"].aos-animate,body[data-aos-delay="2950"] [data-aos].aos-animate{transition-delay:2.95s}[data-aos][data-aos][data-aos-duration="3000"],body[data-aos-duration="3000"] [data-aos]{transition-duration:3s}[data-aos][data-aos][data-aos-delay="3000"],body[data-aos-delay="3000"] [data-aos]{transition-delay:0s}[data-aos][data-aos][data-aos-delay="3000"].aos-animate,body[data-aos-delay="3000"] [data-aos].aos-animate{transition-delay:3s}[data-aos]{pointer-events:none}[data-aos].aos-animate{pointer-events:auto}[data-aos][data-aos][data-aos-easing=linear],body[data-aos-easing=linear] [data-aos]{transition-timing-function:cubic-bezier(.25,.25,.75,.75)}[data-aos][data-aos][data-aos-easing=ease],body[data-aos-easing=ease] [data-aos]{transition-timing-function:ease}[data-aos][data-aos][data-aos-easing=ease-in],body[data-aos-easing=ease-in] [data-aos]{transition-timing-function:ease-in}[data-aos][data-aos][data-aos-easing=ease-out],body[data-aos-easing=ease-out] [data-aos]{transition-timing-function:ease-out}[data-aos][data-aos][data-aos-easing=ease-in-out],body[data-aos-easing=ease-in-out] [data-aos]{transition-timing-function:ease-in-out}[data-aos][data-aos][data-aos-easing=ease-in-back],body[data-aos-easing=ease-in-back] [data-aos]{transition-timing-function:cubic-bezier(.6,-.28,.735,.045)}[data-aos][data-aos][data-aos-easing=ease-out-back],body[data-aos-easing=ease-out-back] [data-aos]{transition-timing-function:cubic-bezier(.175,.885,.32,1.275)}[data-aos][data-aos][data-aos-easing=ease-in-out-back],body[data-aos-easing=ease-in-out-back] [data-aos]{transition-timing-function:cubic-bezier(.68,-.55,.265,1.55)}[data-aos][data-aos][data-aos-easing=ease-in-sine],body[data-aos-easing=ease-in-sine] [data-aos]{transition-timing-function:cubic-bezier(.47,0,.745,.715)}[data-aos][data-aos][data-aos-easing=ease-out-sine],body[data-aos-easing=ease-out-sine] [data-aos]{transition-timing-function:cubic-bezier(.39,.575,.565,1)}[data-aos][data-aos][data-aos-easing=ease-in-out-sine],body[data-aos-easing=ease-in-out-sine] [data-aos]{transition-timing-function:cubic-bezier(.445,.05,.55,.95)}[data-aos][data-aos][data-aos-easing=ease-in-quad],body[data-aos-easing=ease-in-quad] [data-aos]{transition-timing-function:cubic-bezier(.55,.085,.68,.53)}[data-aos][data-aos][data-aos-easing=ease-out-quad],body[data-aos-easing=ease-out-quad] [data-aos]{transition-timing-function:cubic-bezier(.25,.46,.45,.94)}[data-aos][data-aos][data-aos-easing=ease-in-out-quad],body[data-aos-easing=ease-in-out-quad] [data-aos]{transition-timing-function:cubic-bezier(.455,.03,.515,.955)}[data-aos][data-aos][data-aos-easing=ease-in-cubic],body[data-aos-easing=ease-in-cubic] [data-aos]{transition-timing-function:cubic-bezier(.55,.085,.68,.53)}[data-aos][data-aos][data-aos-easing=ease-out-cubic],body[data-aos-easing=ease-out-cubic] [data-aos]{transition-timing-function:cubic-bezier(.25,.46,.45,.94)}[data-aos][data-aos][data-aos-easing=ease-in-out-cubic],body[data-aos-easing=ease-in-out-cubic] [data-aos]{transition-timing-function:cubic-bezier(.455,.03,.515,.955)}[data-aos][data-aos][data-aos-easing=ease-in-quart],body[data-aos-easing=ease-in-quart] [data-aos]{transition-timing-function:cubic-bezier(.55,.085,.68,.53)}[data-aos][data-aos][data-aos-easing=ease-out-quart],body[data-aos-easing=ease-out-quart] [data-aos]{transition-timing-function:cubic-bezier(.25,.46,.45,.94)}[data-aos][data-aos][data-aos-easing=ease-in-out-quart],body[data-aos-easing=ease-in-out-quart] [data-aos]{transition-timing-function:cubic-bezier(.455,.03,.515,.955)}@media screen{html:not(.no-js) [data-aos^=fade][data-aos^=fade]{opacity:0;transition-property:opacity,-webkit-transform;transition-property:opacity,transform;transition-property:opacity,transform,-webkit-transform}html:not(.no-js) [data-aos^=fade][data-aos^=fade].aos-animate{opacity:1;-webkit-transform:none;transform:none}html:not(.no-js) [data-aos=fade-up]{-webkit-transform:translate3d(0,100px,0);transform:translate3d(0,100px,0)}html:not(.no-js) [data-aos=fade-down]{-webkit-transform:translate3d(0,-100px,0);transform:translate3d(0,-100px,0)}html:not(.no-js) [data-aos=fade-right]{-webkit-transform:translate3d(-100px,0,0);transform:translate3d(-100px,0,0)}html:not(.no-js) [data-aos=fade-left]{-webkit-transform:translate3d(100px,0,0);transform:translate3d(100px,0,0)}html:not(.no-js) [data-aos=fade-up-right]{-webkit-transform:translate3d(-100px,100px,0);transform:translate3d(-100px,100px,0)}html:not(.no-js) [data-aos=fade-up-left]{-webkit-transform:translate3d(100px,100px,0);transform:translate3d(100px,100px,0)}html:not(.no-js) [data-aos=fade-down-right]{-webkit-transform:translate3d(-100px,-100px,0);transform:translate3d(-100px,-100px,0)}html:not(.no-js) [data-aos=fade-down-left]{-webkit-transform:translate3d(100px,-100px,0);transform:translate3d(100px,-100px,0)}html:not(.no-js) [data-aos^=zoom][data-aos^=zoom]{opacity:0;transition-property:opacity,-webkit-transform;transition-property:opacity,transform;transition-property:opacity,transform,-webkit-transform}html:not(.no-js) [data-aos^=zoom][data-aos^=zoom].aos-animate{opacity:1;-webkit-transform:translateZ(0) scale(1);transform:translateZ(0) scale(1)}html:not(.no-js) [data-aos=zoom-in]{-webkit-transform:scale(.6);transform:scale(.6)}html:not(.no-js) [data-aos=zoom-in-up]{-webkit-transform:translate3d(0,100px,0) scale(.6);transform:translate3d(0,100px,0) scale(.6)}html:not(.no-js) [data-aos=zoom-in-down]{-webkit-transform:translate3d(0,-100px,0) scale(.6);transform:translate3d(0,-100px,0) scale(.6)}html:not(.no-js) [data-aos=zoom-in-right]{-webkit-transform:translate3d(-100px,0,0) scale(.6);transform:translate3d(-100px,0,0) scale(.6)}html:not(.no-js) [data-aos=zoom-in-left]{-webkit-transform:translate3d(100px,0,0) scale(.6);transform:translate3d(100px,0,0) scale(.6)}html:not(.no-js) [data-aos=zoom-out]{-webkit-transform:scale(1.2);transform:scale(1.2)}html:not(.no-js) [data-aos=zoom-out-up]{-webkit-transform:translate3d(0,100px,0) scale(1.2);transform:translate3d(0,100px,0) scale(1.2)}html:not(.no-js) [data-aos=zoom-out-down]{-webkit-transform:translate3d(0,-100px,0) scale(1.2);transform:translate3d(0,-100px,0) scale(1.2)}html:not(.no-js) [data-aos=zoom-out-right]{-webkit-transform:translate3d(-100px,0,0) scale(1.2);transform:translate3d(-100px,0,0) scale(1.2)}html:not(.no-js) [data-aos=zoom-out-left]{-webkit-transform:translate3d(100px,0,0) scale(1.2);transform:translate3d(100px,0,0) scale(1.2)}html:not(.no-js) [data-aos^=slide][data-aos^=slide]{transition-property:-webkit-transform;transition-property:transform;transition-property:transform,-webkit-transform;visibility:hidden}html:not(.no-js) [data-aos^=slide][data-aos^=slide].aos-animate{visibility:visible;-webkit-transform:translateZ(0);transform:translateZ(0)}html:not(.no-js) [data-aos=slide-up]{-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0)}html:not(.no-js) [data-aos=slide-down]{-webkit-transform:translate3d(0,-100%,0);transform:translate3d(0,-100%,0)}html:not(.no-js) [data-aos=slide-right]{-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0)}html:not(.no-js) [data-aos=slide-left]{-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0)}html:not(.no-js) [data-aos^=flip][data-aos^=flip]{-webkit-backface-visibility:hidden;backface-visibility:hidden;transition-property:-webkit-transform;transition-property:transform;transition-property:transform,-webkit-transform}html:not(.no-js) [data-aos=flip-left]{-webkit-transform:perspective(2500px) rotateY(-100deg);transform:perspective(2500px) rotateY(-100deg)}html:not(.no-js) [data-aos=flip-left].aos-animate{-webkit-transform:perspective(2500px) rotateY(0);transform:perspective(2500px) rotateY(0)}html:not(.no-js) [data-aos=flip-right]{-webkit-transform:perspective(2500px) rotateY(100deg);transform:perspective(2500px) rotateY(100deg)}html:not(.no-js) [data-aos=flip-right].aos-animate{-webkit-transform:perspective(2500px) rotateY(0);transform:perspective(2500px) rotateY(0)}html:not(.no-js) [data-aos=flip-up]{-webkit-transform:perspective(2500px) rotateX(-100deg);transform:perspective(2500px) rotateX(-100deg)}html:not(.no-js) [data-aos=flip-up].aos-animate{-webkit-transform:perspective(2500px) rotateX(0);transform:perspective(2500px) rotateX(0)}html:not(.no-js) [data-aos=flip-down]{-webkit-transform:perspective(2500px) rotateX(100deg);transform:perspective(2500px) rotateX(100deg)}html:not(.no-js) [data-aos=flip-down].aos-animate{-webkit-transform:perspective(2500px) rotateX(0);transform:perspective(2500px) rotateX(0)}} \ No newline at end of file diff --git a/assets/css/atom-one-light.css b/assets/css/atom-one-light.css new file mode 100644 index 000000000..d5bd1d2a9 --- /dev/null +++ b/assets/css/atom-one-light.css @@ -0,0 +1,96 @@ +/* + +Atom One Light by Daniel Gamage +Original One Light Syntax theme from https://github.com/atom/one-light-syntax + +base: #fafafa +mono-1: #383a42 +mono-2: #686b77 +mono-3: #a0a1a7 +hue-1: #0184bb +hue-2: #4078f2 +hue-3: #a626a4 +hue-4: #50a14f +hue-5: #e45649 +hue-5-2: #c91243 +hue-6: #986801 +hue-6-2: #c18401 + +*/ + +.hljs { + display: block; + overflow-x: auto; + padding: 0.5em; + color: #383a42; + background: #fafafa; +} + +.hljs-comment, +.hljs-quote { + color: #a0a1a7; + font-style: italic; +} + +.hljs-doctag, +.hljs-keyword, +.hljs-formula { + color: #a626a4; +} + +.hljs-section, +.hljs-name, +.hljs-selector-tag, +.hljs-deletion, +.hljs-subst { + color: #e45649; +} + +.hljs-literal { + color: #0184bb; +} + +.hljs-string, +.hljs-regexp, +.hljs-addition, +.hljs-attribute, +.hljs-meta-string { + color: #50a14f; +} + +.hljs-built_in, +.hljs-class .hljs-title { + color: #c18401; +} + +.hljs-attr, +.hljs-variable, +.hljs-template-variable, +.hljs-type, +.hljs-selector-class, +.hljs-selector-attr, +.hljs-selector-pseudo, +.hljs-number { + color: #986801; +} + +.hljs-symbol, +.hljs-bullet, +.hljs-link, +.hljs-meta, +.hljs-selector-id, +.hljs-title { + color: #4078f2; +} + +.hljs-emphasis { + font-style: italic; +} + +.hljs-strong { + font-weight: bold; +} + +.hljs-link { + text-decoration: underline; +} diff --git a/assets/css/bootstrap.min.css b/assets/css/bootstrap.min.css new file mode 100644 index 000000000..882691283 --- /dev/null +++ b/assets/css/bootstrap.min.css @@ -0,0 +1,7 @@ +/*! + * Bootstrap v4.1.3 (https://getbootstrap.com/) + * Copyright 2011-2018 The Bootstrap Authors + * Copyright 2011-2018 Twitter, Inc. + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) + */:root{--blue:#007bff;--indigo:#6610f2;--purple:#6f42c1;--pink:#e83e8c;--red:#dc3545;--orange:#fd7e14;--yellow:#ffc107;--green:#28a745;--teal:#20c997;--cyan:#17a2b8;--white:#fff;--gray:#6c757d;--gray-dark:#343a40;--primary:#007bff;--secondary:#6c757d;--success:#28a745;--info:#17a2b8;--warning:#ffc107;--danger:#dc3545;--light:#f8f9fa;--dark:#343a40;--breakpoint-xs:0;--breakpoint-sm:576px;--breakpoint-md:768px;--breakpoint-lg:992px;--breakpoint-xl:1200px;--font-family-sans-serif:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--font-family-monospace:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace}*,::after,::before{box-sizing:border-box}html{font-family:sans-serif;line-height:1.15;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%;-ms-overflow-style:scrollbar;-webkit-tap-highlight-color:transparent}@-ms-viewport{width:device-width}article,aside,figcaption,figure,footer,header,hgroup,main,nav,section{display:block}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";font-size:1rem;font-weight:400;line-height:1.5;color:#212529;text-align:left;background-color:#fff}[tabindex="-1"]:focus{outline:0!important}hr{box-sizing:content-box;height:0;overflow:visible}h1,h2,h3,h4,h5,h6{margin-top:0;margin-bottom:.5rem}p{margin-top:0;margin-bottom:1rem}abbr[data-original-title],abbr[title]{text-decoration:underline;-webkit-text-decoration:underline dotted;text-decoration:underline dotted;cursor:help;border-bottom:0}address{margin-bottom:1rem;font-style:normal;line-height:inherit}dl,ol,ul{margin-top:0;margin-bottom:1rem}ol ol,ol ul,ul ol,ul ul{margin-bottom:0}dt{font-weight:700}dd{margin-bottom:.5rem;margin-left:0}blockquote{margin:0 0 1rem}dfn{font-style:italic}b,strong{font-weight:bolder}small{font-size:80%}sub,sup{position:relative;font-size:75%;line-height:0;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}a{color:#007bff;text-decoration:none;background-color:transparent;-webkit-text-decoration-skip:objects}a:hover{color:#0056b3;text-decoration:underline}a:not([href]):not([tabindex]){color:inherit;text-decoration:none}a:not([href]):not([tabindex]):focus,a:not([href]):not([tabindex]):hover{color:inherit;text-decoration:none}a:not([href]):not([tabindex]):focus{outline:0}code,kbd,pre,samp{font-family:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;font-size:1em}pre{margin-top:0;margin-bottom:1rem;overflow:auto;-ms-overflow-style:scrollbar}figure{margin:0 0 1rem}img{vertical-align:middle;border-style:none}svg{overflow:hidden;vertical-align:middle}table{border-collapse:collapse}caption{padding-top:.75rem;padding-bottom:.75rem;color:#6c757d;text-align:left;caption-side:bottom}th{text-align:inherit}label{display:inline-block;margin-bottom:.5rem}button{border-radius:0}button:focus{outline:1px dotted;outline:5px auto -webkit-focus-ring-color}button,input,optgroup,select,textarea{margin:0;font-family:inherit;font-size:inherit;line-height:inherit}button,input{overflow:visible}button,select{text-transform:none}[type=reset],[type=submit],button,html [type=button]{-webkit-appearance:button}[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner,button::-moz-focus-inner{padding:0;border-style:none}input[type=checkbox],input[type=radio]{box-sizing:border-box;padding:0}input[type=date],input[type=datetime-local],input[type=month],input[type=time]{-webkit-appearance:listbox}textarea{overflow:auto;resize:vertical}fieldset{min-width:0;padding:0;margin:0;border:0}legend{display:block;width:100%;max-width:100%;padding:0;margin-bottom:.5rem;font-size:1.5rem;line-height:inherit;color:inherit;white-space:normal}progress{vertical-align:baseline}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{outline-offset:-2px;-webkit-appearance:none}[type=search]::-webkit-search-cancel-button,[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{font:inherit;-webkit-appearance:button}output{display:inline-block}summary{display:list-item;cursor:pointer}template{display:none}[hidden]{display:none!important}.h1,.h2,.h3,.h4,.h5,.h6,h1,h2,h3,h4,h5,h6{margin-bottom:.5rem;font-family:inherit;font-weight:500;line-height:1.2;color:inherit}.h1,h1{font-size:2.5rem}.h2,h2{font-size:2rem}.h3,h3{font-size:1.75rem}.h4,h4{font-size:1.5rem}.h5,h5{font-size:1.25rem}.h6,h6{font-size:1rem}.lead{font-size:1.25rem;font-weight:300}.display-1{font-size:6rem;font-weight:300;line-height:1.2}.display-2{font-size:5.5rem;font-weight:300;line-height:1.2}.display-3{font-size:4.5rem;font-weight:300;line-height:1.2}.display-4{font-size:3.5rem;font-weight:300;line-height:1.2}hr{margin-top:1rem;margin-bottom:1rem;border:0;border-top:1px solid rgba(0,0,0,.1)}.small,small{font-size:80%;font-weight:400}.mark,mark{padding:.2em;background-color:#fcf8e3}.list-unstyled{padding-left:0;list-style:none}.list-inline{padding-left:0;list-style:none}.list-inline-item{display:inline-block}.list-inline-item:not(:last-child){margin-right:.5rem}.initialism{font-size:90%;text-transform:uppercase}.blockquote{margin-bottom:1rem;font-size:1.25rem}.blockquote-footer{display:block;font-size:80%;color:#6c757d}.blockquote-footer::before{content:"\2014 \00A0"}.img-fluid{max-width:100%;height:auto}.img-thumbnail{padding:.25rem;background-color:#fff;border:1px solid #dee2e6;border-radius:.25rem;max-width:100%;height:auto}.figure{display:inline-block}.figure-img{margin-bottom:.5rem;line-height:1}.figure-caption{font-size:90%;color:#6c757d}code{font-size:87.5%;color:#e83e8c;word-break:break-word}a>code{color:inherit}kbd{padding:.2rem .4rem;font-size:87.5%;color:#fff;background-color:#212529;border-radius:.2rem}kbd kbd{padding:0;font-size:100%;font-weight:700}pre{display:block;font-size:87.5%;color:#212529}pre code{font-size:inherit;color:inherit;word-break:normal}.pre-scrollable{max-height:340px;overflow-y:scroll}.container{width:100%;padding-right:15px;padding-left:15px;margin-right:auto;margin-left:auto}@media (min-width:576px){.container{max-width:540px}}@media (min-width:768px){.container{max-width:720px}}@media (min-width:992px){.container{max-width:960px}}@media (min-width:1200px){.container{max-width:1140px}}.container-fluid{width:100%;padding-right:15px;padding-left:15px;margin-right:auto;margin-left:auto}.row{display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;margin-right:-15px;margin-left:-15px}.no-gutters{margin-right:0;margin-left:0}.no-gutters>.col,.no-gutters>[class*=col-]{padding-right:0;padding-left:0}.col,.col-1,.col-10,.col-11,.col-12,.col-2,.col-3,.col-4,.col-5,.col-6,.col-7,.col-8,.col-9,.col-auto,.col-lg,.col-lg-1,.col-lg-10,.col-lg-11,.col-lg-12,.col-lg-2,.col-lg-3,.col-lg-4,.col-lg-5,.col-lg-6,.col-lg-7,.col-lg-8,.col-lg-9,.col-lg-auto,.col-md,.col-md-1,.col-md-10,.col-md-11,.col-md-12,.col-md-2,.col-md-3,.col-md-4,.col-md-5,.col-md-6,.col-md-7,.col-md-8,.col-md-9,.col-md-auto,.col-sm,.col-sm-1,.col-sm-10,.col-sm-11,.col-sm-12,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9,.col-sm-auto,.col-xl,.col-xl-1,.col-xl-10,.col-xl-11,.col-xl-12,.col-xl-2,.col-xl-3,.col-xl-4,.col-xl-5,.col-xl-6,.col-xl-7,.col-xl-8,.col-xl-9,.col-xl-auto{position:relative;width:100%;min-height:1px;padding-right:15px;padding-left:15px}.col{-ms-flex-preferred-size:0;flex-basis:0;-ms-flex-positive:1;flex-grow:1;max-width:100%}.col-auto{-ms-flex:0 0 auto;flex:0 0 auto;width:auto;max-width:none}.col-1{-ms-flex:0 0 8.333333%;flex:0 0 8.333333%;max-width:8.333333%}.col-2{-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-3{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-4{-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.col-5{-ms-flex:0 0 41.666667%;flex:0 0 41.666667%;max-width:41.666667%}.col-6{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-7{-ms-flex:0 0 58.333333%;flex:0 0 58.333333%;max-width:58.333333%}.col-8{-ms-flex:0 0 66.666667%;flex:0 0 66.666667%;max-width:66.666667%}.col-9{-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.col-10{-ms-flex:0 0 83.333333%;flex:0 0 83.333333%;max-width:83.333333%}.col-11{-ms-flex:0 0 91.666667%;flex:0 0 91.666667%;max-width:91.666667%}.col-12{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.order-first{-ms-flex-order:-1;order:-1}.order-last{-ms-flex-order:13;order:13}.order-0{-ms-flex-order:0;order:0}.order-1{-ms-flex-order:1;order:1}.order-2{-ms-flex-order:2;order:2}.order-3{-ms-flex-order:3;order:3}.order-4{-ms-flex-order:4;order:4}.order-5{-ms-flex-order:5;order:5}.order-6{-ms-flex-order:6;order:6}.order-7{-ms-flex-order:7;order:7}.order-8{-ms-flex-order:8;order:8}.order-9{-ms-flex-order:9;order:9}.order-10{-ms-flex-order:10;order:10}.order-11{-ms-flex-order:11;order:11}.order-12{-ms-flex-order:12;order:12}.offset-1{margin-left:8.333333%}.offset-2{margin-left:16.666667%}.offset-3{margin-left:25%}.offset-4{margin-left:33.333333%}.offset-5{margin-left:41.666667%}.offset-6{margin-left:50%}.offset-7{margin-left:58.333333%}.offset-8{margin-left:66.666667%}.offset-9{margin-left:75%}.offset-10{margin-left:83.333333%}.offset-11{margin-left:91.666667%}@media (min-width:576px){.col-sm{-ms-flex-preferred-size:0;flex-basis:0;-ms-flex-positive:1;flex-grow:1;max-width:100%}.col-sm-auto{-ms-flex:0 0 auto;flex:0 0 auto;width:auto;max-width:none}.col-sm-1{-ms-flex:0 0 8.333333%;flex:0 0 8.333333%;max-width:8.333333%}.col-sm-2{-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-sm-3{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-sm-4{-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.col-sm-5{-ms-flex:0 0 41.666667%;flex:0 0 41.666667%;max-width:41.666667%}.col-sm-6{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-sm-7{-ms-flex:0 0 58.333333%;flex:0 0 58.333333%;max-width:58.333333%}.col-sm-8{-ms-flex:0 0 66.666667%;flex:0 0 66.666667%;max-width:66.666667%}.col-sm-9{-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.col-sm-10{-ms-flex:0 0 83.333333%;flex:0 0 83.333333%;max-width:83.333333%}.col-sm-11{-ms-flex:0 0 91.666667%;flex:0 0 91.666667%;max-width:91.666667%}.col-sm-12{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.order-sm-first{-ms-flex-order:-1;order:-1}.order-sm-last{-ms-flex-order:13;order:13}.order-sm-0{-ms-flex-order:0;order:0}.order-sm-1{-ms-flex-order:1;order:1}.order-sm-2{-ms-flex-order:2;order:2}.order-sm-3{-ms-flex-order:3;order:3}.order-sm-4{-ms-flex-order:4;order:4}.order-sm-5{-ms-flex-order:5;order:5}.order-sm-6{-ms-flex-order:6;order:6}.order-sm-7{-ms-flex-order:7;order:7}.order-sm-8{-ms-flex-order:8;order:8}.order-sm-9{-ms-flex-order:9;order:9}.order-sm-10{-ms-flex-order:10;order:10}.order-sm-11{-ms-flex-order:11;order:11}.order-sm-12{-ms-flex-order:12;order:12}.offset-sm-0{margin-left:0}.offset-sm-1{margin-left:8.333333%}.offset-sm-2{margin-left:16.666667%}.offset-sm-3{margin-left:25%}.offset-sm-4{margin-left:33.333333%}.offset-sm-5{margin-left:41.666667%}.offset-sm-6{margin-left:50%}.offset-sm-7{margin-left:58.333333%}.offset-sm-8{margin-left:66.666667%}.offset-sm-9{margin-left:75%}.offset-sm-10{margin-left:83.333333%}.offset-sm-11{margin-left:91.666667%}}@media (min-width:768px){.col-md{-ms-flex-preferred-size:0;flex-basis:0;-ms-flex-positive:1;flex-grow:1;max-width:100%}.col-md-auto{-ms-flex:0 0 auto;flex:0 0 auto;width:auto;max-width:none}.col-md-1{-ms-flex:0 0 8.333333%;flex:0 0 8.333333%;max-width:8.333333%}.col-md-2{-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-md-3{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-md-4{-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.col-md-5{-ms-flex:0 0 41.666667%;flex:0 0 41.666667%;max-width:41.666667%}.col-md-6{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-md-7{-ms-flex:0 0 58.333333%;flex:0 0 58.333333%;max-width:58.333333%}.col-md-8{-ms-flex:0 0 66.666667%;flex:0 0 66.666667%;max-width:66.666667%}.col-md-9{-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.col-md-10{-ms-flex:0 0 83.333333%;flex:0 0 83.333333%;max-width:83.333333%}.col-md-11{-ms-flex:0 0 91.666667%;flex:0 0 91.666667%;max-width:91.666667%}.col-md-12{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.order-md-first{-ms-flex-order:-1;order:-1}.order-md-last{-ms-flex-order:13;order:13}.order-md-0{-ms-flex-order:0;order:0}.order-md-1{-ms-flex-order:1;order:1}.order-md-2{-ms-flex-order:2;order:2}.order-md-3{-ms-flex-order:3;order:3}.order-md-4{-ms-flex-order:4;order:4}.order-md-5{-ms-flex-order:5;order:5}.order-md-6{-ms-flex-order:6;order:6}.order-md-7{-ms-flex-order:7;order:7}.order-md-8{-ms-flex-order:8;order:8}.order-md-9{-ms-flex-order:9;order:9}.order-md-10{-ms-flex-order:10;order:10}.order-md-11{-ms-flex-order:11;order:11}.order-md-12{-ms-flex-order:12;order:12}.offset-md-0{margin-left:0}.offset-md-1{margin-left:8.333333%}.offset-md-2{margin-left:16.666667%}.offset-md-3{margin-left:25%}.offset-md-4{margin-left:33.333333%}.offset-md-5{margin-left:41.666667%}.offset-md-6{margin-left:50%}.offset-md-7{margin-left:58.333333%}.offset-md-8{margin-left:66.666667%}.offset-md-9{margin-left:75%}.offset-md-10{margin-left:83.333333%}.offset-md-11{margin-left:91.666667%}}@media (min-width:992px){.col-lg{-ms-flex-preferred-size:0;flex-basis:0;-ms-flex-positive:1;flex-grow:1;max-width:100%}.col-lg-auto{-ms-flex:0 0 auto;flex:0 0 auto;width:auto;max-width:none}.col-lg-1{-ms-flex:0 0 8.333333%;flex:0 0 8.333333%;max-width:8.333333%}.col-lg-2{-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-lg-3{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-lg-4{-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.col-lg-5{-ms-flex:0 0 41.666667%;flex:0 0 41.666667%;max-width:41.666667%}.col-lg-6{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-lg-7{-ms-flex:0 0 58.333333%;flex:0 0 58.333333%;max-width:58.333333%}.col-lg-8{-ms-flex:0 0 66.666667%;flex:0 0 66.666667%;max-width:66.666667%}.col-lg-9{-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.col-lg-10{-ms-flex:0 0 83.333333%;flex:0 0 83.333333%;max-width:83.333333%}.col-lg-11{-ms-flex:0 0 91.666667%;flex:0 0 91.666667%;max-width:91.666667%}.col-lg-12{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.order-lg-first{-ms-flex-order:-1;order:-1}.order-lg-last{-ms-flex-order:13;order:13}.order-lg-0{-ms-flex-order:0;order:0}.order-lg-1{-ms-flex-order:1;order:1}.order-lg-2{-ms-flex-order:2;order:2}.order-lg-3{-ms-flex-order:3;order:3}.order-lg-4{-ms-flex-order:4;order:4}.order-lg-5{-ms-flex-order:5;order:5}.order-lg-6{-ms-flex-order:6;order:6}.order-lg-7{-ms-flex-order:7;order:7}.order-lg-8{-ms-flex-order:8;order:8}.order-lg-9{-ms-flex-order:9;order:9}.order-lg-10{-ms-flex-order:10;order:10}.order-lg-11{-ms-flex-order:11;order:11}.order-lg-12{-ms-flex-order:12;order:12}.offset-lg-0{margin-left:0}.offset-lg-1{margin-left:8.333333%}.offset-lg-2{margin-left:16.666667%}.offset-lg-3{margin-left:25%}.offset-lg-4{margin-left:33.333333%}.offset-lg-5{margin-left:41.666667%}.offset-lg-6{margin-left:50%}.offset-lg-7{margin-left:58.333333%}.offset-lg-8{margin-left:66.666667%}.offset-lg-9{margin-left:75%}.offset-lg-10{margin-left:83.333333%}.offset-lg-11{margin-left:91.666667%}}@media (min-width:1200px){.col-xl{-ms-flex-preferred-size:0;flex-basis:0;-ms-flex-positive:1;flex-grow:1;max-width:100%}.col-xl-auto{-ms-flex:0 0 auto;flex:0 0 auto;width:auto;max-width:none}.col-xl-1{-ms-flex:0 0 8.333333%;flex:0 0 8.333333%;max-width:8.333333%}.col-xl-2{-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-xl-3{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-xl-4{-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.col-xl-5{-ms-flex:0 0 41.666667%;flex:0 0 41.666667%;max-width:41.666667%}.col-xl-6{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-xl-7{-ms-flex:0 0 58.333333%;flex:0 0 58.333333%;max-width:58.333333%}.col-xl-8{-ms-flex:0 0 66.666667%;flex:0 0 66.666667%;max-width:66.666667%}.col-xl-9{-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.col-xl-10{-ms-flex:0 0 83.333333%;flex:0 0 83.333333%;max-width:83.333333%}.col-xl-11{-ms-flex:0 0 91.666667%;flex:0 0 91.666667%;max-width:91.666667%}.col-xl-12{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.order-xl-first{-ms-flex-order:-1;order:-1}.order-xl-last{-ms-flex-order:13;order:13}.order-xl-0{-ms-flex-order:0;order:0}.order-xl-1{-ms-flex-order:1;order:1}.order-xl-2{-ms-flex-order:2;order:2}.order-xl-3{-ms-flex-order:3;order:3}.order-xl-4{-ms-flex-order:4;order:4}.order-xl-5{-ms-flex-order:5;order:5}.order-xl-6{-ms-flex-order:6;order:6}.order-xl-7{-ms-flex-order:7;order:7}.order-xl-8{-ms-flex-order:8;order:8}.order-xl-9{-ms-flex-order:9;order:9}.order-xl-10{-ms-flex-order:10;order:10}.order-xl-11{-ms-flex-order:11;order:11}.order-xl-12{-ms-flex-order:12;order:12}.offset-xl-0{margin-left:0}.offset-xl-1{margin-left:8.333333%}.offset-xl-2{margin-left:16.666667%}.offset-xl-3{margin-left:25%}.offset-xl-4{margin-left:33.333333%}.offset-xl-5{margin-left:41.666667%}.offset-xl-6{margin-left:50%}.offset-xl-7{margin-left:58.333333%}.offset-xl-8{margin-left:66.666667%}.offset-xl-9{margin-left:75%}.offset-xl-10{margin-left:83.333333%}.offset-xl-11{margin-left:91.666667%}}.table{width:100%;margin-bottom:1rem;background-color:transparent}.table td,.table th{padding:.75rem;vertical-align:top;border-top:1px solid #dee2e6}.table thead th{vertical-align:bottom;border-bottom:2px solid #dee2e6}.table tbody+tbody{border-top:2px solid #dee2e6}.table .table{background-color:#fff}.table-sm td,.table-sm th{padding:.3rem}.table-bordered{border:1px solid #dee2e6}.table-bordered td,.table-bordered th{border:1px solid #dee2e6}.table-bordered thead td,.table-bordered thead th{border-bottom-width:2px}.table-borderless tbody+tbody,.table-borderless td,.table-borderless th,.table-borderless thead th{border:0}.table-striped tbody tr:nth-of-type(odd){background-color:rgba(0,0,0,.05)}.table-hover tbody tr:hover{background-color:rgba(0,0,0,.075)}.table-primary,.table-primary>td,.table-primary>th{background-color:#b8daff}.table-hover .table-primary:hover{background-color:#9fcdff}.table-hover .table-primary:hover>td,.table-hover .table-primary:hover>th{background-color:#9fcdff}.table-secondary,.table-secondary>td,.table-secondary>th{background-color:#d6d8db}.table-hover .table-secondary:hover{background-color:#c8cbcf}.table-hover .table-secondary:hover>td,.table-hover .table-secondary:hover>th{background-color:#c8cbcf}.table-success,.table-success>td,.table-success>th{background-color:#c3e6cb}.table-hover .table-success:hover{background-color:#b1dfbb}.table-hover .table-success:hover>td,.table-hover .table-success:hover>th{background-color:#b1dfbb}.table-info,.table-info>td,.table-info>th{background-color:#bee5eb}.table-hover .table-info:hover{background-color:#abdde5}.table-hover .table-info:hover>td,.table-hover .table-info:hover>th{background-color:#abdde5}.table-warning,.table-warning>td,.table-warning>th{background-color:#ffeeba}.table-hover .table-warning:hover{background-color:#ffe8a1}.table-hover .table-warning:hover>td,.table-hover .table-warning:hover>th{background-color:#ffe8a1}.table-danger,.table-danger>td,.table-danger>th{background-color:#f5c6cb}.table-hover .table-danger:hover{background-color:#f1b0b7}.table-hover .table-danger:hover>td,.table-hover .table-danger:hover>th{background-color:#f1b0b7}.table-light,.table-light>td,.table-light>th{background-color:#fdfdfe}.table-hover .table-light:hover{background-color:#ececf6}.table-hover .table-light:hover>td,.table-hover .table-light:hover>th{background-color:#ececf6}.table-dark,.table-dark>td,.table-dark>th{background-color:#c6c8ca}.table-hover .table-dark:hover{background-color:#b9bbbe}.table-hover .table-dark:hover>td,.table-hover .table-dark:hover>th{background-color:#b9bbbe}.table-active,.table-active>td,.table-active>th{background-color:rgba(0,0,0,.075)}.table-hover .table-active:hover{background-color:rgba(0,0,0,.075)}.table-hover .table-active:hover>td,.table-hover .table-active:hover>th{background-color:rgba(0,0,0,.075)}.table .thead-dark th{color:#fff;background-color:#212529;border-color:#32383e}.table .thead-light th{color:#495057;background-color:#e9ecef;border-color:#dee2e6}.table-dark{color:#fff;background-color:#212529}.table-dark td,.table-dark th,.table-dark thead th{border-color:#32383e}.table-dark.table-bordered{border:0}.table-dark.table-striped tbody tr:nth-of-type(odd){background-color:rgba(255,255,255,.05)}.table-dark.table-hover tbody tr:hover{background-color:rgba(255,255,255,.075)}@media (max-width:575.98px){.table-responsive-sm{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;-ms-overflow-style:-ms-autohiding-scrollbar}.table-responsive-sm>.table-bordered{border:0}}@media (max-width:767.98px){.table-responsive-md{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;-ms-overflow-style:-ms-autohiding-scrollbar}.table-responsive-md>.table-bordered{border:0}}@media (max-width:991.98px){.table-responsive-lg{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;-ms-overflow-style:-ms-autohiding-scrollbar}.table-responsive-lg>.table-bordered{border:0}}@media (max-width:1199.98px){.table-responsive-xl{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;-ms-overflow-style:-ms-autohiding-scrollbar}.table-responsive-xl>.table-bordered{border:0}}.table-responsive{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;-ms-overflow-style:-ms-autohiding-scrollbar}.table-responsive>.table-bordered{border:0}.form-control{display:block;width:100%;height:calc(2.25rem + 2px);padding:.375rem .75rem;font-size:1rem;line-height:1.5;color:#495057;background-color:#fff;background-clip:padding-box;border:1px solid #ced4da;border-radius:.25rem;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media screen and (prefers-reduced-motion:reduce){.form-control{transition:none}}.form-control::-ms-expand{background-color:transparent;border:0}.form-control:focus{color:#495057;background-color:#fff;border-color:#80bdff;outline:0;box-shadow:0 0 0 .2rem rgba(0,123,255,.25)}.form-control::-webkit-input-placeholder{color:#6c757d;opacity:1}.form-control::-moz-placeholder{color:#6c757d;opacity:1}.form-control:-ms-input-placeholder{color:#6c757d;opacity:1}.form-control::-ms-input-placeholder{color:#6c757d;opacity:1}.form-control::placeholder{color:#6c757d;opacity:1}.form-control:disabled,.form-control[readonly]{background-color:#e9ecef;opacity:1}select.form-control:focus::-ms-value{color:#495057;background-color:#fff}.form-control-file,.form-control-range{display:block;width:100%}.col-form-label{padding-top:calc(.375rem + 1px);padding-bottom:calc(.375rem + 1px);margin-bottom:0;font-size:inherit;line-height:1.5}.col-form-label-lg{padding-top:calc(.5rem + 1px);padding-bottom:calc(.5rem + 1px);font-size:1.25rem;line-height:1.5}.col-form-label-sm{padding-top:calc(.25rem + 1px);padding-bottom:calc(.25rem + 1px);font-size:.875rem;line-height:1.5}.form-control-plaintext{display:block;width:100%;padding-top:.375rem;padding-bottom:.375rem;margin-bottom:0;line-height:1.5;color:#212529;background-color:transparent;border:solid transparent;border-width:1px 0}.form-control-plaintext.form-control-lg,.form-control-plaintext.form-control-sm{padding-right:0;padding-left:0}.form-control-sm{height:calc(1.8125rem + 2px);padding:.25rem .5rem;font-size:.875rem;line-height:1.5;border-radius:.2rem}.form-control-lg{height:calc(2.875rem + 2px);padding:.5rem 1rem;font-size:1.25rem;line-height:1.5;border-radius:.3rem}select.form-control[multiple],select.form-control[size]{height:auto}textarea.form-control{height:auto}.form-group{margin-bottom:1rem}.form-text{display:block;margin-top:.25rem}.form-row{display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;margin-right:-5px;margin-left:-5px}.form-row>.col,.form-row>[class*=col-]{padding-right:5px;padding-left:5px}.form-check{position:relative;display:block;padding-left:1.25rem}.form-check-input{position:absolute;margin-top:.3rem;margin-left:-1.25rem}.form-check-input:disabled~.form-check-label{color:#6c757d}.form-check-label{margin-bottom:0}.form-check-inline{display:-ms-inline-flexbox;display:inline-flex;-ms-flex-align:center;align-items:center;padding-left:0;margin-right:.75rem}.form-check-inline .form-check-input{position:static;margin-top:0;margin-right:.3125rem;margin-left:0}.valid-feedback{display:none;width:100%;margin-top:.25rem;font-size:80%;color:#28a745}.valid-tooltip{position:absolute;top:100%;z-index:5;display:none;max-width:100%;padding:.25rem .5rem;margin-top:.1rem;font-size:.875rem;line-height:1.5;color:#fff;background-color:rgba(40,167,69,.9);border-radius:.25rem}.custom-select.is-valid,.form-control.is-valid,.was-validated .custom-select:valid,.was-validated .form-control:valid{border-color:#28a745}.custom-select.is-valid:focus,.form-control.is-valid:focus,.was-validated .custom-select:valid:focus,.was-validated .form-control:valid:focus{border-color:#28a745;box-shadow:0 0 0 .2rem rgba(40,167,69,.25)}.custom-select.is-valid~.valid-feedback,.custom-select.is-valid~.valid-tooltip,.form-control.is-valid~.valid-feedback,.form-control.is-valid~.valid-tooltip,.was-validated .custom-select:valid~.valid-feedback,.was-validated .custom-select:valid~.valid-tooltip,.was-validated .form-control:valid~.valid-feedback,.was-validated .form-control:valid~.valid-tooltip{display:block}.form-control-file.is-valid~.valid-feedback,.form-control-file.is-valid~.valid-tooltip,.was-validated .form-control-file:valid~.valid-feedback,.was-validated .form-control-file:valid~.valid-tooltip{display:block}.form-check-input.is-valid~.form-check-label,.was-validated .form-check-input:valid~.form-check-label{color:#28a745}.form-check-input.is-valid~.valid-feedback,.form-check-input.is-valid~.valid-tooltip,.was-validated .form-check-input:valid~.valid-feedback,.was-validated .form-check-input:valid~.valid-tooltip{display:block}.custom-control-input.is-valid~.custom-control-label,.was-validated .custom-control-input:valid~.custom-control-label{color:#28a745}.custom-control-input.is-valid~.custom-control-label::before,.was-validated .custom-control-input:valid~.custom-control-label::before{background-color:#71dd8a}.custom-control-input.is-valid~.valid-feedback,.custom-control-input.is-valid~.valid-tooltip,.was-validated .custom-control-input:valid~.valid-feedback,.was-validated .custom-control-input:valid~.valid-tooltip{display:block}.custom-control-input.is-valid:checked~.custom-control-label::before,.was-validated .custom-control-input:valid:checked~.custom-control-label::before{background-color:#34ce57}.custom-control-input.is-valid:focus~.custom-control-label::before,.was-validated .custom-control-input:valid:focus~.custom-control-label::before{box-shadow:0 0 0 1px #fff,0 0 0 .2rem rgba(40,167,69,.25)}.custom-file-input.is-valid~.custom-file-label,.was-validated .custom-file-input:valid~.custom-file-label{border-color:#28a745}.custom-file-input.is-valid~.custom-file-label::after,.was-validated .custom-file-input:valid~.custom-file-label::after{border-color:inherit}.custom-file-input.is-valid~.valid-feedback,.custom-file-input.is-valid~.valid-tooltip,.was-validated .custom-file-input:valid~.valid-feedback,.was-validated .custom-file-input:valid~.valid-tooltip{display:block}.custom-file-input.is-valid:focus~.custom-file-label,.was-validated .custom-file-input:valid:focus~.custom-file-label{box-shadow:0 0 0 .2rem rgba(40,167,69,.25)}.invalid-feedback{display:none;width:100%;margin-top:.25rem;font-size:80%;color:#dc3545}.invalid-tooltip{position:absolute;top:100%;z-index:5;display:none;max-width:100%;padding:.25rem .5rem;margin-top:.1rem;font-size:.875rem;line-height:1.5;color:#fff;background-color:rgba(220,53,69,.9);border-radius:.25rem}.custom-select.is-invalid,.form-control.is-invalid,.was-validated .custom-select:invalid,.was-validated .form-control:invalid{border-color:#dc3545}.custom-select.is-invalid:focus,.form-control.is-invalid:focus,.was-validated .custom-select:invalid:focus,.was-validated .form-control:invalid:focus{border-color:#dc3545;box-shadow:0 0 0 .2rem rgba(220,53,69,.25)}.custom-select.is-invalid~.invalid-feedback,.custom-select.is-invalid~.invalid-tooltip,.form-control.is-invalid~.invalid-feedback,.form-control.is-invalid~.invalid-tooltip,.was-validated .custom-select:invalid~.invalid-feedback,.was-validated .custom-select:invalid~.invalid-tooltip,.was-validated .form-control:invalid~.invalid-feedback,.was-validated .form-control:invalid~.invalid-tooltip{display:block}.form-control-file.is-invalid~.invalid-feedback,.form-control-file.is-invalid~.invalid-tooltip,.was-validated .form-control-file:invalid~.invalid-feedback,.was-validated .form-control-file:invalid~.invalid-tooltip{display:block}.form-check-input.is-invalid~.form-check-label,.was-validated .form-check-input:invalid~.form-check-label{color:#dc3545}.form-check-input.is-invalid~.invalid-feedback,.form-check-input.is-invalid~.invalid-tooltip,.was-validated .form-check-input:invalid~.invalid-feedback,.was-validated .form-check-input:invalid~.invalid-tooltip{display:block}.custom-control-input.is-invalid~.custom-control-label,.was-validated .custom-control-input:invalid~.custom-control-label{color:#dc3545}.custom-control-input.is-invalid~.custom-control-label::before,.was-validated .custom-control-input:invalid~.custom-control-label::before{background-color:#efa2a9}.custom-control-input.is-invalid~.invalid-feedback,.custom-control-input.is-invalid~.invalid-tooltip,.was-validated .custom-control-input:invalid~.invalid-feedback,.was-validated .custom-control-input:invalid~.invalid-tooltip{display:block}.custom-control-input.is-invalid:checked~.custom-control-label::before,.was-validated .custom-control-input:invalid:checked~.custom-control-label::before{background-color:#e4606d}.custom-control-input.is-invalid:focus~.custom-control-label::before,.was-validated .custom-control-input:invalid:focus~.custom-control-label::before{box-shadow:0 0 0 1px #fff,0 0 0 .2rem rgba(220,53,69,.25)}.custom-file-input.is-invalid~.custom-file-label,.was-validated .custom-file-input:invalid~.custom-file-label{border-color:#dc3545}.custom-file-input.is-invalid~.custom-file-label::after,.was-validated .custom-file-input:invalid~.custom-file-label::after{border-color:inherit}.custom-file-input.is-invalid~.invalid-feedback,.custom-file-input.is-invalid~.invalid-tooltip,.was-validated .custom-file-input:invalid~.invalid-feedback,.was-validated .custom-file-input:invalid~.invalid-tooltip{display:block}.custom-file-input.is-invalid:focus~.custom-file-label,.was-validated .custom-file-input:invalid:focus~.custom-file-label{box-shadow:0 0 0 .2rem rgba(220,53,69,.25)}.form-inline{display:-ms-flexbox;display:flex;-ms-flex-flow:row wrap;flex-flow:row wrap;-ms-flex-align:center;align-items:center}.form-inline .form-check{width:100%}@media (min-width:576px){.form-inline label{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;margin-bottom:0}.form-inline .form-group{display:-ms-flexbox;display:flex;-ms-flex:0 0 auto;flex:0 0 auto;-ms-flex-flow:row wrap;flex-flow:row wrap;-ms-flex-align:center;align-items:center;margin-bottom:0}.form-inline .form-control{display:inline-block;width:auto;vertical-align:middle}.form-inline .form-control-plaintext{display:inline-block}.form-inline .custom-select,.form-inline .input-group{width:auto}.form-inline .form-check{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;width:auto;padding-left:0}.form-inline .form-check-input{position:relative;margin-top:0;margin-right:.25rem;margin-left:0}.form-inline .custom-control{-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center}.form-inline .custom-control-label{margin-bottom:0}}.btn{display:inline-block;font-weight:400;text-align:center;white-space:nowrap;vertical-align:middle;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;border:1px solid transparent;padding:.375rem .75rem;font-size:1rem;line-height:1.5;border-radius:.25rem;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media screen and (prefers-reduced-motion:reduce){.btn{transition:none}}.btn:focus,.btn:hover{text-decoration:none}.btn.focus,.btn:focus{outline:0;box-shadow:0 0 0 .2rem rgba(0,123,255,.25)}.btn.disabled,.btn:disabled{opacity:.65}.btn:not(:disabled):not(.disabled){cursor:pointer}a.btn.disabled,fieldset:disabled a.btn{pointer-events:none}.btn-primary{color:#fff;background-color:#007bff;border-color:#007bff}.btn-primary:hover{color:#fff;background-color:#0069d9;border-color:#0062cc}.btn-primary.focus,.btn-primary:focus{box-shadow:0 0 0 .2rem rgba(0,123,255,.5)}.btn-primary.disabled,.btn-primary:disabled{color:#fff;background-color:#007bff;border-color:#007bff}.btn-primary:not(:disabled):not(.disabled).active,.btn-primary:not(:disabled):not(.disabled):active,.show>.btn-primary.dropdown-toggle{color:#fff;background-color:#0062cc;border-color:#005cbf}.btn-primary:not(:disabled):not(.disabled).active:focus,.btn-primary:not(:disabled):not(.disabled):active:focus,.show>.btn-primary.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(0,123,255,.5)}.btn-secondary{color:#fff;background-color:#6c757d;border-color:#6c757d}.btn-secondary:hover{color:#fff;background-color:#5a6268;border-color:#545b62}.btn-secondary.focus,.btn-secondary:focus{box-shadow:0 0 0 .2rem rgba(108,117,125,.5)}.btn-secondary.disabled,.btn-secondary:disabled{color:#fff;background-color:#6c757d;border-color:#6c757d}.btn-secondary:not(:disabled):not(.disabled).active,.btn-secondary:not(:disabled):not(.disabled):active,.show>.btn-secondary.dropdown-toggle{color:#fff;background-color:#545b62;border-color:#4e555b}.btn-secondary:not(:disabled):not(.disabled).active:focus,.btn-secondary:not(:disabled):not(.disabled):active:focus,.show>.btn-secondary.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(108,117,125,.5)}.btn-success{color:#fff;background-color:#28a745;border-color:#28a745}.btn-success:hover{color:#fff;background-color:#218838;border-color:#1e7e34}.btn-success.focus,.btn-success:focus{box-shadow:0 0 0 .2rem rgba(40,167,69,.5)}.btn-success.disabled,.btn-success:disabled{color:#fff;background-color:#28a745;border-color:#28a745}.btn-success:not(:disabled):not(.disabled).active,.btn-success:not(:disabled):not(.disabled):active,.show>.btn-success.dropdown-toggle{color:#fff;background-color:#1e7e34;border-color:#1c7430}.btn-success:not(:disabled):not(.disabled).active:focus,.btn-success:not(:disabled):not(.disabled):active:focus,.show>.btn-success.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(40,167,69,.5)}.btn-info{color:#fff;background-color:#17a2b8;border-color:#17a2b8}.btn-info:hover{color:#fff;background-color:#138496;border-color:#117a8b}.btn-info.focus,.btn-info:focus{box-shadow:0 0 0 .2rem rgba(23,162,184,.5)}.btn-info.disabled,.btn-info:disabled{color:#fff;background-color:#17a2b8;border-color:#17a2b8}.btn-info:not(:disabled):not(.disabled).active,.btn-info:not(:disabled):not(.disabled):active,.show>.btn-info.dropdown-toggle{color:#fff;background-color:#117a8b;border-color:#10707f}.btn-info:not(:disabled):not(.disabled).active:focus,.btn-info:not(:disabled):not(.disabled):active:focus,.show>.btn-info.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(23,162,184,.5)}.btn-warning{color:#212529;background-color:#ffc107;border-color:#ffc107}.btn-warning:hover{color:#212529;background-color:#e0a800;border-color:#d39e00}.btn-warning.focus,.btn-warning:focus{box-shadow:0 0 0 .2rem rgba(255,193,7,.5)}.btn-warning.disabled,.btn-warning:disabled{color:#212529;background-color:#ffc107;border-color:#ffc107}.btn-warning:not(:disabled):not(.disabled).active,.btn-warning:not(:disabled):not(.disabled):active,.show>.btn-warning.dropdown-toggle{color:#212529;background-color:#d39e00;border-color:#c69500}.btn-warning:not(:disabled):not(.disabled).active:focus,.btn-warning:not(:disabled):not(.disabled):active:focus,.show>.btn-warning.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(255,193,7,.5)}.btn-danger{color:#fff;background-color:#dc3545;border-color:#dc3545}.btn-danger:hover{color:#fff;background-color:#c82333;border-color:#bd2130}.btn-danger.focus,.btn-danger:focus{box-shadow:0 0 0 .2rem rgba(220,53,69,.5)}.btn-danger.disabled,.btn-danger:disabled{color:#fff;background-color:#dc3545;border-color:#dc3545}.btn-danger:not(:disabled):not(.disabled).active,.btn-danger:not(:disabled):not(.disabled):active,.show>.btn-danger.dropdown-toggle{color:#fff;background-color:#bd2130;border-color:#b21f2d}.btn-danger:not(:disabled):not(.disabled).active:focus,.btn-danger:not(:disabled):not(.disabled):active:focus,.show>.btn-danger.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(220,53,69,.5)}.btn-light{color:#212529;background-color:#f8f9fa;border-color:#f8f9fa}.btn-light:hover{color:#212529;background-color:#e2e6ea;border-color:#dae0e5}.btn-light.focus,.btn-light:focus{box-shadow:0 0 0 .2rem rgba(248,249,250,.5)}.btn-light.disabled,.btn-light:disabled{color:#212529;background-color:#f8f9fa;border-color:#f8f9fa}.btn-light:not(:disabled):not(.disabled).active,.btn-light:not(:disabled):not(.disabled):active,.show>.btn-light.dropdown-toggle{color:#212529;background-color:#dae0e5;border-color:#d3d9df}.btn-light:not(:disabled):not(.disabled).active:focus,.btn-light:not(:disabled):not(.disabled):active:focus,.show>.btn-light.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(248,249,250,.5)}.btn-dark{color:#fff;background-color:#343a40;border-color:#343a40}.btn-dark:hover{color:#fff;background-color:#23272b;border-color:#1d2124}.btn-dark.focus,.btn-dark:focus{box-shadow:0 0 0 .2rem rgba(52,58,64,.5)}.btn-dark.disabled,.btn-dark:disabled{color:#fff;background-color:#343a40;border-color:#343a40}.btn-dark:not(:disabled):not(.disabled).active,.btn-dark:not(:disabled):not(.disabled):active,.show>.btn-dark.dropdown-toggle{color:#fff;background-color:#1d2124;border-color:#171a1d}.btn-dark:not(:disabled):not(.disabled).active:focus,.btn-dark:not(:disabled):not(.disabled):active:focus,.show>.btn-dark.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(52,58,64,.5)}.btn-outline-primary{color:#007bff;background-color:transparent;background-image:none;border-color:#007bff}.btn-outline-primary:hover{color:#fff;background-color:#007bff;border-color:#007bff}.btn-outline-primary.focus,.btn-outline-primary:focus{box-shadow:0 0 0 .2rem rgba(0,123,255,.5)}.btn-outline-primary.disabled,.btn-outline-primary:disabled{color:#007bff;background-color:transparent}.btn-outline-primary:not(:disabled):not(.disabled).active,.btn-outline-primary:not(:disabled):not(.disabled):active,.show>.btn-outline-primary.dropdown-toggle{color:#fff;background-color:#007bff;border-color:#007bff}.btn-outline-primary:not(:disabled):not(.disabled).active:focus,.btn-outline-primary:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-primary.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(0,123,255,.5)}.btn-outline-secondary{color:#6c757d;background-color:transparent;background-image:none;border-color:#6c757d}.btn-outline-secondary:hover{color:#fff;background-color:#6c757d;border-color:#6c757d}.btn-outline-secondary.focus,.btn-outline-secondary:focus{box-shadow:0 0 0 .2rem rgba(108,117,125,.5)}.btn-outline-secondary.disabled,.btn-outline-secondary:disabled{color:#6c757d;background-color:transparent}.btn-outline-secondary:not(:disabled):not(.disabled).active,.btn-outline-secondary:not(:disabled):not(.disabled):active,.show>.btn-outline-secondary.dropdown-toggle{color:#fff;background-color:#6c757d;border-color:#6c757d}.btn-outline-secondary:not(:disabled):not(.disabled).active:focus,.btn-outline-secondary:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-secondary.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(108,117,125,.5)}.btn-outline-success{color:#28a745;background-color:transparent;background-image:none;border-color:#28a745}.btn-outline-success:hover{color:#fff;background-color:#28a745;border-color:#28a745}.btn-outline-success.focus,.btn-outline-success:focus{box-shadow:0 0 0 .2rem rgba(40,167,69,.5)}.btn-outline-success.disabled,.btn-outline-success:disabled{color:#28a745;background-color:transparent}.btn-outline-success:not(:disabled):not(.disabled).active,.btn-outline-success:not(:disabled):not(.disabled):active,.show>.btn-outline-success.dropdown-toggle{color:#fff;background-color:#28a745;border-color:#28a745}.btn-outline-success:not(:disabled):not(.disabled).active:focus,.btn-outline-success:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-success.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(40,167,69,.5)}.btn-outline-info{color:#17a2b8;background-color:transparent;background-image:none;border-color:#17a2b8}.btn-outline-info:hover{color:#fff;background-color:#17a2b8;border-color:#17a2b8}.btn-outline-info.focus,.btn-outline-info:focus{box-shadow:0 0 0 .2rem rgba(23,162,184,.5)}.btn-outline-info.disabled,.btn-outline-info:disabled{color:#17a2b8;background-color:transparent}.btn-outline-info:not(:disabled):not(.disabled).active,.btn-outline-info:not(:disabled):not(.disabled):active,.show>.btn-outline-info.dropdown-toggle{color:#fff;background-color:#17a2b8;border-color:#17a2b8}.btn-outline-info:not(:disabled):not(.disabled).active:focus,.btn-outline-info:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-info.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(23,162,184,.5)}.btn-outline-warning{color:#ffc107;background-color:transparent;background-image:none;border-color:#ffc107}.btn-outline-warning:hover{color:#212529;background-color:#ffc107;border-color:#ffc107}.btn-outline-warning.focus,.btn-outline-warning:focus{box-shadow:0 0 0 .2rem rgba(255,193,7,.5)}.btn-outline-warning.disabled,.btn-outline-warning:disabled{color:#ffc107;background-color:transparent}.btn-outline-warning:not(:disabled):not(.disabled).active,.btn-outline-warning:not(:disabled):not(.disabled):active,.show>.btn-outline-warning.dropdown-toggle{color:#212529;background-color:#ffc107;border-color:#ffc107}.btn-outline-warning:not(:disabled):not(.disabled).active:focus,.btn-outline-warning:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-warning.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(255,193,7,.5)}.btn-outline-danger{color:#dc3545;background-color:transparent;background-image:none;border-color:#dc3545}.btn-outline-danger:hover{color:#fff;background-color:#dc3545;border-color:#dc3545}.btn-outline-danger.focus,.btn-outline-danger:focus{box-shadow:0 0 0 .2rem rgba(220,53,69,.5)}.btn-outline-danger.disabled,.btn-outline-danger:disabled{color:#dc3545;background-color:transparent}.btn-outline-danger:not(:disabled):not(.disabled).active,.btn-outline-danger:not(:disabled):not(.disabled):active,.show>.btn-outline-danger.dropdown-toggle{color:#fff;background-color:#dc3545;border-color:#dc3545}.btn-outline-danger:not(:disabled):not(.disabled).active:focus,.btn-outline-danger:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-danger.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(220,53,69,.5)}.btn-outline-light{color:#f8f9fa;background-color:transparent;background-image:none;border-color:#f8f9fa}.btn-outline-light:hover{color:#212529;background-color:#f8f9fa;border-color:#f8f9fa}.btn-outline-light.focus,.btn-outline-light:focus{box-shadow:0 0 0 .2rem rgba(248,249,250,.5)}.btn-outline-light.disabled,.btn-outline-light:disabled{color:#f8f9fa;background-color:transparent}.btn-outline-light:not(:disabled):not(.disabled).active,.btn-outline-light:not(:disabled):not(.disabled):active,.show>.btn-outline-light.dropdown-toggle{color:#212529;background-color:#f8f9fa;border-color:#f8f9fa}.btn-outline-light:not(:disabled):not(.disabled).active:focus,.btn-outline-light:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-light.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(248,249,250,.5)}.btn-outline-dark{color:#343a40;background-color:transparent;background-image:none;border-color:#343a40}.btn-outline-dark:hover{color:#fff;background-color:#343a40;border-color:#343a40}.btn-outline-dark.focus,.btn-outline-dark:focus{box-shadow:0 0 0 .2rem rgba(52,58,64,.5)}.btn-outline-dark.disabled,.btn-outline-dark:disabled{color:#343a40;background-color:transparent}.btn-outline-dark:not(:disabled):not(.disabled).active,.btn-outline-dark:not(:disabled):not(.disabled):active,.show>.btn-outline-dark.dropdown-toggle{color:#fff;background-color:#343a40;border-color:#343a40}.btn-outline-dark:not(:disabled):not(.disabled).active:focus,.btn-outline-dark:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-dark.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(52,58,64,.5)}.btn-link{font-weight:400;color:#007bff;background-color:transparent}.btn-link:hover{color:#0056b3;text-decoration:underline;background-color:transparent;border-color:transparent}.btn-link.focus,.btn-link:focus{text-decoration:underline;border-color:transparent;box-shadow:none}.btn-link.disabled,.btn-link:disabled{color:#6c757d;pointer-events:none}.btn-group-lg>.btn,.btn-lg{padding:.5rem 1rem;font-size:1.25rem;line-height:1.5;border-radius:.3rem}.btn-group-sm>.btn,.btn-sm{padding:.25rem .5rem;font-size:.875rem;line-height:1.5;border-radius:.2rem}.btn-block{display:block;width:100%}.btn-block+.btn-block{margin-top:.5rem}input[type=button].btn-block,input[type=reset].btn-block,input[type=submit].btn-block{width:100%}.fade{transition:opacity .15s linear}@media screen and (prefers-reduced-motion:reduce){.fade{transition:none}}.fade:not(.show){opacity:0}.collapse:not(.show){display:none}.collapsing{position:relative;height:0;overflow:hidden;transition:height .35s ease}@media screen and (prefers-reduced-motion:reduce){.collapsing{transition:none}}.dropdown,.dropleft,.dropright,.dropup{position:relative}.dropdown-toggle::after{display:inline-block;width:0;height:0;margin-left:.255em;vertical-align:.255em;content:"";border-top:.3em solid;border-right:.3em solid transparent;border-bottom:0;border-left:.3em solid transparent}.dropdown-toggle:empty::after{margin-left:0}.dropdown-menu{position:absolute;top:100%;left:0;z-index:1000;display:none;float:left;min-width:10rem;padding:.5rem 0;margin:.125rem 0 0;font-size:1rem;color:#212529;text-align:left;list-style:none;background-color:#fff;background-clip:padding-box;border:1px solid rgba(0,0,0,.15);border-radius:.25rem}.dropdown-menu-right{right:0;left:auto}.dropup .dropdown-menu{top:auto;bottom:100%;margin-top:0;margin-bottom:.125rem}.dropup .dropdown-toggle::after{display:inline-block;width:0;height:0;margin-left:.255em;vertical-align:.255em;content:"";border-top:0;border-right:.3em solid transparent;border-bottom:.3em solid;border-left:.3em solid transparent}.dropup .dropdown-toggle:empty::after{margin-left:0}.dropright .dropdown-menu{top:0;right:auto;left:100%;margin-top:0;margin-left:.125rem}.dropright .dropdown-toggle::after{display:inline-block;width:0;height:0;margin-left:.255em;vertical-align:.255em;content:"";border-top:.3em solid transparent;border-right:0;border-bottom:.3em solid transparent;border-left:.3em solid}.dropright .dropdown-toggle:empty::after{margin-left:0}.dropright .dropdown-toggle::after{vertical-align:0}.dropleft .dropdown-menu{top:0;right:100%;left:auto;margin-top:0;margin-right:.125rem}.dropleft .dropdown-toggle::after{display:inline-block;width:0;height:0;margin-left:.255em;vertical-align:.255em;content:""}.dropleft .dropdown-toggle::after{display:none}.dropleft .dropdown-toggle::before{display:inline-block;width:0;height:0;margin-right:.255em;vertical-align:.255em;content:"";border-top:.3em solid transparent;border-right:.3em solid;border-bottom:.3em solid transparent}.dropleft .dropdown-toggle:empty::after{margin-left:0}.dropleft .dropdown-toggle::before{vertical-align:0}.dropdown-menu[x-placement^=bottom],.dropdown-menu[x-placement^=left],.dropdown-menu[x-placement^=right],.dropdown-menu[x-placement^=top]{right:auto;bottom:auto}.dropdown-divider{height:0;margin:.5rem 0;overflow:hidden;border-top:1px solid #e9ecef}.dropdown-item{display:block;width:100%;padding:.25rem 1.5rem;clear:both;font-weight:400;color:#212529;text-align:inherit;white-space:nowrap;background-color:transparent;border:0}.dropdown-item:focus,.dropdown-item:hover{color:#16181b;text-decoration:none;background-color:#f8f9fa}.dropdown-item.active,.dropdown-item:active{color:#fff;text-decoration:none;background-color:#007bff}.dropdown-item.disabled,.dropdown-item:disabled{color:#6c757d;background-color:transparent}.dropdown-menu.show{display:block}.dropdown-header{display:block;padding:.5rem 1.5rem;margin-bottom:0;font-size:.875rem;color:#6c757d;white-space:nowrap}.dropdown-item-text{display:block;padding:.25rem 1.5rem;color:#212529}.btn-group,.btn-group-vertical{position:relative;display:-ms-inline-flexbox;display:inline-flex;vertical-align:middle}.btn-group-vertical>.btn,.btn-group>.btn{position:relative;-ms-flex:0 1 auto;flex:0 1 auto}.btn-group-vertical>.btn:hover,.btn-group>.btn:hover{z-index:1}.btn-group-vertical>.btn.active,.btn-group-vertical>.btn:active,.btn-group-vertical>.btn:focus,.btn-group>.btn.active,.btn-group>.btn:active,.btn-group>.btn:focus{z-index:1}.btn-group .btn+.btn,.btn-group .btn+.btn-group,.btn-group .btn-group+.btn,.btn-group .btn-group+.btn-group,.btn-group-vertical .btn+.btn,.btn-group-vertical .btn+.btn-group,.btn-group-vertical .btn-group+.btn,.btn-group-vertical .btn-group+.btn-group{margin-left:-1px}.btn-toolbar{display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-ms-flex-pack:start;justify-content:flex-start}.btn-toolbar .input-group{width:auto}.btn-group>.btn:first-child{margin-left:0}.btn-group>.btn-group:not(:last-child)>.btn,.btn-group>.btn:not(:last-child):not(.dropdown-toggle){border-top-right-radius:0;border-bottom-right-radius:0}.btn-group>.btn-group:not(:first-child)>.btn,.btn-group>.btn:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.dropdown-toggle-split{padding-right:.5625rem;padding-left:.5625rem}.dropdown-toggle-split::after,.dropright .dropdown-toggle-split::after,.dropup .dropdown-toggle-split::after{margin-left:0}.dropleft .dropdown-toggle-split::before{margin-right:0}.btn-group-sm>.btn+.dropdown-toggle-split,.btn-sm+.dropdown-toggle-split{padding-right:.375rem;padding-left:.375rem}.btn-group-lg>.btn+.dropdown-toggle-split,.btn-lg+.dropdown-toggle-split{padding-right:.75rem;padding-left:.75rem}.btn-group-vertical{-ms-flex-direction:column;flex-direction:column;-ms-flex-align:start;align-items:flex-start;-ms-flex-pack:center;justify-content:center}.btn-group-vertical .btn,.btn-group-vertical .btn-group{width:100%}.btn-group-vertical>.btn+.btn,.btn-group-vertical>.btn+.btn-group,.btn-group-vertical>.btn-group+.btn,.btn-group-vertical>.btn-group+.btn-group{margin-top:-1px;margin-left:0}.btn-group-vertical>.btn-group:not(:last-child)>.btn,.btn-group-vertical>.btn:not(:last-child):not(.dropdown-toggle){border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn-group:not(:first-child)>.btn,.btn-group-vertical>.btn:not(:first-child){border-top-left-radius:0;border-top-right-radius:0}.btn-group-toggle>.btn,.btn-group-toggle>.btn-group>.btn{margin-bottom:0}.btn-group-toggle>.btn input[type=checkbox],.btn-group-toggle>.btn input[type=radio],.btn-group-toggle>.btn-group>.btn input[type=checkbox],.btn-group-toggle>.btn-group>.btn input[type=radio]{position:absolute;clip:rect(0,0,0,0);pointer-events:none}.input-group{position:relative;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-ms-flex-align:stretch;align-items:stretch;width:100%}.input-group>.custom-file,.input-group>.custom-select,.input-group>.form-control{position:relative;-ms-flex:1 1 auto;flex:1 1 auto;width:1%;margin-bottom:0}.input-group>.custom-file+.custom-file,.input-group>.custom-file+.custom-select,.input-group>.custom-file+.form-control,.input-group>.custom-select+.custom-file,.input-group>.custom-select+.custom-select,.input-group>.custom-select+.form-control,.input-group>.form-control+.custom-file,.input-group>.form-control+.custom-select,.input-group>.form-control+.form-control{margin-left:-1px}.input-group>.custom-file .custom-file-input:focus~.custom-file-label,.input-group>.custom-select:focus,.input-group>.form-control:focus{z-index:3}.input-group>.custom-file .custom-file-input:focus{z-index:4}.input-group>.custom-select:not(:last-child),.input-group>.form-control:not(:last-child){border-top-right-radius:0;border-bottom-right-radius:0}.input-group>.custom-select:not(:first-child),.input-group>.form-control:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.input-group>.custom-file{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center}.input-group>.custom-file:not(:last-child) .custom-file-label,.input-group>.custom-file:not(:last-child) .custom-file-label::after{border-top-right-radius:0;border-bottom-right-radius:0}.input-group>.custom-file:not(:first-child) .custom-file-label{border-top-left-radius:0;border-bottom-left-radius:0}.input-group-append,.input-group-prepend{display:-ms-flexbox;display:flex}.input-group-append .btn,.input-group-prepend .btn{position:relative;z-index:2}.input-group-append .btn+.btn,.input-group-append .btn+.input-group-text,.input-group-append .input-group-text+.btn,.input-group-append .input-group-text+.input-group-text,.input-group-prepend .btn+.btn,.input-group-prepend .btn+.input-group-text,.input-group-prepend .input-group-text+.btn,.input-group-prepend .input-group-text+.input-group-text{margin-left:-1px}.input-group-prepend{margin-right:-1px}.input-group-append{margin-left:-1px}.input-group-text{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;padding:.375rem .75rem;margin-bottom:0;font-size:1rem;font-weight:400;line-height:1.5;color:#495057;text-align:center;white-space:nowrap;background-color:#e9ecef;border:1px solid #ced4da;border-radius:.25rem}.input-group-text input[type=checkbox],.input-group-text input[type=radio]{margin-top:0}.input-group-lg>.form-control,.input-group-lg>.input-group-append>.btn,.input-group-lg>.input-group-append>.input-group-text,.input-group-lg>.input-group-prepend>.btn,.input-group-lg>.input-group-prepend>.input-group-text{height:calc(2.875rem + 2px);padding:.5rem 1rem;font-size:1.25rem;line-height:1.5;border-radius:.3rem}.input-group-sm>.form-control,.input-group-sm>.input-group-append>.btn,.input-group-sm>.input-group-append>.input-group-text,.input-group-sm>.input-group-prepend>.btn,.input-group-sm>.input-group-prepend>.input-group-text{height:calc(1.8125rem + 2px);padding:.25rem .5rem;font-size:.875rem;line-height:1.5;border-radius:.2rem}.input-group>.input-group-append:last-child>.btn:not(:last-child):not(.dropdown-toggle),.input-group>.input-group-append:last-child>.input-group-text:not(:last-child),.input-group>.input-group-append:not(:last-child)>.btn,.input-group>.input-group-append:not(:last-child)>.input-group-text,.input-group>.input-group-prepend>.btn,.input-group>.input-group-prepend>.input-group-text{border-top-right-radius:0;border-bottom-right-radius:0}.input-group>.input-group-append>.btn,.input-group>.input-group-append>.input-group-text,.input-group>.input-group-prepend:first-child>.btn:not(:first-child),.input-group>.input-group-prepend:first-child>.input-group-text:not(:first-child),.input-group>.input-group-prepend:not(:first-child)>.btn,.input-group>.input-group-prepend:not(:first-child)>.input-group-text{border-top-left-radius:0;border-bottom-left-radius:0}.custom-control{position:relative;display:block;min-height:1.5rem;padding-left:1.5rem}.custom-control-inline{display:-ms-inline-flexbox;display:inline-flex;margin-right:1rem}.custom-control-input{position:absolute;z-index:-1;opacity:0}.custom-control-input:checked~.custom-control-label::before{color:#fff;background-color:#007bff}.custom-control-input:focus~.custom-control-label::before{box-shadow:0 0 0 1px #fff,0 0 0 .2rem rgba(0,123,255,.25)}.custom-control-input:active~.custom-control-label::before{color:#fff;background-color:#b3d7ff}.custom-control-input:disabled~.custom-control-label{color:#6c757d}.custom-control-input:disabled~.custom-control-label::before{background-color:#e9ecef}.custom-control-label{position:relative;margin-bottom:0}.custom-control-label::before{position:absolute;top:.25rem;left:-1.5rem;display:block;width:1rem;height:1rem;pointer-events:none;content:"";-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;background-color:#dee2e6}.custom-control-label::after{position:absolute;top:.25rem;left:-1.5rem;display:block;width:1rem;height:1rem;content:"";background-repeat:no-repeat;background-position:center center;background-size:50% 50%}.custom-checkbox .custom-control-label::before{border-radius:.25rem}.custom-checkbox .custom-control-input:checked~.custom-control-label::before{background-color:#007bff}.custom-checkbox .custom-control-input:checked~.custom-control-label::after{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath fill='%23fff' d='M6.564.75l-3.59 3.612-1.538-1.55L0 4.26 2.974 7.25 8 2.193z'/%3E%3C/svg%3E")}.custom-checkbox .custom-control-input:indeterminate~.custom-control-label::before{background-color:#007bff}.custom-checkbox .custom-control-input:indeterminate~.custom-control-label::after{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 4'%3E%3Cpath stroke='%23fff' d='M0 2h4'/%3E%3C/svg%3E")}.custom-checkbox .custom-control-input:disabled:checked~.custom-control-label::before{background-color:rgba(0,123,255,.5)}.custom-checkbox .custom-control-input:disabled:indeterminate~.custom-control-label::before{background-color:rgba(0,123,255,.5)}.custom-radio .custom-control-label::before{border-radius:50%}.custom-radio .custom-control-input:checked~.custom-control-label::before{background-color:#007bff}.custom-radio .custom-control-input:checked~.custom-control-label::after{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3E%3Ccircle r='3' fill='%23fff'/%3E%3C/svg%3E")}.custom-radio .custom-control-input:disabled:checked~.custom-control-label::before{background-color:rgba(0,123,255,.5)}.custom-select{display:inline-block;width:100%;height:calc(2.25rem + 2px);padding:.375rem 1.75rem .375rem .75rem;line-height:1.5;color:#495057;vertical-align:middle;background:#fff url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 5'%3E%3Cpath fill='%23343a40' d='M2 0L0 2h4zm0 5L0 3h4z'/%3E%3C/svg%3E") no-repeat right .75rem center;background-size:8px 10px;border:1px solid #ced4da;border-radius:.25rem;-webkit-appearance:none;-moz-appearance:none;appearance:none}.custom-select:focus{border-color:#80bdff;outline:0;box-shadow:0 0 0 .2rem rgba(128,189,255,.5)}.custom-select:focus::-ms-value{color:#495057;background-color:#fff}.custom-select[multiple],.custom-select[size]:not([size="1"]){height:auto;padding-right:.75rem;background-image:none}.custom-select:disabled{color:#6c757d;background-color:#e9ecef}.custom-select::-ms-expand{opacity:0}.custom-select-sm{height:calc(1.8125rem + 2px);padding-top:.375rem;padding-bottom:.375rem;font-size:75%}.custom-select-lg{height:calc(2.875rem + 2px);padding-top:.375rem;padding-bottom:.375rem;font-size:125%}.custom-file{position:relative;display:inline-block;width:100%;height:calc(2.25rem + 2px);margin-bottom:0}.custom-file-input{position:relative;z-index:2;width:100%;height:calc(2.25rem + 2px);margin:0;opacity:0}.custom-file-input:focus~.custom-file-label{border-color:#80bdff;box-shadow:0 0 0 .2rem rgba(0,123,255,.25)}.custom-file-input:focus~.custom-file-label::after{border-color:#80bdff}.custom-file-input:disabled~.custom-file-label{background-color:#e9ecef}.custom-file-input:lang(en)~.custom-file-label::after{content:"Browse"}.custom-file-label{position:absolute;top:0;right:0;left:0;z-index:1;height:calc(2.25rem + 2px);padding:.375rem .75rem;line-height:1.5;color:#495057;background-color:#fff;border:1px solid #ced4da;border-radius:.25rem}.custom-file-label::after{position:absolute;top:0;right:0;bottom:0;z-index:3;display:block;height:2.25rem;padding:.375rem .75rem;line-height:1.5;color:#495057;content:"Browse";background-color:#e9ecef;border-left:1px solid #ced4da;border-radius:0 .25rem .25rem 0}.custom-range{width:100%;padding-left:0;background-color:transparent;-webkit-appearance:none;-moz-appearance:none;appearance:none}.custom-range:focus{outline:0}.custom-range:focus::-webkit-slider-thumb{box-shadow:0 0 0 1px #fff,0 0 0 .2rem rgba(0,123,255,.25)}.custom-range:focus::-moz-range-thumb{box-shadow:0 0 0 1px #fff,0 0 0 .2rem rgba(0,123,255,.25)}.custom-range:focus::-ms-thumb{box-shadow:0 0 0 1px #fff,0 0 0 .2rem rgba(0,123,255,.25)}.custom-range::-moz-focus-outer{border:0}.custom-range::-webkit-slider-thumb{width:1rem;height:1rem;margin-top:-.25rem;background-color:#007bff;border:0;border-radius:1rem;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;-webkit-appearance:none;appearance:none}@media screen and (prefers-reduced-motion:reduce){.custom-range::-webkit-slider-thumb{transition:none}}.custom-range::-webkit-slider-thumb:active{background-color:#b3d7ff}.custom-range::-webkit-slider-runnable-track{width:100%;height:.5rem;color:transparent;cursor:pointer;background-color:#dee2e6;border-color:transparent;border-radius:1rem}.custom-range::-moz-range-thumb{width:1rem;height:1rem;background-color:#007bff;border:0;border-radius:1rem;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;-moz-appearance:none;appearance:none}@media screen and (prefers-reduced-motion:reduce){.custom-range::-moz-range-thumb{transition:none}}.custom-range::-moz-range-thumb:active{background-color:#b3d7ff}.custom-range::-moz-range-track{width:100%;height:.5rem;color:transparent;cursor:pointer;background-color:#dee2e6;border-color:transparent;border-radius:1rem}.custom-range::-ms-thumb{width:1rem;height:1rem;margin-top:0;margin-right:.2rem;margin-left:.2rem;background-color:#007bff;border:0;border-radius:1rem;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;appearance:none}@media screen and (prefers-reduced-motion:reduce){.custom-range::-ms-thumb{transition:none}}.custom-range::-ms-thumb:active{background-color:#b3d7ff}.custom-range::-ms-track{width:100%;height:.5rem;color:transparent;cursor:pointer;background-color:transparent;border-color:transparent;border-width:.5rem}.custom-range::-ms-fill-lower{background-color:#dee2e6;border-radius:1rem}.custom-range::-ms-fill-upper{margin-right:15px;background-color:#dee2e6;border-radius:1rem}.custom-control-label::before,.custom-file-label,.custom-select{transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media screen and (prefers-reduced-motion:reduce){.custom-control-label::before,.custom-file-label,.custom-select{transition:none}}.nav{display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;padding-left:0;margin-bottom:0;list-style:none}.nav-link{display:block;padding:.5rem 1rem}.nav-link:focus,.nav-link:hover{text-decoration:none}.nav-link.disabled{color:#6c757d}.nav-tabs{border-bottom:1px solid #dee2e6}.nav-tabs .nav-item{margin-bottom:-1px}.nav-tabs .nav-link{border:1px solid transparent;border-top-left-radius:.25rem;border-top-right-radius:.25rem}.nav-tabs .nav-link:focus,.nav-tabs .nav-link:hover{border-color:#e9ecef #e9ecef #dee2e6}.nav-tabs .nav-link.disabled{color:#6c757d;background-color:transparent;border-color:transparent}.nav-tabs .nav-item.show .nav-link,.nav-tabs .nav-link.active{color:#495057;background-color:#fff;border-color:#dee2e6 #dee2e6 #fff}.nav-tabs .dropdown-menu{margin-top:-1px;border-top-left-radius:0;border-top-right-radius:0}.nav-pills .nav-link{border-radius:.25rem}.nav-pills .nav-link.active,.nav-pills .show>.nav-link{color:#fff;background-color:#007bff}.nav-fill .nav-item{-ms-flex:1 1 auto;flex:1 1 auto;text-align:center}.nav-justified .nav-item{-ms-flex-preferred-size:0;flex-basis:0;-ms-flex-positive:1;flex-grow:1;text-align:center}.tab-content>.tab-pane{display:none}.tab-content>.active{display:block}.navbar{position:relative;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-ms-flex-align:center;align-items:center;-ms-flex-pack:justify;justify-content:space-between;padding:.5rem 1rem}.navbar>.container,.navbar>.container-fluid{display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-ms-flex-align:center;align-items:center;-ms-flex-pack:justify;justify-content:space-between}.navbar-brand{display:inline-block;padding-top:.3125rem;padding-bottom:.3125rem;margin-right:1rem;font-size:1.25rem;line-height:inherit;white-space:nowrap}.navbar-brand:focus,.navbar-brand:hover{text-decoration:none}.navbar-nav{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;padding-left:0;margin-bottom:0;list-style:none}.navbar-nav .nav-link{padding-right:0;padding-left:0}.navbar-nav .dropdown-menu{position:static;float:none}.navbar-text{display:inline-block;padding-top:.5rem;padding-bottom:.5rem}.navbar-collapse{-ms-flex-preferred-size:100%;flex-basis:100%;-ms-flex-positive:1;flex-grow:1;-ms-flex-align:center;align-items:center}.navbar-toggler{padding:.25rem .75rem;font-size:1.25rem;line-height:1;background-color:transparent;border:1px solid transparent;border-radius:.25rem}.navbar-toggler:focus,.navbar-toggler:hover{text-decoration:none}.navbar-toggler:not(:disabled):not(.disabled){cursor:pointer}.navbar-toggler-icon{display:inline-block;width:1.5em;height:1.5em;vertical-align:middle;content:"";background:no-repeat center center;background-size:100% 100%}@media (max-width:575.98px){.navbar-expand-sm>.container,.navbar-expand-sm>.container-fluid{padding-right:0;padding-left:0}}@media (min-width:576px){.navbar-expand-sm{-ms-flex-flow:row nowrap;flex-flow:row nowrap;-ms-flex-pack:start;justify-content:flex-start}.navbar-expand-sm .navbar-nav{-ms-flex-direction:row;flex-direction:row}.navbar-expand-sm .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-sm .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand-sm>.container,.navbar-expand-sm>.container-fluid{-ms-flex-wrap:nowrap;flex-wrap:nowrap}.navbar-expand-sm .navbar-collapse{display:-ms-flexbox!important;display:flex!important;-ms-flex-preferred-size:auto;flex-basis:auto}.navbar-expand-sm .navbar-toggler{display:none}}@media (max-width:767.98px){.navbar-expand-md>.container,.navbar-expand-md>.container-fluid{padding-right:0;padding-left:0}}@media (min-width:768px){.navbar-expand-md{-ms-flex-flow:row nowrap;flex-flow:row nowrap;-ms-flex-pack:start;justify-content:flex-start}.navbar-expand-md .navbar-nav{-ms-flex-direction:row;flex-direction:row}.navbar-expand-md .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-md .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand-md>.container,.navbar-expand-md>.container-fluid{-ms-flex-wrap:nowrap;flex-wrap:nowrap}.navbar-expand-md .navbar-collapse{display:-ms-flexbox!important;display:flex!important;-ms-flex-preferred-size:auto;flex-basis:auto}.navbar-expand-md .navbar-toggler{display:none}}@media (max-width:991.98px){.navbar-expand-lg>.container,.navbar-expand-lg>.container-fluid{padding-right:0;padding-left:0}}@media (min-width:992px){.navbar-expand-lg{-ms-flex-flow:row nowrap;flex-flow:row nowrap;-ms-flex-pack:start;justify-content:flex-start}.navbar-expand-lg .navbar-nav{-ms-flex-direction:row;flex-direction:row}.navbar-expand-lg .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-lg .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand-lg>.container,.navbar-expand-lg>.container-fluid{-ms-flex-wrap:nowrap;flex-wrap:nowrap}.navbar-expand-lg .navbar-collapse{display:-ms-flexbox!important;display:flex!important;-ms-flex-preferred-size:auto;flex-basis:auto}.navbar-expand-lg .navbar-toggler{display:none}}@media (max-width:1199.98px){.navbar-expand-xl>.container,.navbar-expand-xl>.container-fluid{padding-right:0;padding-left:0}}@media (min-width:1200px){.navbar-expand-xl{-ms-flex-flow:row nowrap;flex-flow:row nowrap;-ms-flex-pack:start;justify-content:flex-start}.navbar-expand-xl .navbar-nav{-ms-flex-direction:row;flex-direction:row}.navbar-expand-xl .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-xl .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand-xl>.container,.navbar-expand-xl>.container-fluid{-ms-flex-wrap:nowrap;flex-wrap:nowrap}.navbar-expand-xl .navbar-collapse{display:-ms-flexbox!important;display:flex!important;-ms-flex-preferred-size:auto;flex-basis:auto}.navbar-expand-xl .navbar-toggler{display:none}}.navbar-expand{-ms-flex-flow:row nowrap;flex-flow:row nowrap;-ms-flex-pack:start;justify-content:flex-start}.navbar-expand>.container,.navbar-expand>.container-fluid{padding-right:0;padding-left:0}.navbar-expand .navbar-nav{-ms-flex-direction:row;flex-direction:row}.navbar-expand .navbar-nav .dropdown-menu{position:absolute}.navbar-expand .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand>.container,.navbar-expand>.container-fluid{-ms-flex-wrap:nowrap;flex-wrap:nowrap}.navbar-expand .navbar-collapse{display:-ms-flexbox!important;display:flex!important;-ms-flex-preferred-size:auto;flex-basis:auto}.navbar-expand .navbar-toggler{display:none}.navbar-light .navbar-brand{color:rgba(0,0,0,.9)}.navbar-light .navbar-brand:focus,.navbar-light .navbar-brand:hover{color:rgba(0,0,0,.9)}.navbar-light .navbar-nav .nav-link{color:rgba(0,0,0,.5)}.navbar-light .navbar-nav .nav-link:focus,.navbar-light .navbar-nav .nav-link:hover{color:rgba(0,0,0,.7)}.navbar-light .navbar-nav .nav-link.disabled{color:rgba(0,0,0,.3)}.navbar-light .navbar-nav .active>.nav-link,.navbar-light .navbar-nav .nav-link.active,.navbar-light .navbar-nav .nav-link.show,.navbar-light .navbar-nav .show>.nav-link{color:rgba(0,0,0,.9)}.navbar-light .navbar-toggler{color:rgba(0,0,0,.5);border-color:rgba(0,0,0,.1)}.navbar-light .navbar-toggler-icon{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg viewBox='0 0 30 30' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='rgba(0, 0, 0, 0.5)' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 7h22M4 15h22M4 23h22'/%3E%3C/svg%3E")}.navbar-light .navbar-text{color:rgba(0,0,0,.5)}.navbar-light .navbar-text a{color:rgba(0,0,0,.9)}.navbar-light .navbar-text a:focus,.navbar-light .navbar-text a:hover{color:rgba(0,0,0,.9)}.navbar-dark .navbar-brand{color:#fff}.navbar-dark .navbar-brand:focus,.navbar-dark .navbar-brand:hover{color:#fff}.navbar-dark .navbar-nav .nav-link{color:rgba(255,255,255,.5)}.navbar-dark .navbar-nav .nav-link:focus,.navbar-dark .navbar-nav .nav-link:hover{color:rgba(255,255,255,.75)}.navbar-dark .navbar-nav .nav-link.disabled{color:rgba(255,255,255,.25)}.navbar-dark .navbar-nav .active>.nav-link,.navbar-dark .navbar-nav .nav-link.active,.navbar-dark .navbar-nav .nav-link.show,.navbar-dark .navbar-nav .show>.nav-link{color:#fff}.navbar-dark .navbar-toggler{color:rgba(255,255,255,.5);border-color:rgba(255,255,255,.1)}.navbar-dark .navbar-toggler-icon{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg viewBox='0 0 30 30' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='rgba(255, 255, 255, 0.5)' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 7h22M4 15h22M4 23h22'/%3E%3C/svg%3E")}.navbar-dark .navbar-text{color:rgba(255,255,255,.5)}.navbar-dark .navbar-text a{color:#fff}.navbar-dark .navbar-text a:focus,.navbar-dark .navbar-text a:hover{color:#fff}.card{position:relative;display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;min-width:0;word-wrap:break-word;background-color:#fff;background-clip:border-box;border:1px solid rgba(0,0,0,.125);border-radius:.25rem}.card>hr{margin-right:0;margin-left:0}.card>.list-group:first-child .list-group-item:first-child{border-top-left-radius:.25rem;border-top-right-radius:.25rem}.card>.list-group:last-child .list-group-item:last-child{border-bottom-right-radius:.25rem;border-bottom-left-radius:.25rem}.card-body{-ms-flex:1 1 auto;flex:1 1 auto;padding:1.25rem}.card-title{margin-bottom:.75rem}.card-subtitle{margin-top:-.375rem;margin-bottom:0}.card-text:last-child{margin-bottom:0}.card-link:hover{text-decoration:none}.card-link+.card-link{margin-left:1.25rem}.card-header{padding:.75rem 1.25rem;margin-bottom:0;background-color:rgba(0,0,0,.03);border-bottom:1px solid rgba(0,0,0,.125)}.card-header:first-child{border-radius:calc(.25rem - 1px) calc(.25rem - 1px) 0 0}.card-header+.list-group .list-group-item:first-child{border-top:0}.card-footer{padding:.75rem 1.25rem;background-color:rgba(0,0,0,.03);border-top:1px solid rgba(0,0,0,.125)}.card-footer:last-child{border-radius:0 0 calc(.25rem - 1px) calc(.25rem - 1px)}.card-header-tabs{margin-right:-.625rem;margin-bottom:-.75rem;margin-left:-.625rem;border-bottom:0}.card-header-pills{margin-right:-.625rem;margin-left:-.625rem}.card-img-overlay{position:absolute;top:0;right:0;bottom:0;left:0;padding:1.25rem}.card-img{width:100%;border-radius:calc(.25rem - 1px)}.card-img-top{width:100%;border-top-left-radius:calc(.25rem - 1px);border-top-right-radius:calc(.25rem - 1px)}.card-img-bottom{width:100%;border-bottom-right-radius:calc(.25rem - 1px);border-bottom-left-radius:calc(.25rem - 1px)}.card-deck{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column}.card-deck .card{margin-bottom:15px}@media (min-width:576px){.card-deck{-ms-flex-flow:row wrap;flex-flow:row wrap;margin-right:-15px;margin-left:-15px}.card-deck .card{display:-ms-flexbox;display:flex;-ms-flex:1 0 0%;flex:1 0 0%;-ms-flex-direction:column;flex-direction:column;margin-right:15px;margin-bottom:0;margin-left:15px}}.card-group{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column}.card-group>.card{margin-bottom:15px}@media (min-width:576px){.card-group{-ms-flex-flow:row wrap;flex-flow:row wrap}.card-group>.card{-ms-flex:1 0 0%;flex:1 0 0%;margin-bottom:0}.card-group>.card+.card{margin-left:0;border-left:0}.card-group>.card:first-child{border-top-right-radius:0;border-bottom-right-radius:0}.card-group>.card:first-child .card-header,.card-group>.card:first-child .card-img-top{border-top-right-radius:0}.card-group>.card:first-child .card-footer,.card-group>.card:first-child .card-img-bottom{border-bottom-right-radius:0}.card-group>.card:last-child{border-top-left-radius:0;border-bottom-left-radius:0}.card-group>.card:last-child .card-header,.card-group>.card:last-child .card-img-top{border-top-left-radius:0}.card-group>.card:last-child .card-footer,.card-group>.card:last-child .card-img-bottom{border-bottom-left-radius:0}.card-group>.card:only-child{border-radius:.25rem}.card-group>.card:only-child .card-header,.card-group>.card:only-child .card-img-top{border-top-left-radius:.25rem;border-top-right-radius:.25rem}.card-group>.card:only-child .card-footer,.card-group>.card:only-child .card-img-bottom{border-bottom-right-radius:.25rem;border-bottom-left-radius:.25rem}.card-group>.card:not(:first-child):not(:last-child):not(:only-child){border-radius:0}.card-group>.card:not(:first-child):not(:last-child):not(:only-child) .card-footer,.card-group>.card:not(:first-child):not(:last-child):not(:only-child) .card-header,.card-group>.card:not(:first-child):not(:last-child):not(:only-child) .card-img-bottom,.card-group>.card:not(:first-child):not(:last-child):not(:only-child) .card-img-top{border-radius:0}}.card-columns .card{margin-bottom:.75rem}@media (min-width:576px){.card-columns{-webkit-column-count:3;-moz-column-count:3;column-count:3;-webkit-column-gap:1.25rem;-moz-column-gap:1.25rem;column-gap:1.25rem;orphans:1;widows:1}.card-columns .card{display:inline-block;width:100%}}.accordion .card:not(:first-of-type):not(:last-of-type){border-bottom:0;border-radius:0}.accordion .card:not(:first-of-type) .card-header:first-child{border-radius:0}.accordion .card:first-of-type{border-bottom:0;border-bottom-right-radius:0;border-bottom-left-radius:0}.accordion .card:last-of-type{border-top-left-radius:0;border-top-right-radius:0}.breadcrumb{display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;padding:.75rem 1rem;margin-bottom:1rem;list-style:none;background-color:#e9ecef;border-radius:.25rem}.breadcrumb-item+.breadcrumb-item{padding-left:.5rem}.breadcrumb-item+.breadcrumb-item::before{display:inline-block;padding-right:.5rem;color:#6c757d;content:"/"}.breadcrumb-item+.breadcrumb-item:hover::before{text-decoration:underline}.breadcrumb-item+.breadcrumb-item:hover::before{text-decoration:none}.breadcrumb-item.active{color:#6c757d}.pagination{display:-ms-flexbox;display:flex;padding-left:0;list-style:none;border-radius:.25rem}.page-link{position:relative;display:block;padding:.5rem .75rem;margin-left:-1px;line-height:1.25;color:#007bff;background-color:#fff;border:1px solid #dee2e6}.page-link:hover{z-index:2;color:#0056b3;text-decoration:none;background-color:#e9ecef;border-color:#dee2e6}.page-link:focus{z-index:2;outline:0;box-shadow:0 0 0 .2rem rgba(0,123,255,.25)}.page-link:not(:disabled):not(.disabled){cursor:pointer}.page-item:first-child .page-link{margin-left:0;border-top-left-radius:.25rem;border-bottom-left-radius:.25rem}.page-item:last-child .page-link{border-top-right-radius:.25rem;border-bottom-right-radius:.25rem}.page-item.active .page-link{z-index:1;color:#fff;background-color:#007bff;border-color:#007bff}.page-item.disabled .page-link{color:#6c757d;pointer-events:none;cursor:auto;background-color:#fff;border-color:#dee2e6}.pagination-lg .page-link{padding:.75rem 1.5rem;font-size:1.25rem;line-height:1.5}.pagination-lg .page-item:first-child .page-link{border-top-left-radius:.3rem;border-bottom-left-radius:.3rem}.pagination-lg .page-item:last-child .page-link{border-top-right-radius:.3rem;border-bottom-right-radius:.3rem}.pagination-sm .page-link{padding:.25rem .5rem;font-size:.875rem;line-height:1.5}.pagination-sm .page-item:first-child .page-link{border-top-left-radius:.2rem;border-bottom-left-radius:.2rem}.pagination-sm .page-item:last-child .page-link{border-top-right-radius:.2rem;border-bottom-right-radius:.2rem}.badge{display:inline-block;padding:.25em .4em;font-size:75%;font-weight:700;line-height:1;text-align:center;white-space:nowrap;vertical-align:baseline;border-radius:.25rem}.badge:empty{display:none}.btn .badge{position:relative;top:-1px}.badge-pill{padding-right:.6em;padding-left:.6em;border-radius:10rem}.badge-primary{color:#fff;background-color:#007bff}.badge-primary[href]:focus,.badge-primary[href]:hover{color:#fff;text-decoration:none;background-color:#0062cc}.badge-secondary{color:#fff;background-color:#6c757d}.badge-secondary[href]:focus,.badge-secondary[href]:hover{color:#fff;text-decoration:none;background-color:#545b62}.badge-success{color:#fff;background-color:#28a745}.badge-success[href]:focus,.badge-success[href]:hover{color:#fff;text-decoration:none;background-color:#1e7e34}.badge-info{color:#fff;background-color:#17a2b8}.badge-info[href]:focus,.badge-info[href]:hover{color:#fff;text-decoration:none;background-color:#117a8b}.badge-warning{color:#212529;background-color:#ffc107}.badge-warning[href]:focus,.badge-warning[href]:hover{color:#212529;text-decoration:none;background-color:#d39e00}.badge-danger{color:#fff;background-color:#dc3545}.badge-danger[href]:focus,.badge-danger[href]:hover{color:#fff;text-decoration:none;background-color:#bd2130}.badge-light{color:#212529;background-color:#f8f9fa}.badge-light[href]:focus,.badge-light[href]:hover{color:#212529;text-decoration:none;background-color:#dae0e5}.badge-dark{color:#fff;background-color:#343a40}.badge-dark[href]:focus,.badge-dark[href]:hover{color:#fff;text-decoration:none;background-color:#1d2124}.jumbotron{padding:2rem 1rem;margin-bottom:2rem;background-color:#e9ecef;border-radius:.3rem}@media (min-width:576px){.jumbotron{padding:4rem 2rem}}.jumbotron-fluid{padding-right:0;padding-left:0;border-radius:0}.alert{position:relative;padding:.75rem 1.25rem;margin-bottom:1rem;border:1px solid transparent;border-radius:.25rem}.alert-heading{color:inherit}.alert-link{font-weight:700}.alert-dismissible{padding-right:4rem}.alert-dismissible .close{position:absolute;top:0;right:0;padding:.75rem 1.25rem;color:inherit}.alert-primary{color:#004085;background-color:#cce5ff;border-color:#b8daff}.alert-primary hr{border-top-color:#9fcdff}.alert-primary .alert-link{color:#002752}.alert-secondary{color:#383d41;background-color:#e2e3e5;border-color:#d6d8db}.alert-secondary hr{border-top-color:#c8cbcf}.alert-secondary .alert-link{color:#202326}.alert-success{color:#155724;background-color:#d4edda;border-color:#c3e6cb}.alert-success hr{border-top-color:#b1dfbb}.alert-success .alert-link{color:#0b2e13}.alert-info{color:#0c5460;background-color:#d1ecf1;border-color:#bee5eb}.alert-info hr{border-top-color:#abdde5}.alert-info .alert-link{color:#062c33}.alert-warning{color:#856404;background-color:#fff3cd;border-color:#ffeeba}.alert-warning hr{border-top-color:#ffe8a1}.alert-warning .alert-link{color:#533f03}.alert-danger{color:#721c24;background-color:#f8d7da;border-color:#f5c6cb}.alert-danger hr{border-top-color:#f1b0b7}.alert-danger .alert-link{color:#491217}.alert-light{color:#818182;background-color:#fefefe;border-color:#fdfdfe}.alert-light hr{border-top-color:#ececf6}.alert-light .alert-link{color:#686868}.alert-dark{color:#1b1e21;background-color:#d6d8d9;border-color:#c6c8ca}.alert-dark hr{border-top-color:#b9bbbe}.alert-dark .alert-link{color:#040505}@-webkit-keyframes progress-bar-stripes{from{background-position:1rem 0}to{background-position:0 0}}@keyframes progress-bar-stripes{from{background-position:1rem 0}to{background-position:0 0}}.progress{display:-ms-flexbox;display:flex;height:1rem;overflow:hidden;font-size:.75rem;background-color:#e9ecef;border-radius:.25rem}.progress-bar{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;-ms-flex-pack:center;justify-content:center;color:#fff;text-align:center;white-space:nowrap;background-color:#007bff;transition:width .6s ease}@media screen and (prefers-reduced-motion:reduce){.progress-bar{transition:none}}.progress-bar-striped{background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-size:1rem 1rem}.progress-bar-animated{-webkit-animation:progress-bar-stripes 1s linear infinite;animation:progress-bar-stripes 1s linear infinite}.media{display:-ms-flexbox;display:flex;-ms-flex-align:start;align-items:flex-start}.media-body{-ms-flex:1;flex:1}.list-group{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;padding-left:0;margin-bottom:0}.list-group-item-action{width:100%;color:#495057;text-align:inherit}.list-group-item-action:focus,.list-group-item-action:hover{color:#495057;text-decoration:none;background-color:#f8f9fa}.list-group-item-action:active{color:#212529;background-color:#e9ecef}.list-group-item{position:relative;display:block;padding:.75rem 1.25rem;margin-bottom:-1px;background-color:#fff;border:1px solid rgba(0,0,0,.125)}.list-group-item:first-child{border-top-left-radius:.25rem;border-top-right-radius:.25rem}.list-group-item:last-child{margin-bottom:0;border-bottom-right-radius:.25rem;border-bottom-left-radius:.25rem}.list-group-item:focus,.list-group-item:hover{z-index:1;text-decoration:none}.list-group-item.disabled,.list-group-item:disabled{color:#6c757d;background-color:#fff}.list-group-item.active{z-index:2;color:#fff;background-color:#007bff;border-color:#007bff}.list-group-flush .list-group-item{border-right:0;border-left:0;border-radius:0}.list-group-flush:first-child .list-group-item:first-child{border-top:0}.list-group-flush:last-child .list-group-item:last-child{border-bottom:0}.list-group-item-primary{color:#004085;background-color:#b8daff}.list-group-item-primary.list-group-item-action:focus,.list-group-item-primary.list-group-item-action:hover{color:#004085;background-color:#9fcdff}.list-group-item-primary.list-group-item-action.active{color:#fff;background-color:#004085;border-color:#004085}.list-group-item-secondary{color:#383d41;background-color:#d6d8db}.list-group-item-secondary.list-group-item-action:focus,.list-group-item-secondary.list-group-item-action:hover{color:#383d41;background-color:#c8cbcf}.list-group-item-secondary.list-group-item-action.active{color:#fff;background-color:#383d41;border-color:#383d41}.list-group-item-success{color:#155724;background-color:#c3e6cb}.list-group-item-success.list-group-item-action:focus,.list-group-item-success.list-group-item-action:hover{color:#155724;background-color:#b1dfbb}.list-group-item-success.list-group-item-action.active{color:#fff;background-color:#155724;border-color:#155724}.list-group-item-info{color:#0c5460;background-color:#bee5eb}.list-group-item-info.list-group-item-action:focus,.list-group-item-info.list-group-item-action:hover{color:#0c5460;background-color:#abdde5}.list-group-item-info.list-group-item-action.active{color:#fff;background-color:#0c5460;border-color:#0c5460}.list-group-item-warning{color:#856404;background-color:#ffeeba}.list-group-item-warning.list-group-item-action:focus,.list-group-item-warning.list-group-item-action:hover{color:#856404;background-color:#ffe8a1}.list-group-item-warning.list-group-item-action.active{color:#fff;background-color:#856404;border-color:#856404}.list-group-item-danger{color:#721c24;background-color:#f5c6cb}.list-group-item-danger.list-group-item-action:focus,.list-group-item-danger.list-group-item-action:hover{color:#721c24;background-color:#f1b0b7}.list-group-item-danger.list-group-item-action.active{color:#fff;background-color:#721c24;border-color:#721c24}.list-group-item-light{color:#818182;background-color:#fdfdfe}.list-group-item-light.list-group-item-action:focus,.list-group-item-light.list-group-item-action:hover{color:#818182;background-color:#ececf6}.list-group-item-light.list-group-item-action.active{color:#fff;background-color:#818182;border-color:#818182}.list-group-item-dark{color:#1b1e21;background-color:#c6c8ca}.list-group-item-dark.list-group-item-action:focus,.list-group-item-dark.list-group-item-action:hover{color:#1b1e21;background-color:#b9bbbe}.list-group-item-dark.list-group-item-action.active{color:#fff;background-color:#1b1e21;border-color:#1b1e21}.close{float:right;font-size:1.5rem;font-weight:700;line-height:1;color:#000;text-shadow:0 1px 0 #fff;opacity:.5}.close:not(:disabled):not(.disabled){cursor:pointer}.close:not(:disabled):not(.disabled):focus,.close:not(:disabled):not(.disabled):hover{color:#000;text-decoration:none;opacity:.75}button.close{padding:0;background-color:transparent;border:0;-webkit-appearance:none}.modal-open{overflow:hidden}.modal-open .modal{overflow-x:hidden;overflow-y:auto}.modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1050;display:none;overflow:hidden;outline:0}.modal-dialog{position:relative;width:auto;margin:.5rem;pointer-events:none}.modal.fade .modal-dialog{transition:-webkit-transform .3s ease-out;transition:transform .3s ease-out;transition:transform .3s ease-out,-webkit-transform .3s ease-out;-webkit-transform:translate(0,-25%);transform:translate(0,-25%)}@media screen and (prefers-reduced-motion:reduce){.modal.fade .modal-dialog{transition:none}}.modal.show .modal-dialog{-webkit-transform:translate(0,0);transform:translate(0,0)}.modal-dialog-centered{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;min-height:calc(100% - (.5rem * 2))}.modal-dialog-centered::before{display:block;height:calc(100vh - (.5rem * 2));content:""}.modal-content{position:relative;display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;width:100%;pointer-events:auto;background-color:#fff;background-clip:padding-box;border:1px solid rgba(0,0,0,.2);border-radius:.3rem;outline:0}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1040;background-color:#000}.modal-backdrop.fade{opacity:0}.modal-backdrop.show{opacity:.5}.modal-header{display:-ms-flexbox;display:flex;-ms-flex-align:start;align-items:flex-start;-ms-flex-pack:justify;justify-content:space-between;padding:1rem;border-bottom:1px solid #e9ecef;border-top-left-radius:.3rem;border-top-right-radius:.3rem}.modal-header .close{padding:1rem;margin:-1rem -1rem -1rem auto}.modal-title{margin-bottom:0;line-height:1.5}.modal-body{position:relative;-ms-flex:1 1 auto;flex:1 1 auto;padding:1rem}.modal-footer{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:end;justify-content:flex-end;padding:1rem;border-top:1px solid #e9ecef}.modal-footer>:not(:first-child){margin-left:.25rem}.modal-footer>:not(:last-child){margin-right:.25rem}.modal-scrollbar-measure{position:absolute;top:-9999px;width:50px;height:50px;overflow:scroll}@media (min-width:576px){.modal-dialog{max-width:500px;margin:1.75rem auto}.modal-dialog-centered{min-height:calc(100% - (1.75rem * 2))}.modal-dialog-centered::before{height:calc(100vh - (1.75rem * 2))}.modal-sm{max-width:300px}}@media (min-width:992px){.modal-lg{max-width:800px}}.tooltip{position:absolute;z-index:1070;display:block;margin:0;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";font-style:normal;font-weight:400;line-height:1.5;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;white-space:normal;line-break:auto;font-size:.875rem;word-wrap:break-word;opacity:0}.tooltip.show{opacity:.9}.tooltip .arrow{position:absolute;display:block;width:.8rem;height:.4rem}.tooltip .arrow::before{position:absolute;content:"";border-color:transparent;border-style:solid}.bs-tooltip-auto[x-placement^=top],.bs-tooltip-top{padding:.4rem 0}.bs-tooltip-auto[x-placement^=top] .arrow,.bs-tooltip-top .arrow{bottom:0}.bs-tooltip-auto[x-placement^=top] .arrow::before,.bs-tooltip-top .arrow::before{top:0;border-width:.4rem .4rem 0;border-top-color:#000}.bs-tooltip-auto[x-placement^=right],.bs-tooltip-right{padding:0 .4rem}.bs-tooltip-auto[x-placement^=right] .arrow,.bs-tooltip-right .arrow{left:0;width:.4rem;height:.8rem}.bs-tooltip-auto[x-placement^=right] .arrow::before,.bs-tooltip-right .arrow::before{right:0;border-width:.4rem .4rem .4rem 0;border-right-color:#000}.bs-tooltip-auto[x-placement^=bottom],.bs-tooltip-bottom{padding:.4rem 0}.bs-tooltip-auto[x-placement^=bottom] .arrow,.bs-tooltip-bottom .arrow{top:0}.bs-tooltip-auto[x-placement^=bottom] .arrow::before,.bs-tooltip-bottom .arrow::before{bottom:0;border-width:0 .4rem .4rem;border-bottom-color:#000}.bs-tooltip-auto[x-placement^=left],.bs-tooltip-left{padding:0 .4rem}.bs-tooltip-auto[x-placement^=left] .arrow,.bs-tooltip-left .arrow{right:0;width:.4rem;height:.8rem}.bs-tooltip-auto[x-placement^=left] .arrow::before,.bs-tooltip-left .arrow::before{left:0;border-width:.4rem 0 .4rem .4rem;border-left-color:#000}.tooltip-inner{max-width:200px;padding:.25rem .5rem;color:#fff;text-align:center;background-color:#000;border-radius:.25rem}.popover{position:absolute;top:0;left:0;z-index:1060;display:block;max-width:276px;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";font-style:normal;font-weight:400;line-height:1.5;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;white-space:normal;line-break:auto;font-size:.875rem;word-wrap:break-word;background-color:#fff;background-clip:padding-box;border:1px solid rgba(0,0,0,.2);border-radius:.3rem}.popover .arrow{position:absolute;display:block;width:1rem;height:.5rem;margin:0 .3rem}.popover .arrow::after,.popover .arrow::before{position:absolute;display:block;content:"";border-color:transparent;border-style:solid}.bs-popover-auto[x-placement^=top],.bs-popover-top{margin-bottom:.5rem}.bs-popover-auto[x-placement^=top] .arrow,.bs-popover-top .arrow{bottom:calc((.5rem + 1px) * -1)}.bs-popover-auto[x-placement^=top] .arrow::after,.bs-popover-auto[x-placement^=top] .arrow::before,.bs-popover-top .arrow::after,.bs-popover-top .arrow::before{border-width:.5rem .5rem 0}.bs-popover-auto[x-placement^=top] .arrow::before,.bs-popover-top .arrow::before{bottom:0;border-top-color:rgba(0,0,0,.25)}.bs-popover-auto[x-placement^=top] .arrow::after,.bs-popover-top .arrow::after{bottom:1px;border-top-color:#fff}.bs-popover-auto[x-placement^=right],.bs-popover-right{margin-left:.5rem}.bs-popover-auto[x-placement^=right] .arrow,.bs-popover-right .arrow{left:calc((.5rem + 1px) * -1);width:.5rem;height:1rem;margin:.3rem 0}.bs-popover-auto[x-placement^=right] .arrow::after,.bs-popover-auto[x-placement^=right] .arrow::before,.bs-popover-right .arrow::after,.bs-popover-right .arrow::before{border-width:.5rem .5rem .5rem 0}.bs-popover-auto[x-placement^=right] .arrow::before,.bs-popover-right .arrow::before{left:0;border-right-color:rgba(0,0,0,.25)}.bs-popover-auto[x-placement^=right] .arrow::after,.bs-popover-right .arrow::after{left:1px;border-right-color:#fff}.bs-popover-auto[x-placement^=bottom],.bs-popover-bottom{margin-top:.5rem}.bs-popover-auto[x-placement^=bottom] .arrow,.bs-popover-bottom .arrow{top:calc((.5rem + 1px) * -1)}.bs-popover-auto[x-placement^=bottom] .arrow::after,.bs-popover-auto[x-placement^=bottom] .arrow::before,.bs-popover-bottom .arrow::after,.bs-popover-bottom .arrow::before{border-width:0 .5rem .5rem .5rem}.bs-popover-auto[x-placement^=bottom] .arrow::before,.bs-popover-bottom .arrow::before{top:0;border-bottom-color:rgba(0,0,0,.25)}.bs-popover-auto[x-placement^=bottom] .arrow::after,.bs-popover-bottom .arrow::after{top:1px;border-bottom-color:#fff}.bs-popover-auto[x-placement^=bottom] .popover-header::before,.bs-popover-bottom .popover-header::before{position:absolute;top:0;left:50%;display:block;width:1rem;margin-left:-.5rem;content:"";border-bottom:1px solid #f7f7f7}.bs-popover-auto[x-placement^=left],.bs-popover-left{margin-right:.5rem}.bs-popover-auto[x-placement^=left] .arrow,.bs-popover-left .arrow{right:calc((.5rem + 1px) * -1);width:.5rem;height:1rem;margin:.3rem 0}.bs-popover-auto[x-placement^=left] .arrow::after,.bs-popover-auto[x-placement^=left] .arrow::before,.bs-popover-left .arrow::after,.bs-popover-left .arrow::before{border-width:.5rem 0 .5rem .5rem}.bs-popover-auto[x-placement^=left] .arrow::before,.bs-popover-left .arrow::before{right:0;border-left-color:rgba(0,0,0,.25)}.bs-popover-auto[x-placement^=left] .arrow::after,.bs-popover-left .arrow::after{right:1px;border-left-color:#fff}.popover-header{padding:.5rem .75rem;margin-bottom:0;font-size:1rem;color:inherit;background-color:#f7f7f7;border-bottom:1px solid #ebebeb;border-top-left-radius:calc(.3rem - 1px);border-top-right-radius:calc(.3rem - 1px)}.popover-header:empty{display:none}.popover-body{padding:.5rem .75rem;color:#212529}.carousel{position:relative}.carousel-inner{position:relative;width:100%;overflow:hidden}.carousel-item{position:relative;display:none;-ms-flex-align:center;align-items:center;width:100%;-webkit-backface-visibility:hidden;backface-visibility:hidden;-webkit-perspective:1000px;perspective:1000px}.carousel-item-next,.carousel-item-prev,.carousel-item.active{display:block;transition:-webkit-transform .6s ease;transition:transform .6s ease;transition:transform .6s ease,-webkit-transform .6s ease}@media screen and (prefers-reduced-motion:reduce){.carousel-item-next,.carousel-item-prev,.carousel-item.active{transition:none}}.carousel-item-next,.carousel-item-prev{position:absolute;top:0}.carousel-item-next.carousel-item-left,.carousel-item-prev.carousel-item-right{-webkit-transform:translateX(0);transform:translateX(0)}@supports ((-webkit-transform-style:preserve-3d) or (transform-style:preserve-3d)){.carousel-item-next.carousel-item-left,.carousel-item-prev.carousel-item-right{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}}.active.carousel-item-right,.carousel-item-next{-webkit-transform:translateX(100%);transform:translateX(100%)}@supports ((-webkit-transform-style:preserve-3d) or (transform-style:preserve-3d)){.active.carousel-item-right,.carousel-item-next{-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0)}}.active.carousel-item-left,.carousel-item-prev{-webkit-transform:translateX(-100%);transform:translateX(-100%)}@supports ((-webkit-transform-style:preserve-3d) or (transform-style:preserve-3d)){.active.carousel-item-left,.carousel-item-prev{-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0)}}.carousel-fade .carousel-item{opacity:0;transition-duration:.6s;transition-property:opacity}.carousel-fade .carousel-item-next.carousel-item-left,.carousel-fade .carousel-item-prev.carousel-item-right,.carousel-fade .carousel-item.active{opacity:1}.carousel-fade .active.carousel-item-left,.carousel-fade .active.carousel-item-right{opacity:0}.carousel-fade .active.carousel-item-left,.carousel-fade .active.carousel-item-prev,.carousel-fade .carousel-item-next,.carousel-fade .carousel-item-prev,.carousel-fade .carousel-item.active{-webkit-transform:translateX(0);transform:translateX(0)}@supports ((-webkit-transform-style:preserve-3d) or (transform-style:preserve-3d)){.carousel-fade .active.carousel-item-left,.carousel-fade .active.carousel-item-prev,.carousel-fade .carousel-item-next,.carousel-fade .carousel-item-prev,.carousel-fade .carousel-item.active{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}}.carousel-control-next,.carousel-control-prev{position:absolute;top:0;bottom:0;display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;width:15%;color:#fff;text-align:center;opacity:.5}.carousel-control-next:focus,.carousel-control-next:hover,.carousel-control-prev:focus,.carousel-control-prev:hover{color:#fff;text-decoration:none;outline:0;opacity:.9}.carousel-control-prev{left:0}.carousel-control-next{right:0}.carousel-control-next-icon,.carousel-control-prev-icon{display:inline-block;width:20px;height:20px;background:transparent no-repeat center center;background-size:100% 100%}.carousel-control-prev-icon{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 8 8'%3E%3Cpath d='M5.25 0l-4 4 4 4 1.5-1.5-2.5-2.5 2.5-2.5-1.5-1.5z'/%3E%3C/svg%3E")}.carousel-control-next-icon{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 8 8'%3E%3Cpath d='M2.75 0l-1.5 1.5 2.5 2.5-2.5 2.5 1.5 1.5 4-4-4-4z'/%3E%3C/svg%3E")}.carousel-indicators{position:absolute;right:0;bottom:10px;left:0;z-index:15;display:-ms-flexbox;display:flex;-ms-flex-pack:center;justify-content:center;padding-left:0;margin-right:15%;margin-left:15%;list-style:none}.carousel-indicators li{position:relative;-ms-flex:0 1 auto;flex:0 1 auto;width:30px;height:3px;margin-right:3px;margin-left:3px;text-indent:-999px;cursor:pointer;background-color:rgba(255,255,255,.5)}.carousel-indicators li::before{position:absolute;top:-10px;left:0;display:inline-block;width:100%;height:10px;content:""}.carousel-indicators li::after{position:absolute;bottom:-10px;left:0;display:inline-block;width:100%;height:10px;content:""}.carousel-indicators .active{background-color:#fff}.carousel-caption{position:absolute;right:15%;bottom:20px;left:15%;z-index:10;padding-top:20px;padding-bottom:20px;color:#fff;text-align:center}.align-baseline{vertical-align:baseline!important}.align-top{vertical-align:top!important}.align-middle{vertical-align:middle!important}.align-bottom{vertical-align:bottom!important}.align-text-bottom{vertical-align:text-bottom!important}.align-text-top{vertical-align:text-top!important}.bg-primary{background-color:#007bff!important}a.bg-primary:focus,a.bg-primary:hover,button.bg-primary:focus,button.bg-primary:hover{background-color:#0062cc!important}.bg-secondary{background-color:#6c757d!important}a.bg-secondary:focus,a.bg-secondary:hover,button.bg-secondary:focus,button.bg-secondary:hover{background-color:#545b62!important}.bg-success{background-color:#28a745!important}a.bg-success:focus,a.bg-success:hover,button.bg-success:focus,button.bg-success:hover{background-color:#1e7e34!important}.bg-info{background-color:#17a2b8!important}a.bg-info:focus,a.bg-info:hover,button.bg-info:focus,button.bg-info:hover{background-color:#117a8b!important}.bg-warning{background-color:#ffc107!important}a.bg-warning:focus,a.bg-warning:hover,button.bg-warning:focus,button.bg-warning:hover{background-color:#d39e00!important}.bg-danger{background-color:#dc3545!important}a.bg-danger:focus,a.bg-danger:hover,button.bg-danger:focus,button.bg-danger:hover{background-color:#bd2130!important}.bg-light{background-color:#f8f9fa!important}a.bg-light:focus,a.bg-light:hover,button.bg-light:focus,button.bg-light:hover{background-color:#dae0e5!important}.bg-dark{background-color:#343a40!important}a.bg-dark:focus,a.bg-dark:hover,button.bg-dark:focus,button.bg-dark:hover{background-color:#1d2124!important}.bg-white{background-color:#fff!important}.bg-transparent{background-color:transparent!important}.border{border:1px solid #dee2e6!important}.border-top{border-top:1px solid #dee2e6!important}.border-right{border-right:1px solid #dee2e6!important}.border-bottom{border-bottom:1px solid #dee2e6!important}.border-left{border-left:1px solid #dee2e6!important}.border-0{border:0!important}.border-top-0{border-top:0!important}.border-right-0{border-right:0!important}.border-bottom-0{border-bottom:0!important}.border-left-0{border-left:0!important}.border-primary{border-color:#007bff!important}.border-secondary{border-color:#6c757d!important}.border-success{border-color:#28a745!important}.border-info{border-color:#17a2b8!important}.border-warning{border-color:#ffc107!important}.border-danger{border-color:#dc3545!important}.border-light{border-color:#f8f9fa!important}.border-dark{border-color:#343a40!important}.border-white{border-color:#fff!important}.rounded{border-radius:.25rem!important}.rounded-top{border-top-left-radius:.25rem!important;border-top-right-radius:.25rem!important}.rounded-right{border-top-right-radius:.25rem!important;border-bottom-right-radius:.25rem!important}.rounded-bottom{border-bottom-right-radius:.25rem!important;border-bottom-left-radius:.25rem!important}.rounded-left{border-top-left-radius:.25rem!important;border-bottom-left-radius:.25rem!important}.rounded-circle{border-radius:50%!important}.rounded-0{border-radius:0!important}.clearfix::after{display:block;clear:both;content:""}.d-none{display:none!important}.d-inline{display:inline!important}.d-inline-block{display:inline-block!important}.d-block{display:block!important}.d-table{display:table!important}.d-table-row{display:table-row!important}.d-table-cell{display:table-cell!important}.d-flex{display:-ms-flexbox!important;display:flex!important}.d-inline-flex{display:-ms-inline-flexbox!important;display:inline-flex!important}@media (min-width:576px){.d-sm-none{display:none!important}.d-sm-inline{display:inline!important}.d-sm-inline-block{display:inline-block!important}.d-sm-block{display:block!important}.d-sm-table{display:table!important}.d-sm-table-row{display:table-row!important}.d-sm-table-cell{display:table-cell!important}.d-sm-flex{display:-ms-flexbox!important;display:flex!important}.d-sm-inline-flex{display:-ms-inline-flexbox!important;display:inline-flex!important}}@media (min-width:768px){.d-md-none{display:none!important}.d-md-inline{display:inline!important}.d-md-inline-block{display:inline-block!important}.d-md-block{display:block!important}.d-md-table{display:table!important}.d-md-table-row{display:table-row!important}.d-md-table-cell{display:table-cell!important}.d-md-flex{display:-ms-flexbox!important;display:flex!important}.d-md-inline-flex{display:-ms-inline-flexbox!important;display:inline-flex!important}}@media (min-width:992px){.d-lg-none{display:none!important}.d-lg-inline{display:inline!important}.d-lg-inline-block{display:inline-block!important}.d-lg-block{display:block!important}.d-lg-table{display:table!important}.d-lg-table-row{display:table-row!important}.d-lg-table-cell{display:table-cell!important}.d-lg-flex{display:-ms-flexbox!important;display:flex!important}.d-lg-inline-flex{display:-ms-inline-flexbox!important;display:inline-flex!important}}@media (min-width:1200px){.d-xl-none{display:none!important}.d-xl-inline{display:inline!important}.d-xl-inline-block{display:inline-block!important}.d-xl-block{display:block!important}.d-xl-table{display:table!important}.d-xl-table-row{display:table-row!important}.d-xl-table-cell{display:table-cell!important}.d-xl-flex{display:-ms-flexbox!important;display:flex!important}.d-xl-inline-flex{display:-ms-inline-flexbox!important;display:inline-flex!important}}@media print{.d-print-none{display:none!important}.d-print-inline{display:inline!important}.d-print-inline-block{display:inline-block!important}.d-print-block{display:block!important}.d-print-table{display:table!important}.d-print-table-row{display:table-row!important}.d-print-table-cell{display:table-cell!important}.d-print-flex{display:-ms-flexbox!important;display:flex!important}.d-print-inline-flex{display:-ms-inline-flexbox!important;display:inline-flex!important}}.embed-responsive{position:relative;display:block;width:100%;padding:0;overflow:hidden}.embed-responsive::before{display:block;content:""}.embed-responsive .embed-responsive-item,.embed-responsive embed,.embed-responsive iframe,.embed-responsive object,.embed-responsive video{position:absolute;top:0;bottom:0;left:0;width:100%;height:100%;border:0}.embed-responsive-21by9::before{padding-top:42.857143%}.embed-responsive-16by9::before{padding-top:56.25%}.embed-responsive-4by3::before{padding-top:75%}.embed-responsive-1by1::before{padding-top:100%}.flex-row{-ms-flex-direction:row!important;flex-direction:row!important}.flex-column{-ms-flex-direction:column!important;flex-direction:column!important}.flex-row-reverse{-ms-flex-direction:row-reverse!important;flex-direction:row-reverse!important}.flex-column-reverse{-ms-flex-direction:column-reverse!important;flex-direction:column-reverse!important}.flex-wrap{-ms-flex-wrap:wrap!important;flex-wrap:wrap!important}.flex-nowrap{-ms-flex-wrap:nowrap!important;flex-wrap:nowrap!important}.flex-wrap-reverse{-ms-flex-wrap:wrap-reverse!important;flex-wrap:wrap-reverse!important}.flex-fill{-ms-flex:1 1 auto!important;flex:1 1 auto!important}.flex-grow-0{-ms-flex-positive:0!important;flex-grow:0!important}.flex-grow-1{-ms-flex-positive:1!important;flex-grow:1!important}.flex-shrink-0{-ms-flex-negative:0!important;flex-shrink:0!important}.flex-shrink-1{-ms-flex-negative:1!important;flex-shrink:1!important}.justify-content-start{-ms-flex-pack:start!important;justify-content:flex-start!important}.justify-content-end{-ms-flex-pack:end!important;justify-content:flex-end!important}.justify-content-center{-ms-flex-pack:center!important;justify-content:center!important}.justify-content-between{-ms-flex-pack:justify!important;justify-content:space-between!important}.justify-content-around{-ms-flex-pack:distribute!important;justify-content:space-around!important}.align-items-start{-ms-flex-align:start!important;align-items:flex-start!important}.align-items-end{-ms-flex-align:end!important;align-items:flex-end!important}.align-items-center{-ms-flex-align:center!important;align-items:center!important}.align-items-baseline{-ms-flex-align:baseline!important;align-items:baseline!important}.align-items-stretch{-ms-flex-align:stretch!important;align-items:stretch!important}.align-content-start{-ms-flex-line-pack:start!important;align-content:flex-start!important}.align-content-end{-ms-flex-line-pack:end!important;align-content:flex-end!important}.align-content-center{-ms-flex-line-pack:center!important;align-content:center!important}.align-content-between{-ms-flex-line-pack:justify!important;align-content:space-between!important}.align-content-around{-ms-flex-line-pack:distribute!important;align-content:space-around!important}.align-content-stretch{-ms-flex-line-pack:stretch!important;align-content:stretch!important}.align-self-auto{-ms-flex-item-align:auto!important;align-self:auto!important}.align-self-start{-ms-flex-item-align:start!important;align-self:flex-start!important}.align-self-end{-ms-flex-item-align:end!important;align-self:flex-end!important}.align-self-center{-ms-flex-item-align:center!important;align-self:center!important}.align-self-baseline{-ms-flex-item-align:baseline!important;align-self:baseline!important}.align-self-stretch{-ms-flex-item-align:stretch!important;align-self:stretch!important}@media (min-width:576px){.flex-sm-row{-ms-flex-direction:row!important;flex-direction:row!important}.flex-sm-column{-ms-flex-direction:column!important;flex-direction:column!important}.flex-sm-row-reverse{-ms-flex-direction:row-reverse!important;flex-direction:row-reverse!important}.flex-sm-column-reverse{-ms-flex-direction:column-reverse!important;flex-direction:column-reverse!important}.flex-sm-wrap{-ms-flex-wrap:wrap!important;flex-wrap:wrap!important}.flex-sm-nowrap{-ms-flex-wrap:nowrap!important;flex-wrap:nowrap!important}.flex-sm-wrap-reverse{-ms-flex-wrap:wrap-reverse!important;flex-wrap:wrap-reverse!important}.flex-sm-fill{-ms-flex:1 1 auto!important;flex:1 1 auto!important}.flex-sm-grow-0{-ms-flex-positive:0!important;flex-grow:0!important}.flex-sm-grow-1{-ms-flex-positive:1!important;flex-grow:1!important}.flex-sm-shrink-0{-ms-flex-negative:0!important;flex-shrink:0!important}.flex-sm-shrink-1{-ms-flex-negative:1!important;flex-shrink:1!important}.justify-content-sm-start{-ms-flex-pack:start!important;justify-content:flex-start!important}.justify-content-sm-end{-ms-flex-pack:end!important;justify-content:flex-end!important}.justify-content-sm-center{-ms-flex-pack:center!important;justify-content:center!important}.justify-content-sm-between{-ms-flex-pack:justify!important;justify-content:space-between!important}.justify-content-sm-around{-ms-flex-pack:distribute!important;justify-content:space-around!important}.align-items-sm-start{-ms-flex-align:start!important;align-items:flex-start!important}.align-items-sm-end{-ms-flex-align:end!important;align-items:flex-end!important}.align-items-sm-center{-ms-flex-align:center!important;align-items:center!important}.align-items-sm-baseline{-ms-flex-align:baseline!important;align-items:baseline!important}.align-items-sm-stretch{-ms-flex-align:stretch!important;align-items:stretch!important}.align-content-sm-start{-ms-flex-line-pack:start!important;align-content:flex-start!important}.align-content-sm-end{-ms-flex-line-pack:end!important;align-content:flex-end!important}.align-content-sm-center{-ms-flex-line-pack:center!important;align-content:center!important}.align-content-sm-between{-ms-flex-line-pack:justify!important;align-content:space-between!important}.align-content-sm-around{-ms-flex-line-pack:distribute!important;align-content:space-around!important}.align-content-sm-stretch{-ms-flex-line-pack:stretch!important;align-content:stretch!important}.align-self-sm-auto{-ms-flex-item-align:auto!important;align-self:auto!important}.align-self-sm-start{-ms-flex-item-align:start!important;align-self:flex-start!important}.align-self-sm-end{-ms-flex-item-align:end!important;align-self:flex-end!important}.align-self-sm-center{-ms-flex-item-align:center!important;align-self:center!important}.align-self-sm-baseline{-ms-flex-item-align:baseline!important;align-self:baseline!important}.align-self-sm-stretch{-ms-flex-item-align:stretch!important;align-self:stretch!important}}@media (min-width:768px){.flex-md-row{-ms-flex-direction:row!important;flex-direction:row!important}.flex-md-column{-ms-flex-direction:column!important;flex-direction:column!important}.flex-md-row-reverse{-ms-flex-direction:row-reverse!important;flex-direction:row-reverse!important}.flex-md-column-reverse{-ms-flex-direction:column-reverse!important;flex-direction:column-reverse!important}.flex-md-wrap{-ms-flex-wrap:wrap!important;flex-wrap:wrap!important}.flex-md-nowrap{-ms-flex-wrap:nowrap!important;flex-wrap:nowrap!important}.flex-md-wrap-reverse{-ms-flex-wrap:wrap-reverse!important;flex-wrap:wrap-reverse!important}.flex-md-fill{-ms-flex:1 1 auto!important;flex:1 1 auto!important}.flex-md-grow-0{-ms-flex-positive:0!important;flex-grow:0!important}.flex-md-grow-1{-ms-flex-positive:1!important;flex-grow:1!important}.flex-md-shrink-0{-ms-flex-negative:0!important;flex-shrink:0!important}.flex-md-shrink-1{-ms-flex-negative:1!important;flex-shrink:1!important}.justify-content-md-start{-ms-flex-pack:start!important;justify-content:flex-start!important}.justify-content-md-end{-ms-flex-pack:end!important;justify-content:flex-end!important}.justify-content-md-center{-ms-flex-pack:center!important;justify-content:center!important}.justify-content-md-between{-ms-flex-pack:justify!important;justify-content:space-between!important}.justify-content-md-around{-ms-flex-pack:distribute!important;justify-content:space-around!important}.align-items-md-start{-ms-flex-align:start!important;align-items:flex-start!important}.align-items-md-end{-ms-flex-align:end!important;align-items:flex-end!important}.align-items-md-center{-ms-flex-align:center!important;align-items:center!important}.align-items-md-baseline{-ms-flex-align:baseline!important;align-items:baseline!important}.align-items-md-stretch{-ms-flex-align:stretch!important;align-items:stretch!important}.align-content-md-start{-ms-flex-line-pack:start!important;align-content:flex-start!important}.align-content-md-end{-ms-flex-line-pack:end!important;align-content:flex-end!important}.align-content-md-center{-ms-flex-line-pack:center!important;align-content:center!important}.align-content-md-between{-ms-flex-line-pack:justify!important;align-content:space-between!important}.align-content-md-around{-ms-flex-line-pack:distribute!important;align-content:space-around!important}.align-content-md-stretch{-ms-flex-line-pack:stretch!important;align-content:stretch!important}.align-self-md-auto{-ms-flex-item-align:auto!important;align-self:auto!important}.align-self-md-start{-ms-flex-item-align:start!important;align-self:flex-start!important}.align-self-md-end{-ms-flex-item-align:end!important;align-self:flex-end!important}.align-self-md-center{-ms-flex-item-align:center!important;align-self:center!important}.align-self-md-baseline{-ms-flex-item-align:baseline!important;align-self:baseline!important}.align-self-md-stretch{-ms-flex-item-align:stretch!important;align-self:stretch!important}}@media (min-width:992px){.flex-lg-row{-ms-flex-direction:row!important;flex-direction:row!important}.flex-lg-column{-ms-flex-direction:column!important;flex-direction:column!important}.flex-lg-row-reverse{-ms-flex-direction:row-reverse!important;flex-direction:row-reverse!important}.flex-lg-column-reverse{-ms-flex-direction:column-reverse!important;flex-direction:column-reverse!important}.flex-lg-wrap{-ms-flex-wrap:wrap!important;flex-wrap:wrap!important}.flex-lg-nowrap{-ms-flex-wrap:nowrap!important;flex-wrap:nowrap!important}.flex-lg-wrap-reverse{-ms-flex-wrap:wrap-reverse!important;flex-wrap:wrap-reverse!important}.flex-lg-fill{-ms-flex:1 1 auto!important;flex:1 1 auto!important}.flex-lg-grow-0{-ms-flex-positive:0!important;flex-grow:0!important}.flex-lg-grow-1{-ms-flex-positive:1!important;flex-grow:1!important}.flex-lg-shrink-0{-ms-flex-negative:0!important;flex-shrink:0!important}.flex-lg-shrink-1{-ms-flex-negative:1!important;flex-shrink:1!important}.justify-content-lg-start{-ms-flex-pack:start!important;justify-content:flex-start!important}.justify-content-lg-end{-ms-flex-pack:end!important;justify-content:flex-end!important}.justify-content-lg-center{-ms-flex-pack:center!important;justify-content:center!important}.justify-content-lg-between{-ms-flex-pack:justify!important;justify-content:space-between!important}.justify-content-lg-around{-ms-flex-pack:distribute!important;justify-content:space-around!important}.align-items-lg-start{-ms-flex-align:start!important;align-items:flex-start!important}.align-items-lg-end{-ms-flex-align:end!important;align-items:flex-end!important}.align-items-lg-center{-ms-flex-align:center!important;align-items:center!important}.align-items-lg-baseline{-ms-flex-align:baseline!important;align-items:baseline!important}.align-items-lg-stretch{-ms-flex-align:stretch!important;align-items:stretch!important}.align-content-lg-start{-ms-flex-line-pack:start!important;align-content:flex-start!important}.align-content-lg-end{-ms-flex-line-pack:end!important;align-content:flex-end!important}.align-content-lg-center{-ms-flex-line-pack:center!important;align-content:center!important}.align-content-lg-between{-ms-flex-line-pack:justify!important;align-content:space-between!important}.align-content-lg-around{-ms-flex-line-pack:distribute!important;align-content:space-around!important}.align-content-lg-stretch{-ms-flex-line-pack:stretch!important;align-content:stretch!important}.align-self-lg-auto{-ms-flex-item-align:auto!important;align-self:auto!important}.align-self-lg-start{-ms-flex-item-align:start!important;align-self:flex-start!important}.align-self-lg-end{-ms-flex-item-align:end!important;align-self:flex-end!important}.align-self-lg-center{-ms-flex-item-align:center!important;align-self:center!important}.align-self-lg-baseline{-ms-flex-item-align:baseline!important;align-self:baseline!important}.align-self-lg-stretch{-ms-flex-item-align:stretch!important;align-self:stretch!important}}@media (min-width:1200px){.flex-xl-row{-ms-flex-direction:row!important;flex-direction:row!important}.flex-xl-column{-ms-flex-direction:column!important;flex-direction:column!important}.flex-xl-row-reverse{-ms-flex-direction:row-reverse!important;flex-direction:row-reverse!important}.flex-xl-column-reverse{-ms-flex-direction:column-reverse!important;flex-direction:column-reverse!important}.flex-xl-wrap{-ms-flex-wrap:wrap!important;flex-wrap:wrap!important}.flex-xl-nowrap{-ms-flex-wrap:nowrap!important;flex-wrap:nowrap!important}.flex-xl-wrap-reverse{-ms-flex-wrap:wrap-reverse!important;flex-wrap:wrap-reverse!important}.flex-xl-fill{-ms-flex:1 1 auto!important;flex:1 1 auto!important}.flex-xl-grow-0{-ms-flex-positive:0!important;flex-grow:0!important}.flex-xl-grow-1{-ms-flex-positive:1!important;flex-grow:1!important}.flex-xl-shrink-0{-ms-flex-negative:0!important;flex-shrink:0!important}.flex-xl-shrink-1{-ms-flex-negative:1!important;flex-shrink:1!important}.justify-content-xl-start{-ms-flex-pack:start!important;justify-content:flex-start!important}.justify-content-xl-end{-ms-flex-pack:end!important;justify-content:flex-end!important}.justify-content-xl-center{-ms-flex-pack:center!important;justify-content:center!important}.justify-content-xl-between{-ms-flex-pack:justify!important;justify-content:space-between!important}.justify-content-xl-around{-ms-flex-pack:distribute!important;justify-content:space-around!important}.align-items-xl-start{-ms-flex-align:start!important;align-items:flex-start!important}.align-items-xl-end{-ms-flex-align:end!important;align-items:flex-end!important}.align-items-xl-center{-ms-flex-align:center!important;align-items:center!important}.align-items-xl-baseline{-ms-flex-align:baseline!important;align-items:baseline!important}.align-items-xl-stretch{-ms-flex-align:stretch!important;align-items:stretch!important}.align-content-xl-start{-ms-flex-line-pack:start!important;align-content:flex-start!important}.align-content-xl-end{-ms-flex-line-pack:end!important;align-content:flex-end!important}.align-content-xl-center{-ms-flex-line-pack:center!important;align-content:center!important}.align-content-xl-between{-ms-flex-line-pack:justify!important;align-content:space-between!important}.align-content-xl-around{-ms-flex-line-pack:distribute!important;align-content:space-around!important}.align-content-xl-stretch{-ms-flex-line-pack:stretch!important;align-content:stretch!important}.align-self-xl-auto{-ms-flex-item-align:auto!important;align-self:auto!important}.align-self-xl-start{-ms-flex-item-align:start!important;align-self:flex-start!important}.align-self-xl-end{-ms-flex-item-align:end!important;align-self:flex-end!important}.align-self-xl-center{-ms-flex-item-align:center!important;align-self:center!important}.align-self-xl-baseline{-ms-flex-item-align:baseline!important;align-self:baseline!important}.align-self-xl-stretch{-ms-flex-item-align:stretch!important;align-self:stretch!important}}.float-left{float:left!important}.float-right{float:right!important}.float-none{float:none!important}@media (min-width:576px){.float-sm-left{float:left!important}.float-sm-right{float:right!important}.float-sm-none{float:none!important}}@media (min-width:768px){.float-md-left{float:left!important}.float-md-right{float:right!important}.float-md-none{float:none!important}}@media (min-width:992px){.float-lg-left{float:left!important}.float-lg-right{float:right!important}.float-lg-none{float:none!important}}@media (min-width:1200px){.float-xl-left{float:left!important}.float-xl-right{float:right!important}.float-xl-none{float:none!important}}.position-static{position:static!important}.position-relative{position:relative!important}.position-absolute{position:absolute!important}.position-fixed{position:fixed!important}.position-sticky{position:-webkit-sticky!important;position:sticky!important}.fixed-top{position:fixed;top:0;right:0;left:0;z-index:1030}.fixed-bottom{position:fixed;right:0;bottom:0;left:0;z-index:1030}@supports ((position:-webkit-sticky) or (position:sticky)){.sticky-top{position:-webkit-sticky;position:sticky;top:0;z-index:1020}}.sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.sr-only-focusable:active,.sr-only-focusable:focus{position:static;width:auto;height:auto;overflow:visible;clip:auto;white-space:normal}.shadow-sm{box-shadow:0 .125rem .25rem rgba(0,0,0,.075)!important}.shadow{box-shadow:0 .5rem 1rem rgba(0,0,0,.15)!important}.shadow-lg{box-shadow:0 1rem 3rem rgba(0,0,0,.175)!important}.shadow-none{box-shadow:none!important}.w-25{width:25%!important}.w-50{width:50%!important}.w-75{width:75%!important}.w-100{width:100%!important}.w-auto{width:auto!important}.h-25{height:25%!important}.h-50{height:50%!important}.h-75{height:75%!important}.h-100{height:100%!important}.h-auto{height:auto!important}.mw-100{max-width:100%!important}.mh-100{max-height:100%!important}.m-0{margin:0!important}.mt-0,.my-0{margin-top:0!important}.mr-0,.mx-0{margin-right:0!important}.mb-0,.my-0{margin-bottom:0!important}.ml-0,.mx-0{margin-left:0!important}.m-1{margin:.25rem!important}.mt-1,.my-1{margin-top:.25rem!important}.mr-1,.mx-1{margin-right:.25rem!important}.mb-1,.my-1{margin-bottom:.25rem!important}.ml-1,.mx-1{margin-left:.25rem!important}.m-2{margin:.5rem!important}.mt-2,.my-2{margin-top:.5rem!important}.mr-2,.mx-2{margin-right:.5rem!important}.mb-2,.my-2{margin-bottom:.5rem!important}.ml-2,.mx-2{margin-left:.5rem!important}.m-3{margin:1rem!important}.mt-3,.my-3{margin-top:1rem!important}.mr-3,.mx-3{margin-right:1rem!important}.mb-3,.my-3{margin-bottom:1rem!important}.ml-3,.mx-3{margin-left:1rem!important}.m-4{margin:1.5rem!important}.mt-4,.my-4{margin-top:1.5rem!important}.mr-4,.mx-4{margin-right:1.5rem!important}.mb-4,.my-4{margin-bottom:1.5rem!important}.ml-4,.mx-4{margin-left:1.5rem!important}.m-5{margin:3rem!important}.mt-5,.my-5{margin-top:3rem!important}.mr-5,.mx-5{margin-right:3rem!important}.mb-5,.my-5{margin-bottom:3rem!important}.ml-5,.mx-5{margin-left:3rem!important}.p-0{padding:0!important}.pt-0,.py-0{padding-top:0!important}.pr-0,.px-0{padding-right:0!important}.pb-0,.py-0{padding-bottom:0!important}.pl-0,.px-0{padding-left:0!important}.p-1{padding:.25rem!important}.pt-1,.py-1{padding-top:.25rem!important}.pr-1,.px-1{padding-right:.25rem!important}.pb-1,.py-1{padding-bottom:.25rem!important}.pl-1,.px-1{padding-left:.25rem!important}.p-2{padding:.5rem!important}.pt-2,.py-2{padding-top:.5rem!important}.pr-2,.px-2{padding-right:.5rem!important}.pb-2,.py-2{padding-bottom:.5rem!important}.pl-2,.px-2{padding-left:.5rem!important}.p-3{padding:1rem!important}.pt-3,.py-3{padding-top:1rem!important}.pr-3,.px-3{padding-right:1rem!important}.pb-3,.py-3{padding-bottom:1rem!important}.pl-3,.px-3{padding-left:1rem!important}.p-4{padding:1.5rem!important}.pt-4,.py-4{padding-top:1.5rem!important}.pr-4,.px-4{padding-right:1.5rem!important}.pb-4,.py-4{padding-bottom:1.5rem!important}.pl-4,.px-4{padding-left:1.5rem!important}.p-5{padding:3rem!important}.pt-5,.py-5{padding-top:3rem!important}.pr-5,.px-5{padding-right:3rem!important}.pb-5,.py-5{padding-bottom:3rem!important}.pl-5,.px-5{padding-left:3rem!important}.m-auto{margin:auto!important}.mt-auto,.my-auto{margin-top:auto!important}.mr-auto,.mx-auto{margin-right:auto!important}.mb-auto,.my-auto{margin-bottom:auto!important}.ml-auto,.mx-auto{margin-left:auto!important}@media (min-width:576px){.m-sm-0{margin:0!important}.mt-sm-0,.my-sm-0{margin-top:0!important}.mr-sm-0,.mx-sm-0{margin-right:0!important}.mb-sm-0,.my-sm-0{margin-bottom:0!important}.ml-sm-0,.mx-sm-0{margin-left:0!important}.m-sm-1{margin:.25rem!important}.mt-sm-1,.my-sm-1{margin-top:.25rem!important}.mr-sm-1,.mx-sm-1{margin-right:.25rem!important}.mb-sm-1,.my-sm-1{margin-bottom:.25rem!important}.ml-sm-1,.mx-sm-1{margin-left:.25rem!important}.m-sm-2{margin:.5rem!important}.mt-sm-2,.my-sm-2{margin-top:.5rem!important}.mr-sm-2,.mx-sm-2{margin-right:.5rem!important}.mb-sm-2,.my-sm-2{margin-bottom:.5rem!important}.ml-sm-2,.mx-sm-2{margin-left:.5rem!important}.m-sm-3{margin:1rem!important}.mt-sm-3,.my-sm-3{margin-top:1rem!important}.mr-sm-3,.mx-sm-3{margin-right:1rem!important}.mb-sm-3,.my-sm-3{margin-bottom:1rem!important}.ml-sm-3,.mx-sm-3{margin-left:1rem!important}.m-sm-4{margin:1.5rem!important}.mt-sm-4,.my-sm-4{margin-top:1.5rem!important}.mr-sm-4,.mx-sm-4{margin-right:1.5rem!important}.mb-sm-4,.my-sm-4{margin-bottom:1.5rem!important}.ml-sm-4,.mx-sm-4{margin-left:1.5rem!important}.m-sm-5{margin:3rem!important}.mt-sm-5,.my-sm-5{margin-top:3rem!important}.mr-sm-5,.mx-sm-5{margin-right:3rem!important}.mb-sm-5,.my-sm-5{margin-bottom:3rem!important}.ml-sm-5,.mx-sm-5{margin-left:3rem!important}.p-sm-0{padding:0!important}.pt-sm-0,.py-sm-0{padding-top:0!important}.pr-sm-0,.px-sm-0{padding-right:0!important}.pb-sm-0,.py-sm-0{padding-bottom:0!important}.pl-sm-0,.px-sm-0{padding-left:0!important}.p-sm-1{padding:.25rem!important}.pt-sm-1,.py-sm-1{padding-top:.25rem!important}.pr-sm-1,.px-sm-1{padding-right:.25rem!important}.pb-sm-1,.py-sm-1{padding-bottom:.25rem!important}.pl-sm-1,.px-sm-1{padding-left:.25rem!important}.p-sm-2{padding:.5rem!important}.pt-sm-2,.py-sm-2{padding-top:.5rem!important}.pr-sm-2,.px-sm-2{padding-right:.5rem!important}.pb-sm-2,.py-sm-2{padding-bottom:.5rem!important}.pl-sm-2,.px-sm-2{padding-left:.5rem!important}.p-sm-3{padding:1rem!important}.pt-sm-3,.py-sm-3{padding-top:1rem!important}.pr-sm-3,.px-sm-3{padding-right:1rem!important}.pb-sm-3,.py-sm-3{padding-bottom:1rem!important}.pl-sm-3,.px-sm-3{padding-left:1rem!important}.p-sm-4{padding:1.5rem!important}.pt-sm-4,.py-sm-4{padding-top:1.5rem!important}.pr-sm-4,.px-sm-4{padding-right:1.5rem!important}.pb-sm-4,.py-sm-4{padding-bottom:1.5rem!important}.pl-sm-4,.px-sm-4{padding-left:1.5rem!important}.p-sm-5{padding:3rem!important}.pt-sm-5,.py-sm-5{padding-top:3rem!important}.pr-sm-5,.px-sm-5{padding-right:3rem!important}.pb-sm-5,.py-sm-5{padding-bottom:3rem!important}.pl-sm-5,.px-sm-5{padding-left:3rem!important}.m-sm-auto{margin:auto!important}.mt-sm-auto,.my-sm-auto{margin-top:auto!important}.mr-sm-auto,.mx-sm-auto{margin-right:auto!important}.mb-sm-auto,.my-sm-auto{margin-bottom:auto!important}.ml-sm-auto,.mx-sm-auto{margin-left:auto!important}}@media (min-width:768px){.m-md-0{margin:0!important}.mt-md-0,.my-md-0{margin-top:0!important}.mr-md-0,.mx-md-0{margin-right:0!important}.mb-md-0,.my-md-0{margin-bottom:0!important}.ml-md-0,.mx-md-0{margin-left:0!important}.m-md-1{margin:.25rem!important}.mt-md-1,.my-md-1{margin-top:.25rem!important}.mr-md-1,.mx-md-1{margin-right:.25rem!important}.mb-md-1,.my-md-1{margin-bottom:.25rem!important}.ml-md-1,.mx-md-1{margin-left:.25rem!important}.m-md-2{margin:.5rem!important}.mt-md-2,.my-md-2{margin-top:.5rem!important}.mr-md-2,.mx-md-2{margin-right:.5rem!important}.mb-md-2,.my-md-2{margin-bottom:.5rem!important}.ml-md-2,.mx-md-2{margin-left:.5rem!important}.m-md-3{margin:1rem!important}.mt-md-3,.my-md-3{margin-top:1rem!important}.mr-md-3,.mx-md-3{margin-right:1rem!important}.mb-md-3,.my-md-3{margin-bottom:1rem!important}.ml-md-3,.mx-md-3{margin-left:1rem!important}.m-md-4{margin:1.5rem!important}.mt-md-4,.my-md-4{margin-top:1.5rem!important}.mr-md-4,.mx-md-4{margin-right:1.5rem!important}.mb-md-4,.my-md-4{margin-bottom:1.5rem!important}.ml-md-4,.mx-md-4{margin-left:1.5rem!important}.m-md-5{margin:3rem!important}.mt-md-5,.my-md-5{margin-top:3rem!important}.mr-md-5,.mx-md-5{margin-right:3rem!important}.mb-md-5,.my-md-5{margin-bottom:3rem!important}.ml-md-5,.mx-md-5{margin-left:3rem!important}.p-md-0{padding:0!important}.pt-md-0,.py-md-0{padding-top:0!important}.pr-md-0,.px-md-0{padding-right:0!important}.pb-md-0,.py-md-0{padding-bottom:0!important}.pl-md-0,.px-md-0{padding-left:0!important}.p-md-1{padding:.25rem!important}.pt-md-1,.py-md-1{padding-top:.25rem!important}.pr-md-1,.px-md-1{padding-right:.25rem!important}.pb-md-1,.py-md-1{padding-bottom:.25rem!important}.pl-md-1,.px-md-1{padding-left:.25rem!important}.p-md-2{padding:.5rem!important}.pt-md-2,.py-md-2{padding-top:.5rem!important}.pr-md-2,.px-md-2{padding-right:.5rem!important}.pb-md-2,.py-md-2{padding-bottom:.5rem!important}.pl-md-2,.px-md-2{padding-left:.5rem!important}.p-md-3{padding:1rem!important}.pt-md-3,.py-md-3{padding-top:1rem!important}.pr-md-3,.px-md-3{padding-right:1rem!important}.pb-md-3,.py-md-3{padding-bottom:1rem!important}.pl-md-3,.px-md-3{padding-left:1rem!important}.p-md-4{padding:1.5rem!important}.pt-md-4,.py-md-4{padding-top:1.5rem!important}.pr-md-4,.px-md-4{padding-right:1.5rem!important}.pb-md-4,.py-md-4{padding-bottom:1.5rem!important}.pl-md-4,.px-md-4{padding-left:1.5rem!important}.p-md-5{padding:3rem!important}.pt-md-5,.py-md-5{padding-top:3rem!important}.pr-md-5,.px-md-5{padding-right:3rem!important}.pb-md-5,.py-md-5{padding-bottom:3rem!important}.pl-md-5,.px-md-5{padding-left:3rem!important}.m-md-auto{margin:auto!important}.mt-md-auto,.my-md-auto{margin-top:auto!important}.mr-md-auto,.mx-md-auto{margin-right:auto!important}.mb-md-auto,.my-md-auto{margin-bottom:auto!important}.ml-md-auto,.mx-md-auto{margin-left:auto!important}}@media (min-width:992px){.m-lg-0{margin:0!important}.mt-lg-0,.my-lg-0{margin-top:0!important}.mr-lg-0,.mx-lg-0{margin-right:0!important}.mb-lg-0,.my-lg-0{margin-bottom:0!important}.ml-lg-0,.mx-lg-0{margin-left:0!important}.m-lg-1{margin:.25rem!important}.mt-lg-1,.my-lg-1{margin-top:.25rem!important}.mr-lg-1,.mx-lg-1{margin-right:.25rem!important}.mb-lg-1,.my-lg-1{margin-bottom:.25rem!important}.ml-lg-1,.mx-lg-1{margin-left:.25rem!important}.m-lg-2{margin:.5rem!important}.mt-lg-2,.my-lg-2{margin-top:.5rem!important}.mr-lg-2,.mx-lg-2{margin-right:.5rem!important}.mb-lg-2,.my-lg-2{margin-bottom:.5rem!important}.ml-lg-2,.mx-lg-2{margin-left:.5rem!important}.m-lg-3{margin:1rem!important}.mt-lg-3,.my-lg-3{margin-top:1rem!important}.mr-lg-3,.mx-lg-3{margin-right:1rem!important}.mb-lg-3,.my-lg-3{margin-bottom:1rem!important}.ml-lg-3,.mx-lg-3{margin-left:1rem!important}.m-lg-4{margin:1.5rem!important}.mt-lg-4,.my-lg-4{margin-top:1.5rem!important}.mr-lg-4,.mx-lg-4{margin-right:1.5rem!important}.mb-lg-4,.my-lg-4{margin-bottom:1.5rem!important}.ml-lg-4,.mx-lg-4{margin-left:1.5rem!important}.m-lg-5{margin:3rem!important}.mt-lg-5,.my-lg-5{margin-top:3rem!important}.mr-lg-5,.mx-lg-5{margin-right:3rem!important}.mb-lg-5,.my-lg-5{margin-bottom:3rem!important}.ml-lg-5,.mx-lg-5{margin-left:3rem!important}.p-lg-0{padding:0!important}.pt-lg-0,.py-lg-0{padding-top:0!important}.pr-lg-0,.px-lg-0{padding-right:0!important}.pb-lg-0,.py-lg-0{padding-bottom:0!important}.pl-lg-0,.px-lg-0{padding-left:0!important}.p-lg-1{padding:.25rem!important}.pt-lg-1,.py-lg-1{padding-top:.25rem!important}.pr-lg-1,.px-lg-1{padding-right:.25rem!important}.pb-lg-1,.py-lg-1{padding-bottom:.25rem!important}.pl-lg-1,.px-lg-1{padding-left:.25rem!important}.p-lg-2{padding:.5rem!important}.pt-lg-2,.py-lg-2{padding-top:.5rem!important}.pr-lg-2,.px-lg-2{padding-right:.5rem!important}.pb-lg-2,.py-lg-2{padding-bottom:.5rem!important}.pl-lg-2,.px-lg-2{padding-left:.5rem!important}.p-lg-3{padding:1rem!important}.pt-lg-3,.py-lg-3{padding-top:1rem!important}.pr-lg-3,.px-lg-3{padding-right:1rem!important}.pb-lg-3,.py-lg-3{padding-bottom:1rem!important}.pl-lg-3,.px-lg-3{padding-left:1rem!important}.p-lg-4{padding:1.5rem!important}.pt-lg-4,.py-lg-4{padding-top:1.5rem!important}.pr-lg-4,.px-lg-4{padding-right:1.5rem!important}.pb-lg-4,.py-lg-4{padding-bottom:1.5rem!important}.pl-lg-4,.px-lg-4{padding-left:1.5rem!important}.p-lg-5{padding:3rem!important}.pt-lg-5,.py-lg-5{padding-top:3rem!important}.pr-lg-5,.px-lg-5{padding-right:3rem!important}.pb-lg-5,.py-lg-5{padding-bottom:3rem!important}.pl-lg-5,.px-lg-5{padding-left:3rem!important}.m-lg-auto{margin:auto!important}.mt-lg-auto,.my-lg-auto{margin-top:auto!important}.mr-lg-auto,.mx-lg-auto{margin-right:auto!important}.mb-lg-auto,.my-lg-auto{margin-bottom:auto!important}.ml-lg-auto,.mx-lg-auto{margin-left:auto!important}}@media (min-width:1200px){.m-xl-0{margin:0!important}.mt-xl-0,.my-xl-0{margin-top:0!important}.mr-xl-0,.mx-xl-0{margin-right:0!important}.mb-xl-0,.my-xl-0{margin-bottom:0!important}.ml-xl-0,.mx-xl-0{margin-left:0!important}.m-xl-1{margin:.25rem!important}.mt-xl-1,.my-xl-1{margin-top:.25rem!important}.mr-xl-1,.mx-xl-1{margin-right:.25rem!important}.mb-xl-1,.my-xl-1{margin-bottom:.25rem!important}.ml-xl-1,.mx-xl-1{margin-left:.25rem!important}.m-xl-2{margin:.5rem!important}.mt-xl-2,.my-xl-2{margin-top:.5rem!important}.mr-xl-2,.mx-xl-2{margin-right:.5rem!important}.mb-xl-2,.my-xl-2{margin-bottom:.5rem!important}.ml-xl-2,.mx-xl-2{margin-left:.5rem!important}.m-xl-3{margin:1rem!important}.mt-xl-3,.my-xl-3{margin-top:1rem!important}.mr-xl-3,.mx-xl-3{margin-right:1rem!important}.mb-xl-3,.my-xl-3{margin-bottom:1rem!important}.ml-xl-3,.mx-xl-3{margin-left:1rem!important}.m-xl-4{margin:1.5rem!important}.mt-xl-4,.my-xl-4{margin-top:1.5rem!important}.mr-xl-4,.mx-xl-4{margin-right:1.5rem!important}.mb-xl-4,.my-xl-4{margin-bottom:1.5rem!important}.ml-xl-4,.mx-xl-4{margin-left:1.5rem!important}.m-xl-5{margin:3rem!important}.mt-xl-5,.my-xl-5{margin-top:3rem!important}.mr-xl-5,.mx-xl-5{margin-right:3rem!important}.mb-xl-5,.my-xl-5{margin-bottom:3rem!important}.ml-xl-5,.mx-xl-5{margin-left:3rem!important}.p-xl-0{padding:0!important}.pt-xl-0,.py-xl-0{padding-top:0!important}.pr-xl-0,.px-xl-0{padding-right:0!important}.pb-xl-0,.py-xl-0{padding-bottom:0!important}.pl-xl-0,.px-xl-0{padding-left:0!important}.p-xl-1{padding:.25rem!important}.pt-xl-1,.py-xl-1{padding-top:.25rem!important}.pr-xl-1,.px-xl-1{padding-right:.25rem!important}.pb-xl-1,.py-xl-1{padding-bottom:.25rem!important}.pl-xl-1,.px-xl-1{padding-left:.25rem!important}.p-xl-2{padding:.5rem!important}.pt-xl-2,.py-xl-2{padding-top:.5rem!important}.pr-xl-2,.px-xl-2{padding-right:.5rem!important}.pb-xl-2,.py-xl-2{padding-bottom:.5rem!important}.pl-xl-2,.px-xl-2{padding-left:.5rem!important}.p-xl-3{padding:1rem!important}.pt-xl-3,.py-xl-3{padding-top:1rem!important}.pr-xl-3,.px-xl-3{padding-right:1rem!important}.pb-xl-3,.py-xl-3{padding-bottom:1rem!important}.pl-xl-3,.px-xl-3{padding-left:1rem!important}.p-xl-4{padding:1.5rem!important}.pt-xl-4,.py-xl-4{padding-top:1.5rem!important}.pr-xl-4,.px-xl-4{padding-right:1.5rem!important}.pb-xl-4,.py-xl-4{padding-bottom:1.5rem!important}.pl-xl-4,.px-xl-4{padding-left:1.5rem!important}.p-xl-5{padding:3rem!important}.pt-xl-5,.py-xl-5{padding-top:3rem!important}.pr-xl-5,.px-xl-5{padding-right:3rem!important}.pb-xl-5,.py-xl-5{padding-bottom:3rem!important}.pl-xl-5,.px-xl-5{padding-left:3rem!important}.m-xl-auto{margin:auto!important}.mt-xl-auto,.my-xl-auto{margin-top:auto!important}.mr-xl-auto,.mx-xl-auto{margin-right:auto!important}.mb-xl-auto,.my-xl-auto{margin-bottom:auto!important}.ml-xl-auto,.mx-xl-auto{margin-left:auto!important}}.text-monospace{font-family:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace}.text-justify{text-align:justify!important}.text-nowrap{white-space:nowrap!important}.text-truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.text-left{text-align:left!important}.text-right{text-align:right!important}.text-center{text-align:center!important}@media (min-width:576px){.text-sm-left{text-align:left!important}.text-sm-right{text-align:right!important}.text-sm-center{text-align:center!important}}@media (min-width:768px){.text-md-left{text-align:left!important}.text-md-right{text-align:right!important}.text-md-center{text-align:center!important}}@media (min-width:992px){.text-lg-left{text-align:left!important}.text-lg-right{text-align:right!important}.text-lg-center{text-align:center!important}}@media (min-width:1200px){.text-xl-left{text-align:left!important}.text-xl-right{text-align:right!important}.text-xl-center{text-align:center!important}}.text-lowercase{text-transform:lowercase!important}.text-uppercase{text-transform:uppercase!important}.text-capitalize{text-transform:capitalize!important}.font-weight-light{font-weight:300!important}.font-weight-normal{font-weight:400!important}.font-weight-bold{font-weight:700!important}.font-italic{font-style:italic!important}.text-white{color:#fff!important}.text-primary{color:#007bff!important}a.text-primary:focus,a.text-primary:hover{color:#0062cc!important}.text-secondary{color:#6c757d!important}a.text-secondary:focus,a.text-secondary:hover{color:#545b62!important}.text-success{color:#28a745!important}a.text-success:focus,a.text-success:hover{color:#1e7e34!important}.text-info{color:#17a2b8!important}a.text-info:focus,a.text-info:hover{color:#117a8b!important}.text-warning{color:#ffc107!important}a.text-warning:focus,a.text-warning:hover{color:#d39e00!important}.text-danger{color:#dc3545!important}a.text-danger:focus,a.text-danger:hover{color:#bd2130!important}.text-light{color:#f8f9fa!important}a.text-light:focus,a.text-light:hover{color:#dae0e5!important}.text-dark{color:#343a40!important}a.text-dark:focus,a.text-dark:hover{color:#1d2124!important}.text-body{color:#212529!important}.text-muted{color:#6c757d!important}.text-black-50{color:rgba(0,0,0,.5)!important}.text-white-50{color:rgba(255,255,255,.5)!important}.text-hide{font:0/0 a;color:transparent;text-shadow:none;background-color:transparent;border:0}.visible{visibility:visible!important}.invisible{visibility:hidden!important}@media print{*,::after,::before{text-shadow:none!important;box-shadow:none!important}a:not(.btn){text-decoration:underline}abbr[title]::after{content:" (" attr(title) ")"}pre{white-space:pre-wrap!important}blockquote,pre{border:1px solid #adb5bd;page-break-inside:avoid}thead{display:table-header-group}img,tr{page-break-inside:avoid}h2,h3,p{orphans:3;widows:3}h2,h3{page-break-after:avoid}@page{size:a3}body{min-width:992px!important}.container{min-width:992px!important}.navbar{display:none}.badge{border:1px solid #000}.table{border-collapse:collapse!important}.table td,.table th{background-color:#fff!important}.table-bordered td,.table-bordered th{border:1px solid #dee2e6!important}.table-dark{color:inherit}.table-dark tbody+tbody,.table-dark td,.table-dark th,.table-dark thead th{border-color:#dee2e6}.table .thead-dark th{color:inherit;border-color:#dee2e6}} +/*# sourceMappingURL=bootstrap.min.css.map */ \ No newline at end of file diff --git a/assets/css/custom-animation.css b/assets/css/custom-animation.css new file mode 100644 index 000000000..6222ba52c --- /dev/null +++ b/assets/css/custom-animation.css @@ -0,0 +1,352 @@ +@-webkit-keyframes jump { + 0% {-webkit-transform: translate3d(0,0,0);transform: translate3d(0,0,0);} + 40% {-webkit-transform: translate3d(0,50%,0);transform: translate3d(0,50%,0);} + 100% {-webkit-transform: translate3d(0,0,0);transform: translate3d(0,0,0);} +} +@keyframes jump { + 0% {-webkit-transform: translate3d(0,0,0);transform: translate3d(0,0,0);} + 40% {-webkit-transform: translate3d(0,50%,0);transform: translate3d(0,50%,0);} + 100% {-webkit-transform: translate3d(0,0,0);transform: translate3d(0,0,0);} +} + +@-webkit-keyframes rotated { + 0% {-webkit-transform: rotate(0);transform: rotate(0);} + 100% {-webkit-transform: rotate(360deg);transform: rotate(360deg);} +} +@keyframes rotated { + 0% {-webkit-transform: rotate(0);transform: rotate(0);} + 100% {-webkit-transform: rotate(360deg);transform: rotate(360deg);} +} + +@-webkit-keyframes rotatedHalf { + 0% {-webkit-transform: rotate(0);transform: rotate(0);} + 50% {-webkit-transform: rotate(90deg);transform: rotate(90deg);} + 100% {-webkit-transform: rotate(0);transform: rotate(0);} +} +@keyframes rotatedHalf { + 0% {-webkit-transform: rotate(0);transform: rotate(0);} + 50% {-webkit-transform: rotate(90deg);transform: rotate(90deg);} + 100% {-webkit-transform: rotate(0);transform: rotate(0);} +} + +@-webkit-keyframes rotatedHalfTwo { + 0% {-webkit-transform: rotate(-90deg);transform: rotate(-90deg);} + 100% {-webkit-transform: rotate(90deg);transform: rotate(90deg);} +} +@keyframes rotatedHalfTwo { + 0% {-webkit-transform: rotate(-90deg);transform: rotate(-90deg);} + 100% {-webkit-transform: rotate(90deg);transform: rotate(90deg);} +} + + +@-webkit-keyframes scale-upOne { + 0% {-webkit-transform: scale(1);transform: scale(1);} + 100% {-webkit-transform: scale(0.2);transform: scale(0.2);} +} +@keyframes scale-upOne { + 0% {-webkit-transform: scale(1);transform: scale(1);} + 100% {-webkit-transform: scale(0.2);transform: scale(0.2);} +} + +@-webkit-keyframes scale-right { + 0% {-webkit-transform: translateX(-50%);transform: translateX(-50%);} + 50% {-webkit-transform: translateX(50%);transform: translateX(50%);} + 100% {-webkit-transform: translateX(-50%);transform: translateX(-50%);} +} +@keyframes scale-right { + 0% {-webkit-transform: translateX(-50%);transform: translateX(-50%);} + 50% {-webkit-transform: translateX(50%);transform: translateX(50%);} + 100% {-webkit-transform: translateX(-50%);transform: translateX(-50%);} +} + +@-webkit-keyframes fade-in { + 0% {opacity: 0.7;} + 40% {opacity: 1;} + 100% {opacity: 0.7;} +} +@keyframes fade-in { + 0% {opacity: 0.7;} + 40% {opacity: 1;} + 100% {opacity: 0.7;} +} + + +@keyframes hvr-ripple-out { + 0% { + top: 0px; + right: 0px; + bottom: 0px; + left: 0px; + opacity: 1; + } + 100% { + top: -6px; + right: -6px; + bottom: -6px; + left: -6px; + opacity: 0; + } +} +@keyframes hvr-ripple-out-two { + 0% { + top: 0; + right: 0; + bottom: 0; + left: 0; + opacity: 1; + } + 100% { + top: -12px; + right: -12px; + bottom: -12px; + left: -12px; + opacity: 0; + } +} + +@-webkit-keyframes scale-up-one { + 0% {-webkit-transform: scale(1);transform: scale(1);} + 40% {-webkit-transform: scale(0.5);transform: scale(0.5);} + 100% {-webkit-transform: scale(1);transform: scale(1);} +} +@keyframes scale-up-one { + 0% {-webkit-transform: scale(1);transform: scale(1);} + 40% {-webkit-transform: scale(0.5);transform: scale(0.5);} + 100% {-webkit-transform: scale(1);transform: scale(1);} +} +@-webkit-keyframes scale-up-two { + 0% {-webkit-transform: scale(0.5);transform: scale(0.5);} + 40% {-webkit-transform: scale(0.8);transform: scale(0.8);} + 100% {-webkit-transform: scale(0.5);transform: scale(0.5);} +} +@keyframes scale-up-two { + 0% {-webkit-transform: scale(0.5);transform: scale(0.5);} + 40% {-webkit-transform: scale(0.8);transform: scale(0.8);} + 100% {-webkit-transform: scale(0.5);transform: scale(0.5);} +} +@-webkit-keyframes scale-up-three { + 0% {-webkit-transform: scale(0.7);transform: scale(0.7);} + 40% {-webkit-transform: scale(0.4);transform: scale(0.4);} + 100% {-webkit-transform: scale(0.7);transform: scale(0.7);} +} +@keyframes scale-up-three { + 0% {-webkit-transform: scale(0.7);transform: scale(0.7);} + 40% {-webkit-transform: scale(0.4);transform: scale(0.4);} + 100% {-webkit-transform: scale(0.7);transform: scale(0.7);} +} + + +@keyframes animationFramesOne{ + 0% { + transform: translate(0px,0px) rotate(0deg) ; + } + 20% { + transform: translate(73px,-1px) rotate(36deg) ; + } + 40% { + transform: translate(141px,72px) rotate(72deg) ; + } + 60% { + transform: translate(83px,122px) rotate(108deg) ; + } + 80% { + transform: translate(-40px,72px) rotate(144deg) ; + } + 100% { + transform: translate(0px,0px) rotate(0deg) ; + } +} + + +@-webkit-keyframes animationFramesOne { + 0% { + -webkit-transform: translate(0px,0px) rotate(0deg) ; + } + 20% { + -webkit-transform: translate(73px,-1px) rotate(36deg) ; + } + 40% { + -webkit-transform: translate(141px,72px) rotate(72deg) ; + } + 60% { + -webkit-transform: translate(83px,122px) rotate(108deg) ; + } + 80% { + -webkit-transform: translate(-40px,72px) rotate(144deg) ; + } + 100% { + -webkit-transform: translate(0px,0px) rotate(0deg) ; + } +} + +@keyframes animationFramesTwo{ + 0% { + transform: translate(0px,0px) rotate(0deg) scale(1) ; + } + 20% { + transform: translate(73px,-1px) rotate(36deg) scale(0.9); + } + 40% { + transform: translate(141px,72px) rotate(72deg) scale(1); + } + 60% { + transform: translate(83px,122px) rotate(108deg) scale(1.2); + } + 80% { + transform: translate(-40px,72px) rotate(144deg) scale(1.1); + } + 100% { + transform: translate(0px,0px) rotate(0deg) scale(1); + } +} + + +@-webkit-keyframes animationFramesTwo { + 0% { + -webkit-transform: translate(0px,0px) rotate(0deg) scale(1); + } + 20% { + -webkit-transform: translate(73px,-1px) rotate(36deg) scale(0.9); + } + 40% { + -webkit-transform: translate(141px,72px) rotate(72deg) scale(1); + } + 60% { + -webkit-transform: translate(83px,122px) rotate(108deg) scale(1.2); + } + 80% { + -webkit-transform: translate(-40px,72px) rotate(144deg) scale(1.1); + } + 100% { + -webkit-transform: translate(0px,0px) rotate(0deg) scale(1); + } +} + + +@keyframes animationFramesThree{ + 0% { + transform: translate(165px,-179px) ; + } + 100% { + transform: translate(-346px,617px) ; + } +} + + +@-webkit-keyframes animationFramesThree { + 0% { + -webkit-transform: translate(165px,-179px) ; + } + 100% { + -webkit-transform: translate(-346px,617px) ; + } +} + + +@keyframes animationFramesFour{ + 0% { + transform: translate(-300px,151px) rotate(0deg) ; + } + 100% { + transform: translate(251px,-200px) rotate(180deg) ; + } +} + + +@-webkit-keyframes animationFramesFour { + 0% { + -webkit-transform: translate(-300px,151px) rotate(0deg) ; + } + 100% { + -webkit-transform: translate(251px,-200px) rotate(180deg) ; + } +} + + +@keyframes animationFramesFive{ + 0% { + transform: translate(61px,-99px) rotate(0deg) ; + } + 21% { + transform: translate(4px,-190px) rotate(38deg) ; + } + 41% { + transform: translate(-139px,-200px) rotate(74deg) ; + } + 60% { + transform: translate(-263px,-164px) rotate(108deg) ; + } + 80% { + transform: translate(-195px,-49px) rotate(144deg) ; + } + 100% { + transform: translate(-1px,0px) rotate(180deg) ; + } +} + + +@-webkit-keyframes animationFramesFive { + 0% { + -webkit-transform: translate(61px,-99px) rotate(0deg) ; + } + 21% { + -webkit-transform: translate(4px,-190px) rotate(38deg) ; + } + 41% { + -webkit-transform: translate(-139px,-200px) rotate(74deg) ; + } + 60% { + -webkit-transform: translate(-263px,-164px) rotate(108deg) ; + } + 80% { + -webkit-transform: translate(-195px,-49px) rotate(144deg) ; + } + 100% { + -webkit-transform: translate(-1px,0px) rotate(180deg) ; + } +} + +@keyframes gradientBG { + 0% { + background-position: 0 0; + } + 50% { + background-position: 300% 0; + } + 100% { + background-position: 0 0; + } +} +@-webkit-keyframes gradientBG { + 0% { + background-position: 0 0; + } + 50% { + background-position: 300% 0; + } + 100% { + background-position: 0 0; + } +} +@keyframes imageBgAnim { + 0% { + background-position: 0 0; + } + 50% { + background-position: 120% 0; + } + 100% { + background-position: 0 0; + } +} +@-webkit-keyframes gradientBG { + 0% { + background-position: 0 0; + } + 50% { + background-position: 120% 0; + } + 100% { + background-position: 0 0; + } +} \ No newline at end of file diff --git a/assets/css/fontawesome-all.min.css b/assets/css/fontawesome-all.min.css new file mode 100644 index 000000000..1ddb8815f --- /dev/null +++ b/assets/css/fontawesome-all.min.css @@ -0,0 +1,5 @@ +/*! + * Font Awesome Free 5.8.0 by @fontawesome - https://fontawesome.com + * License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) + */ +.fa,.fab,.fal,.far,.fas{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;display:inline-block;font-style:normal;font-variant:normal;text-rendering:auto;line-height:1}.fa-lg{font-size:1.33333em;line-height:.75em;vertical-align:-.0667em}.fa-xs{font-size:.75em}.fa-sm{font-size:.875em}.fa-1x{font-size:1em}.fa-2x{font-size:2em}.fa-3x{font-size:3em}.fa-4x{font-size:4em}.fa-5x{font-size:5em}.fa-6x{font-size:6em}.fa-7x{font-size:7em}.fa-8x{font-size:8em}.fa-9x{font-size:9em}.fa-10x{font-size:10em}.fa-fw{text-align:center;width:1.25em}.fa-ul{list-style-type:none;margin-left:2.5em;padding-left:0}.fa-ul>li{position:relative}.fa-li{left:-2em;position:absolute;text-align:center;width:2em;line-height:inherit}.fa-border{border:.08em solid #eee;border-radius:.1em;padding:.2em .25em .15em}.fa-pull-left{float:left}.fa-pull-right{float:right}.fa.fa-pull-left,.fab.fa-pull-left,.fal.fa-pull-left,.far.fa-pull-left,.fas.fa-pull-left{margin-right:.3em}.fa.fa-pull-right,.fab.fa-pull-right,.fal.fa-pull-right,.far.fa-pull-right,.fas.fa-pull-right{margin-left:.3em}.fa-spin{animation:fa-spin 2s infinite linear}.fa-pulse{animation:fa-spin 1s infinite steps(8)}@keyframes fa-spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.fa-rotate-90{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=1)";transform:rotate(90deg)}.fa-rotate-180{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=2)";transform:rotate(180deg)}.fa-rotate-270{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=3)";transform:rotate(270deg)}.fa-flip-horizontal{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1)";transform:scaleX(-1)}.fa-flip-vertical{transform:scaleY(-1)}.fa-flip-both,.fa-flip-horizontal.fa-flip-vertical,.fa-flip-vertical{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)"}.fa-flip-both,.fa-flip-horizontal.fa-flip-vertical{transform:scale(-1)}:root .fa-flip-both,:root .fa-flip-horizontal,:root .fa-flip-vertical,:root .fa-rotate-90,:root .fa-rotate-180,:root .fa-rotate-270{filter:none}.fa-stack{display:inline-block;height:2em;line-height:2em;position:relative;vertical-align:middle;width:2.5em}.fa-stack-1x,.fa-stack-2x{left:0;position:absolute;text-align:center;width:100%}.fa-stack-1x{line-height:inherit}.fa-stack-2x{font-size:2em}.fa-inverse{color:#fff}.fa-500px:before{content:"\f26e"}.fa-accessible-icon:before{content:"\f368"}.fa-accusoft:before{content:"\f369"}.fa-acquisitions-incorporated:before{content:"\f6af"}.fa-ad:before{content:"\f641"}.fa-address-book:before{content:"\f2b9"}.fa-address-card:before{content:"\f2bb"}.fa-adjust:before{content:"\f042"}.fa-adn:before{content:"\f170"}.fa-adobe:before{content:"\f778"}.fa-adversal:before{content:"\f36a"}.fa-affiliatetheme:before{content:"\f36b"}.fa-air-freshener:before{content:"\f5d0"}.fa-airbnb:before{content:"\f834"}.fa-algolia:before{content:"\f36c"}.fa-align-center:before{content:"\f037"}.fa-align-justify:before{content:"\f039"}.fa-align-left:before{content:"\f036"}.fa-align-right:before{content:"\f038"}.fa-alipay:before{content:"\f642"}.fa-allergies:before{content:"\f461"}.fa-amazon:before{content:"\f270"}.fa-amazon-pay:before{content:"\f42c"}.fa-ambulance:before{content:"\f0f9"}.fa-american-sign-language-interpreting:before{content:"\f2a3"}.fa-amilia:before{content:"\f36d"}.fa-anchor:before{content:"\f13d"}.fa-android:before{content:"\f17b"}.fa-angellist:before{content:"\f209"}.fa-angle-double-down:before{content:"\f103"}.fa-angle-double-left:before{content:"\f100"}.fa-angle-double-right:before{content:"\f101"}.fa-angle-double-up:before{content:"\f102"}.fa-angle-down:before{content:"\f107"}.fa-angle-left:before{content:"\f104"}.fa-angle-right:before{content:"\f105"}.fa-angle-up:before{content:"\f106"}.fa-angry:before{content:"\f556"}.fa-angrycreative:before{content:"\f36e"}.fa-angular:before{content:"\f420"}.fa-ankh:before{content:"\f644"}.fa-app-store:before{content:"\f36f"}.fa-app-store-ios:before{content:"\f370"}.fa-apper:before{content:"\f371"}.fa-apple:before{content:"\f179"}.fa-apple-alt:before{content:"\f5d1"}.fa-apple-pay:before{content:"\f415"}.fa-archive:before{content:"\f187"}.fa-archway:before{content:"\f557"}.fa-arrow-alt-circle-down:before{content:"\f358"}.fa-arrow-alt-circle-left:before{content:"\f359"}.fa-arrow-alt-circle-right:before{content:"\f35a"}.fa-arrow-alt-circle-up:before{content:"\f35b"}.fa-arrow-circle-down:before{content:"\f0ab"}.fa-arrow-circle-left:before{content:"\f0a8"}.fa-arrow-circle-right:before{content:"\f0a9"}.fa-arrow-circle-up:before{content:"\f0aa"}.fa-arrow-down:before{content:"\f063"}.fa-arrow-left:before{content:"\f060"}.fa-arrow-right:before{content:"\f061"}.fa-arrow-up:before{content:"\f062"}.fa-arrows-alt:before{content:"\f0b2"}.fa-arrows-alt-h:before{content:"\f337"}.fa-arrows-alt-v:before{content:"\f338"}.fa-artstation:before{content:"\f77a"}.fa-assistive-listening-systems:before{content:"\f2a2"}.fa-asterisk:before{content:"\f069"}.fa-asymmetrik:before{content:"\f372"}.fa-at:before{content:"\f1fa"}.fa-atlas:before{content:"\f558"}.fa-atlassian:before{content:"\f77b"}.fa-atom:before{content:"\f5d2"}.fa-audible:before{content:"\f373"}.fa-audio-description:before{content:"\f29e"}.fa-autoprefixer:before{content:"\f41c"}.fa-avianex:before{content:"\f374"}.fa-aviato:before{content:"\f421"}.fa-award:before{content:"\f559"}.fa-aws:before{content:"\f375"}.fa-baby:before{content:"\f77c"}.fa-baby-carriage:before{content:"\f77d"}.fa-backspace:before{content:"\f55a"}.fa-backward:before{content:"\f04a"}.fa-bacon:before{content:"\f7e5"}.fa-balance-scale:before{content:"\f24e"}.fa-ban:before{content:"\f05e"}.fa-band-aid:before{content:"\f462"}.fa-bandcamp:before{content:"\f2d5"}.fa-barcode:before{content:"\f02a"}.fa-bars:before{content:"\f0c9"}.fa-baseball-ball:before{content:"\f433"}.fa-basketball-ball:before{content:"\f434"}.fa-bath:before{content:"\f2cd"}.fa-battery-empty:before{content:"\f244"}.fa-battery-full:before{content:"\f240"}.fa-battery-half:before{content:"\f242"}.fa-battery-quarter:before{content:"\f243"}.fa-battery-three-quarters:before{content:"\f241"}.fa-battle-net:before{content:"\f835"}.fa-bed:before{content:"\f236"}.fa-beer:before{content:"\f0fc"}.fa-behance:before{content:"\f1b4"}.fa-behance-square:before{content:"\f1b5"}.fa-bell:before{content:"\f0f3"}.fa-bell-slash:before{content:"\f1f6"}.fa-bezier-curve:before{content:"\f55b"}.fa-bible:before{content:"\f647"}.fa-bicycle:before{content:"\f206"}.fa-bimobject:before{content:"\f378"}.fa-binoculars:before{content:"\f1e5"}.fa-biohazard:before{content:"\f780"}.fa-birthday-cake:before{content:"\f1fd"}.fa-bitbucket:before{content:"\f171"}.fa-bitcoin:before{content:"\f379"}.fa-bity:before{content:"\f37a"}.fa-black-tie:before{content:"\f27e"}.fa-blackberry:before{content:"\f37b"}.fa-blender:before{content:"\f517"}.fa-blender-phone:before{content:"\f6b6"}.fa-blind:before{content:"\f29d"}.fa-blog:before{content:"\f781"}.fa-blogger:before{content:"\f37c"}.fa-blogger-b:before{content:"\f37d"}.fa-bluetooth:before{content:"\f293"}.fa-bluetooth-b:before{content:"\f294"}.fa-bold:before{content:"\f032"}.fa-bolt:before{content:"\f0e7"}.fa-bomb:before{content:"\f1e2"}.fa-bone:before{content:"\f5d7"}.fa-bong:before{content:"\f55c"}.fa-book:before{content:"\f02d"}.fa-book-dead:before{content:"\f6b7"}.fa-book-medical:before{content:"\f7e6"}.fa-book-open:before{content:"\f518"}.fa-book-reader:before{content:"\f5da"}.fa-bookmark:before{content:"\f02e"}.fa-bootstrap:before{content:"\f836"}.fa-bowling-ball:before{content:"\f436"}.fa-box:before{content:"\f466"}.fa-box-open:before{content:"\f49e"}.fa-boxes:before{content:"\f468"}.fa-braille:before{content:"\f2a1"}.fa-brain:before{content:"\f5dc"}.fa-bread-slice:before{content:"\f7ec"}.fa-briefcase:before{content:"\f0b1"}.fa-briefcase-medical:before{content:"\f469"}.fa-broadcast-tower:before{content:"\f519"}.fa-broom:before{content:"\f51a"}.fa-brush:before{content:"\f55d"}.fa-btc:before{content:"\f15a"}.fa-buffer:before{content:"\f837"}.fa-bug:before{content:"\f188"}.fa-building:before{content:"\f1ad"}.fa-bullhorn:before{content:"\f0a1"}.fa-bullseye:before{content:"\f140"}.fa-burn:before{content:"\f46a"}.fa-buromobelexperte:before{content:"\f37f"}.fa-bus:before{content:"\f207"}.fa-bus-alt:before{content:"\f55e"}.fa-business-time:before{content:"\f64a"}.fa-buysellads:before{content:"\f20d"}.fa-calculator:before{content:"\f1ec"}.fa-calendar:before{content:"\f133"}.fa-calendar-alt:before{content:"\f073"}.fa-calendar-check:before{content:"\f274"}.fa-calendar-day:before{content:"\f783"}.fa-calendar-minus:before{content:"\f272"}.fa-calendar-plus:before{content:"\f271"}.fa-calendar-times:before{content:"\f273"}.fa-calendar-week:before{content:"\f784"}.fa-camera:before{content:"\f030"}.fa-camera-retro:before{content:"\f083"}.fa-campground:before{content:"\f6bb"}.fa-canadian-maple-leaf:before{content:"\f785"}.fa-candy-cane:before{content:"\f786"}.fa-cannabis:before{content:"\f55f"}.fa-capsules:before{content:"\f46b"}.fa-car:before{content:"\f1b9"}.fa-car-alt:before{content:"\f5de"}.fa-car-battery:before{content:"\f5df"}.fa-car-crash:before{content:"\f5e1"}.fa-car-side:before{content:"\f5e4"}.fa-caret-down:before{content:"\f0d7"}.fa-caret-left:before{content:"\f0d9"}.fa-caret-right:before{content:"\f0da"}.fa-caret-square-down:before{content:"\f150"}.fa-caret-square-left:before{content:"\f191"}.fa-caret-square-right:before{content:"\f152"}.fa-caret-square-up:before{content:"\f151"}.fa-caret-up:before{content:"\f0d8"}.fa-carrot:before{content:"\f787"}.fa-cart-arrow-down:before{content:"\f218"}.fa-cart-plus:before{content:"\f217"}.fa-cash-register:before{content:"\f788"}.fa-cat:before{content:"\f6be"}.fa-cc-amazon-pay:before{content:"\f42d"}.fa-cc-amex:before{content:"\f1f3"}.fa-cc-apple-pay:before{content:"\f416"}.fa-cc-diners-club:before{content:"\f24c"}.fa-cc-discover:before{content:"\f1f2"}.fa-cc-jcb:before{content:"\f24b"}.fa-cc-mastercard:before{content:"\f1f1"}.fa-cc-paypal:before{content:"\f1f4"}.fa-cc-stripe:before{content:"\f1f5"}.fa-cc-visa:before{content:"\f1f0"}.fa-centercode:before{content:"\f380"}.fa-centos:before{content:"\f789"}.fa-certificate:before{content:"\f0a3"}.fa-chair:before{content:"\f6c0"}.fa-chalkboard:before{content:"\f51b"}.fa-chalkboard-teacher:before{content:"\f51c"}.fa-charging-station:before{content:"\f5e7"}.fa-chart-area:before{content:"\f1fe"}.fa-chart-bar:before{content:"\f080"}.fa-chart-line:before{content:"\f201"}.fa-chart-pie:before{content:"\f200"}.fa-check:before{content:"\f00c"}.fa-check-circle:before{content:"\f058"}.fa-check-double:before{content:"\f560"}.fa-check-square:before{content:"\f14a"}.fa-cheese:before{content:"\f7ef"}.fa-chess:before{content:"\f439"}.fa-chess-bishop:before{content:"\f43a"}.fa-chess-board:before{content:"\f43c"}.fa-chess-king:before{content:"\f43f"}.fa-chess-knight:before{content:"\f441"}.fa-chess-pawn:before{content:"\f443"}.fa-chess-queen:before{content:"\f445"}.fa-chess-rook:before{content:"\f447"}.fa-chevron-circle-down:before{content:"\f13a"}.fa-chevron-circle-left:before{content:"\f137"}.fa-chevron-circle-right:before{content:"\f138"}.fa-chevron-circle-up:before{content:"\f139"}.fa-chevron-down:before{content:"\f078"}.fa-chevron-left:before{content:"\f053"}.fa-chevron-right:before{content:"\f054"}.fa-chevron-up:before{content:"\f077"}.fa-child:before{content:"\f1ae"}.fa-chrome:before{content:"\f268"}.fa-chromecast:before{content:"\f838"}.fa-church:before{content:"\f51d"}.fa-circle:before{content:"\f111"}.fa-circle-notch:before{content:"\f1ce"}.fa-city:before{content:"\f64f"}.fa-clinic-medical:before{content:"\f7f2"}.fa-clipboard:before{content:"\f328"}.fa-clipboard-check:before{content:"\f46c"}.fa-clipboard-list:before{content:"\f46d"}.fa-clock:before{content:"\f017"}.fa-clone:before{content:"\f24d"}.fa-closed-captioning:before{content:"\f20a"}.fa-cloud:before{content:"\f0c2"}.fa-cloud-download-alt:before{content:"\f381"}.fa-cloud-meatball:before{content:"\f73b"}.fa-cloud-moon:before{content:"\f6c3"}.fa-cloud-moon-rain:before{content:"\f73c"}.fa-cloud-rain:before{content:"\f73d"}.fa-cloud-showers-heavy:before{content:"\f740"}.fa-cloud-sun:before{content:"\f6c4"}.fa-cloud-sun-rain:before{content:"\f743"}.fa-cloud-upload-alt:before{content:"\f382"}.fa-cloudscale:before{content:"\f383"}.fa-cloudsmith:before{content:"\f384"}.fa-cloudversify:before{content:"\f385"}.fa-cocktail:before{content:"\f561"}.fa-code:before{content:"\f121"}.fa-code-branch:before{content:"\f126"}.fa-codepen:before{content:"\f1cb"}.fa-codiepie:before{content:"\f284"}.fa-coffee:before{content:"\f0f4"}.fa-cog:before{content:"\f013"}.fa-cogs:before{content:"\f085"}.fa-coins:before{content:"\f51e"}.fa-columns:before{content:"\f0db"}.fa-comment:before{content:"\f075"}.fa-comment-alt:before{content:"\f27a"}.fa-comment-dollar:before{content:"\f651"}.fa-comment-dots:before{content:"\f4ad"}.fa-comment-medical:before{content:"\f7f5"}.fa-comment-slash:before{content:"\f4b3"}.fa-comments:before{content:"\f086"}.fa-comments-dollar:before{content:"\f653"}.fa-compact-disc:before{content:"\f51f"}.fa-compass:before{content:"\f14e"}.fa-compress:before{content:"\f066"}.fa-compress-arrows-alt:before{content:"\f78c"}.fa-concierge-bell:before{content:"\f562"}.fa-confluence:before{content:"\f78d"}.fa-connectdevelop:before{content:"\f20e"}.fa-contao:before{content:"\f26d"}.fa-cookie:before{content:"\f563"}.fa-cookie-bite:before{content:"\f564"}.fa-copy:before{content:"\f0c5"}.fa-copyright:before{content:"\f1f9"}.fa-couch:before{content:"\f4b8"}.fa-cpanel:before{content:"\f388"}.fa-creative-commons:before{content:"\f25e"}.fa-creative-commons-by:before{content:"\f4e7"}.fa-creative-commons-nc:before{content:"\f4e8"}.fa-creative-commons-nc-eu:before{content:"\f4e9"}.fa-creative-commons-nc-jp:before{content:"\f4ea"}.fa-creative-commons-nd:before{content:"\f4eb"}.fa-creative-commons-pd:before{content:"\f4ec"}.fa-creative-commons-pd-alt:before{content:"\f4ed"}.fa-creative-commons-remix:before{content:"\f4ee"}.fa-creative-commons-sa:before{content:"\f4ef"}.fa-creative-commons-sampling:before{content:"\f4f0"}.fa-creative-commons-sampling-plus:before{content:"\f4f1"}.fa-creative-commons-share:before{content:"\f4f2"}.fa-creative-commons-zero:before{content:"\f4f3"}.fa-credit-card:before{content:"\f09d"}.fa-critical-role:before{content:"\f6c9"}.fa-crop:before{content:"\f125"}.fa-crop-alt:before{content:"\f565"}.fa-cross:before{content:"\f654"}.fa-crosshairs:before{content:"\f05b"}.fa-crow:before{content:"\f520"}.fa-crown:before{content:"\f521"}.fa-crutch:before{content:"\f7f7"}.fa-css3:before{content:"\f13c"}.fa-css3-alt:before{content:"\f38b"}.fa-cube:before{content:"\f1b2"}.fa-cubes:before{content:"\f1b3"}.fa-cut:before{content:"\f0c4"}.fa-cuttlefish:before{content:"\f38c"}.fa-d-and-d:before{content:"\f38d"}.fa-d-and-d-beyond:before{content:"\f6ca"}.fa-dashcube:before{content:"\f210"}.fa-database:before{content:"\f1c0"}.fa-deaf:before{content:"\f2a4"}.fa-delicious:before{content:"\f1a5"}.fa-democrat:before{content:"\f747"}.fa-deploydog:before{content:"\f38e"}.fa-deskpro:before{content:"\f38f"}.fa-desktop:before{content:"\f108"}.fa-dev:before{content:"\f6cc"}.fa-deviantart:before{content:"\f1bd"}.fa-dharmachakra:before{content:"\f655"}.fa-dhl:before{content:"\f790"}.fa-diagnoses:before{content:"\f470"}.fa-diaspora:before{content:"\f791"}.fa-dice:before{content:"\f522"}.fa-dice-d20:before{content:"\f6cf"}.fa-dice-d6:before{content:"\f6d1"}.fa-dice-five:before{content:"\f523"}.fa-dice-four:before{content:"\f524"}.fa-dice-one:before{content:"\f525"}.fa-dice-six:before{content:"\f526"}.fa-dice-three:before{content:"\f527"}.fa-dice-two:before{content:"\f528"}.fa-digg:before{content:"\f1a6"}.fa-digital-ocean:before{content:"\f391"}.fa-digital-tachograph:before{content:"\f566"}.fa-directions:before{content:"\f5eb"}.fa-discord:before{content:"\f392"}.fa-discourse:before{content:"\f393"}.fa-divide:before{content:"\f529"}.fa-dizzy:before{content:"\f567"}.fa-dna:before{content:"\f471"}.fa-dochub:before{content:"\f394"}.fa-docker:before{content:"\f395"}.fa-dog:before{content:"\f6d3"}.fa-dollar-sign:before{content:"\f155"}.fa-dolly:before{content:"\f472"}.fa-dolly-flatbed:before{content:"\f474"}.fa-donate:before{content:"\f4b9"}.fa-door-closed:before{content:"\f52a"}.fa-door-open:before{content:"\f52b"}.fa-dot-circle:before{content:"\f192"}.fa-dove:before{content:"\f4ba"}.fa-download:before{content:"\f019"}.fa-draft2digital:before{content:"\f396"}.fa-drafting-compass:before{content:"\f568"}.fa-dragon:before{content:"\f6d5"}.fa-draw-polygon:before{content:"\f5ee"}.fa-dribbble:before{content:"\f17d"}.fa-dribbble-square:before{content:"\f397"}.fa-dropbox:before{content:"\f16b"}.fa-drum:before{content:"\f569"}.fa-drum-steelpan:before{content:"\f56a"}.fa-drumstick-bite:before{content:"\f6d7"}.fa-drupal:before{content:"\f1a9"}.fa-dumbbell:before{content:"\f44b"}.fa-dumpster:before{content:"\f793"}.fa-dumpster-fire:before{content:"\f794"}.fa-dungeon:before{content:"\f6d9"}.fa-dyalog:before{content:"\f399"}.fa-earlybirds:before{content:"\f39a"}.fa-ebay:before{content:"\f4f4"}.fa-edge:before{content:"\f282"}.fa-edit:before{content:"\f044"}.fa-egg:before{content:"\f7fb"}.fa-eject:before{content:"\f052"}.fa-elementor:before{content:"\f430"}.fa-ellipsis-h:before{content:"\f141"}.fa-ellipsis-v:before{content:"\f142"}.fa-ello:before{content:"\f5f1"}.fa-ember:before{content:"\f423"}.fa-empire:before{content:"\f1d1"}.fa-envelope:before{content:"\f0e0"}.fa-envelope-open:before{content:"\f2b6"}.fa-envelope-open-text:before{content:"\f658"}.fa-envelope-square:before{content:"\f199"}.fa-envira:before{content:"\f299"}.fa-equals:before{content:"\f52c"}.fa-eraser:before{content:"\f12d"}.fa-erlang:before{content:"\f39d"}.fa-ethereum:before{content:"\f42e"}.fa-ethernet:before{content:"\f796"}.fa-etsy:before{content:"\f2d7"}.fa-euro-sign:before{content:"\f153"}.fa-evernote:before{content:"\f839"}.fa-exchange-alt:before{content:"\f362"}.fa-exclamation:before{content:"\f12a"}.fa-exclamation-circle:before{content:"\f06a"}.fa-exclamation-triangle:before{content:"\f071"}.fa-expand:before{content:"\f065"}.fa-expand-arrows-alt:before{content:"\f31e"}.fa-expeditedssl:before{content:"\f23e"}.fa-external-link-alt:before{content:"\f35d"}.fa-external-link-square-alt:before{content:"\f360"}.fa-eye:before{content:"\f06e"}.fa-eye-dropper:before{content:"\f1fb"}.fa-eye-slash:before{content:"\f070"}.fa-facebook:before{content:"\f09a"}.fa-facebook-f:before{content:"\f39e"}.fa-facebook-messenger:before{content:"\f39f"}.fa-facebook-square:before{content:"\f082"}.fa-fantasy-flight-games:before{content:"\f6dc"}.fa-fast-backward:before{content:"\f049"}.fa-fast-forward:before{content:"\f050"}.fa-fax:before{content:"\f1ac"}.fa-feather:before{content:"\f52d"}.fa-feather-alt:before{content:"\f56b"}.fa-fedex:before{content:"\f797"}.fa-fedora:before{content:"\f798"}.fa-female:before{content:"\f182"}.fa-fighter-jet:before{content:"\f0fb"}.fa-figma:before{content:"\f799"}.fa-file:before{content:"\f15b"}.fa-file-alt:before{content:"\f15c"}.fa-file-archive:before{content:"\f1c6"}.fa-file-audio:before{content:"\f1c7"}.fa-file-code:before{content:"\f1c9"}.fa-file-contract:before{content:"\f56c"}.fa-file-csv:before{content:"\f6dd"}.fa-file-download:before{content:"\f56d"}.fa-file-excel:before{content:"\f1c3"}.fa-file-export:before{content:"\f56e"}.fa-file-image:before{content:"\f1c5"}.fa-file-import:before{content:"\f56f"}.fa-file-invoice:before{content:"\f570"}.fa-file-invoice-dollar:before{content:"\f571"}.fa-file-medical:before{content:"\f477"}.fa-file-medical-alt:before{content:"\f478"}.fa-file-pdf:before{content:"\f1c1"}.fa-file-powerpoint:before{content:"\f1c4"}.fa-file-prescription:before{content:"\f572"}.fa-file-signature:before{content:"\f573"}.fa-file-upload:before{content:"\f574"}.fa-file-video:before{content:"\f1c8"}.fa-file-word:before{content:"\f1c2"}.fa-fill:before{content:"\f575"}.fa-fill-drip:before{content:"\f576"}.fa-film:before{content:"\f008"}.fa-filter:before{content:"\f0b0"}.fa-fingerprint:before{content:"\f577"}.fa-fire:before{content:"\f06d"}.fa-fire-alt:before{content:"\f7e4"}.fa-fire-extinguisher:before{content:"\f134"}.fa-firefox:before{content:"\f269"}.fa-first-aid:before{content:"\f479"}.fa-first-order:before{content:"\f2b0"}.fa-first-order-alt:before{content:"\f50a"}.fa-firstdraft:before{content:"\f3a1"}.fa-fish:before{content:"\f578"}.fa-fist-raised:before{content:"\f6de"}.fa-flag:before{content:"\f024"}.fa-flag-checkered:before{content:"\f11e"}.fa-flag-usa:before{content:"\f74d"}.fa-flask:before{content:"\f0c3"}.fa-flickr:before{content:"\f16e"}.fa-flipboard:before{content:"\f44d"}.fa-flushed:before{content:"\f579"}.fa-fly:before{content:"\f417"}.fa-folder:before{content:"\f07b"}.fa-folder-minus:before{content:"\f65d"}.fa-folder-open:before{content:"\f07c"}.fa-folder-plus:before{content:"\f65e"}.fa-font:before{content:"\f031"}.fa-font-awesome:before{content:"\f2b4"}.fa-font-awesome-alt:before{content:"\f35c"}.fa-font-awesome-flag:before{content:"\f425"}.fa-font-awesome-logo-full:before{content:"\f4e6"}.fa-fonticons:before{content:"\f280"}.fa-fonticons-fi:before{content:"\f3a2"}.fa-football-ball:before{content:"\f44e"}.fa-fort-awesome:before{content:"\f286"}.fa-fort-awesome-alt:before{content:"\f3a3"}.fa-forumbee:before{content:"\f211"}.fa-forward:before{content:"\f04e"}.fa-foursquare:before{content:"\f180"}.fa-free-code-camp:before{content:"\f2c5"}.fa-freebsd:before{content:"\f3a4"}.fa-frog:before{content:"\f52e"}.fa-frown:before{content:"\f119"}.fa-frown-open:before{content:"\f57a"}.fa-fulcrum:before{content:"\f50b"}.fa-funnel-dollar:before{content:"\f662"}.fa-futbol:before{content:"\f1e3"}.fa-galactic-republic:before{content:"\f50c"}.fa-galactic-senate:before{content:"\f50d"}.fa-gamepad:before{content:"\f11b"}.fa-gas-pump:before{content:"\f52f"}.fa-gavel:before{content:"\f0e3"}.fa-gem:before{content:"\f3a5"}.fa-genderless:before{content:"\f22d"}.fa-get-pocket:before{content:"\f265"}.fa-gg:before{content:"\f260"}.fa-gg-circle:before{content:"\f261"}.fa-ghost:before{content:"\f6e2"}.fa-gift:before{content:"\f06b"}.fa-gifts:before{content:"\f79c"}.fa-git:before{content:"\f1d3"}.fa-git-square:before{content:"\f1d2"}.fa-github:before{content:"\f09b"}.fa-github-alt:before{content:"\f113"}.fa-github-square:before{content:"\f092"}.fa-gitkraken:before{content:"\f3a6"}.fa-gitlab:before{content:"\f296"}.fa-gitter:before{content:"\f426"}.fa-glass-cheers:before{content:"\f79f"}.fa-glass-martini:before{content:"\f000"}.fa-glass-martini-alt:before{content:"\f57b"}.fa-glass-whiskey:before{content:"\f7a0"}.fa-glasses:before{content:"\f530"}.fa-glide:before{content:"\f2a5"}.fa-glide-g:before{content:"\f2a6"}.fa-globe:before{content:"\f0ac"}.fa-globe-africa:before{content:"\f57c"}.fa-globe-americas:before{content:"\f57d"}.fa-globe-asia:before{content:"\f57e"}.fa-globe-europe:before{content:"\f7a2"}.fa-gofore:before{content:"\f3a7"}.fa-golf-ball:before{content:"\f450"}.fa-goodreads:before{content:"\f3a8"}.fa-goodreads-g:before{content:"\f3a9"}.fa-google:before{content:"\f1a0"}.fa-google-drive:before{content:"\f3aa"}.fa-google-play:before{content:"\f3ab"}.fa-google-plus:before{content:"\f2b3"}.fa-google-plus-g:before{content:"\f0d5"}.fa-google-plus-square:before{content:"\f0d4"}.fa-google-wallet:before{content:"\f1ee"}.fa-gopuram:before{content:"\f664"}.fa-graduation-cap:before{content:"\f19d"}.fa-gratipay:before{content:"\f184"}.fa-grav:before{content:"\f2d6"}.fa-greater-than:before{content:"\f531"}.fa-greater-than-equal:before{content:"\f532"}.fa-grimace:before{content:"\f57f"}.fa-grin:before{content:"\f580"}.fa-grin-alt:before{content:"\f581"}.fa-grin-beam:before{content:"\f582"}.fa-grin-beam-sweat:before{content:"\f583"}.fa-grin-hearts:before{content:"\f584"}.fa-grin-squint:before{content:"\f585"}.fa-grin-squint-tears:before{content:"\f586"}.fa-grin-stars:before{content:"\f587"}.fa-grin-tears:before{content:"\f588"}.fa-grin-tongue:before{content:"\f589"}.fa-grin-tongue-squint:before{content:"\f58a"}.fa-grin-tongue-wink:before{content:"\f58b"}.fa-grin-wink:before{content:"\f58c"}.fa-grip-horizontal:before{content:"\f58d"}.fa-grip-lines:before{content:"\f7a4"}.fa-grip-lines-vertical:before{content:"\f7a5"}.fa-grip-vertical:before{content:"\f58e"}.fa-gripfire:before{content:"\f3ac"}.fa-grunt:before{content:"\f3ad"}.fa-guitar:before{content:"\f7a6"}.fa-gulp:before{content:"\f3ae"}.fa-h-square:before{content:"\f0fd"}.fa-hacker-news:before{content:"\f1d4"}.fa-hacker-news-square:before{content:"\f3af"}.fa-hackerrank:before{content:"\f5f7"}.fa-hamburger:before{content:"\f805"}.fa-hammer:before{content:"\f6e3"}.fa-hamsa:before{content:"\f665"}.fa-hand-holding:before{content:"\f4bd"}.fa-hand-holding-heart:before{content:"\f4be"}.fa-hand-holding-usd:before{content:"\f4c0"}.fa-hand-lizard:before{content:"\f258"}.fa-hand-middle-finger:before{content:"\f806"}.fa-hand-paper:before{content:"\f256"}.fa-hand-peace:before{content:"\f25b"}.fa-hand-point-down:before{content:"\f0a7"}.fa-hand-point-left:before{content:"\f0a5"}.fa-hand-point-right:before{content:"\f0a4"}.fa-hand-point-up:before{content:"\f0a6"}.fa-hand-pointer:before{content:"\f25a"}.fa-hand-rock:before{content:"\f255"}.fa-hand-scissors:before{content:"\f257"}.fa-hand-spock:before{content:"\f259"}.fa-hands:before{content:"\f4c2"}.fa-hands-helping:before{content:"\f4c4"}.fa-handshake:before{content:"\f2b5"}.fa-hanukiah:before{content:"\f6e6"}.fa-hard-hat:before{content:"\f807"}.fa-hashtag:before{content:"\f292"}.fa-hat-wizard:before{content:"\f6e8"}.fa-haykal:before{content:"\f666"}.fa-hdd:before{content:"\f0a0"}.fa-heading:before{content:"\f1dc"}.fa-headphones:before{content:"\f025"}.fa-headphones-alt:before{content:"\f58f"}.fa-headset:before{content:"\f590"}.fa-heart:before{content:"\f004"}.fa-heart-broken:before{content:"\f7a9"}.fa-heartbeat:before{content:"\f21e"}.fa-helicopter:before{content:"\f533"}.fa-highlighter:before{content:"\f591"}.fa-hiking:before{content:"\f6ec"}.fa-hippo:before{content:"\f6ed"}.fa-hips:before{content:"\f452"}.fa-hire-a-helper:before{content:"\f3b0"}.fa-history:before{content:"\f1da"}.fa-hockey-puck:before{content:"\f453"}.fa-holly-berry:before{content:"\f7aa"}.fa-home:before{content:"\f015"}.fa-hooli:before{content:"\f427"}.fa-hornbill:before{content:"\f592"}.fa-horse:before{content:"\f6f0"}.fa-horse-head:before{content:"\f7ab"}.fa-hospital:before{content:"\f0f8"}.fa-hospital-alt:before{content:"\f47d"}.fa-hospital-symbol:before{content:"\f47e"}.fa-hot-tub:before{content:"\f593"}.fa-hotdog:before{content:"\f80f"}.fa-hotel:before{content:"\f594"}.fa-hotjar:before{content:"\f3b1"}.fa-hourglass:before{content:"\f254"}.fa-hourglass-end:before{content:"\f253"}.fa-hourglass-half:before{content:"\f252"}.fa-hourglass-start:before{content:"\f251"}.fa-house-damage:before{content:"\f6f1"}.fa-houzz:before{content:"\f27c"}.fa-hryvnia:before{content:"\f6f2"}.fa-html5:before{content:"\f13b"}.fa-hubspot:before{content:"\f3b2"}.fa-i-cursor:before{content:"\f246"}.fa-ice-cream:before{content:"\f810"}.fa-icicles:before{content:"\f7ad"}.fa-id-badge:before{content:"\f2c1"}.fa-id-card:before{content:"\f2c2"}.fa-id-card-alt:before{content:"\f47f"}.fa-igloo:before{content:"\f7ae"}.fa-image:before{content:"\f03e"}.fa-images:before{content:"\f302"}.fa-imdb:before{content:"\f2d8"}.fa-inbox:before{content:"\f01c"}.fa-indent:before{content:"\f03c"}.fa-industry:before{content:"\f275"}.fa-infinity:before{content:"\f534"}.fa-info:before{content:"\f129"}.fa-info-circle:before{content:"\f05a"}.fa-instagram:before{content:"\f16d"}.fa-intercom:before{content:"\f7af"}.fa-internet-explorer:before{content:"\f26b"}.fa-invision:before{content:"\f7b0"}.fa-ioxhost:before{content:"\f208"}.fa-italic:before{content:"\f033"}.fa-itch-io:before{content:"\f83a"}.fa-itunes:before{content:"\f3b4"}.fa-itunes-note:before{content:"\f3b5"}.fa-java:before{content:"\f4e4"}.fa-jedi:before{content:"\f669"}.fa-jedi-order:before{content:"\f50e"}.fa-jenkins:before{content:"\f3b6"}.fa-jira:before{content:"\f7b1"}.fa-joget:before{content:"\f3b7"}.fa-joint:before{content:"\f595"}.fa-joomla:before{content:"\f1aa"}.fa-journal-whills:before{content:"\f66a"}.fa-js:before{content:"\f3b8"}.fa-js-square:before{content:"\f3b9"}.fa-jsfiddle:before{content:"\f1cc"}.fa-kaaba:before{content:"\f66b"}.fa-kaggle:before{content:"\f5fa"}.fa-key:before{content:"\f084"}.fa-keybase:before{content:"\f4f5"}.fa-keyboard:before{content:"\f11c"}.fa-keycdn:before{content:"\f3ba"}.fa-khanda:before{content:"\f66d"}.fa-kickstarter:before{content:"\f3bb"}.fa-kickstarter-k:before{content:"\f3bc"}.fa-kiss:before{content:"\f596"}.fa-kiss-beam:before{content:"\f597"}.fa-kiss-wink-heart:before{content:"\f598"}.fa-kiwi-bird:before{content:"\f535"}.fa-korvue:before{content:"\f42f"}.fa-landmark:before{content:"\f66f"}.fa-language:before{content:"\f1ab"}.fa-laptop:before{content:"\f109"}.fa-laptop-code:before{content:"\f5fc"}.fa-laptop-medical:before{content:"\f812"}.fa-laravel:before{content:"\f3bd"}.fa-lastfm:before{content:"\f202"}.fa-lastfm-square:before{content:"\f203"}.fa-laugh:before{content:"\f599"}.fa-laugh-beam:before{content:"\f59a"}.fa-laugh-squint:before{content:"\f59b"}.fa-laugh-wink:before{content:"\f59c"}.fa-layer-group:before{content:"\f5fd"}.fa-leaf:before{content:"\f06c"}.fa-leanpub:before{content:"\f212"}.fa-lemon:before{content:"\f094"}.fa-less:before{content:"\f41d"}.fa-less-than:before{content:"\f536"}.fa-less-than-equal:before{content:"\f537"}.fa-level-down-alt:before{content:"\f3be"}.fa-level-up-alt:before{content:"\f3bf"}.fa-life-ring:before{content:"\f1cd"}.fa-lightbulb:before{content:"\f0eb"}.fa-line:before{content:"\f3c0"}.fa-link:before{content:"\f0c1"}.fa-linkedin:before{content:"\f08c"}.fa-linkedin-in:before{content:"\f0e1"}.fa-linode:before{content:"\f2b8"}.fa-linux:before{content:"\f17c"}.fa-lira-sign:before{content:"\f195"}.fa-list:before{content:"\f03a"}.fa-list-alt:before{content:"\f022"}.fa-list-ol:before{content:"\f0cb"}.fa-list-ul:before{content:"\f0ca"}.fa-location-arrow:before{content:"\f124"}.fa-lock:before{content:"\f023"}.fa-lock-open:before{content:"\f3c1"}.fa-long-arrow-alt-down:before{content:"\f309"}.fa-long-arrow-alt-left:before{content:"\f30a"}.fa-long-arrow-alt-right:before{content:"\f30b"}.fa-long-arrow-alt-up:before{content:"\f30c"}.fa-low-vision:before{content:"\f2a8"}.fa-luggage-cart:before{content:"\f59d"}.fa-lyft:before{content:"\f3c3"}.fa-magento:before{content:"\f3c4"}.fa-magic:before{content:"\f0d0"}.fa-magnet:before{content:"\f076"}.fa-mail-bulk:before{content:"\f674"}.fa-mailchimp:before{content:"\f59e"}.fa-male:before{content:"\f183"}.fa-mandalorian:before{content:"\f50f"}.fa-map:before{content:"\f279"}.fa-map-marked:before{content:"\f59f"}.fa-map-marked-alt:before{content:"\f5a0"}.fa-map-marker:before{content:"\f041"}.fa-map-marker-alt:before{content:"\f3c5"}.fa-map-pin:before{content:"\f276"}.fa-map-signs:before{content:"\f277"}.fa-markdown:before{content:"\f60f"}.fa-marker:before{content:"\f5a1"}.fa-mars:before{content:"\f222"}.fa-mars-double:before{content:"\f227"}.fa-mars-stroke:before{content:"\f229"}.fa-mars-stroke-h:before{content:"\f22b"}.fa-mars-stroke-v:before{content:"\f22a"}.fa-mask:before{content:"\f6fa"}.fa-mastodon:before{content:"\f4f6"}.fa-maxcdn:before{content:"\f136"}.fa-medal:before{content:"\f5a2"}.fa-medapps:before{content:"\f3c6"}.fa-medium:before{content:"\f23a"}.fa-medium-m:before{content:"\f3c7"}.fa-medkit:before{content:"\f0fa"}.fa-medrt:before{content:"\f3c8"}.fa-meetup:before{content:"\f2e0"}.fa-megaport:before{content:"\f5a3"}.fa-meh:before{content:"\f11a"}.fa-meh-blank:before{content:"\f5a4"}.fa-meh-rolling-eyes:before{content:"\f5a5"}.fa-memory:before{content:"\f538"}.fa-mendeley:before{content:"\f7b3"}.fa-menorah:before{content:"\f676"}.fa-mercury:before{content:"\f223"}.fa-meteor:before{content:"\f753"}.fa-microchip:before{content:"\f2db"}.fa-microphone:before{content:"\f130"}.fa-microphone-alt:before{content:"\f3c9"}.fa-microphone-alt-slash:before{content:"\f539"}.fa-microphone-slash:before{content:"\f131"}.fa-microscope:before{content:"\f610"}.fa-microsoft:before{content:"\f3ca"}.fa-minus:before{content:"\f068"}.fa-minus-circle:before{content:"\f056"}.fa-minus-square:before{content:"\f146"}.fa-mitten:before{content:"\f7b5"}.fa-mix:before{content:"\f3cb"}.fa-mixcloud:before{content:"\f289"}.fa-mizuni:before{content:"\f3cc"}.fa-mobile:before{content:"\f10b"}.fa-mobile-alt:before{content:"\f3cd"}.fa-modx:before{content:"\f285"}.fa-monero:before{content:"\f3d0"}.fa-money-bill:before{content:"\f0d6"}.fa-money-bill-alt:before{content:"\f3d1"}.fa-money-bill-wave:before{content:"\f53a"}.fa-money-bill-wave-alt:before{content:"\f53b"}.fa-money-check:before{content:"\f53c"}.fa-money-check-alt:before{content:"\f53d"}.fa-monument:before{content:"\f5a6"}.fa-moon:before{content:"\f186"}.fa-mortar-pestle:before{content:"\f5a7"}.fa-mosque:before{content:"\f678"}.fa-motorcycle:before{content:"\f21c"}.fa-mountain:before{content:"\f6fc"}.fa-mouse-pointer:before{content:"\f245"}.fa-mug-hot:before{content:"\f7b6"}.fa-music:before{content:"\f001"}.fa-napster:before{content:"\f3d2"}.fa-neos:before{content:"\f612"}.fa-network-wired:before{content:"\f6ff"}.fa-neuter:before{content:"\f22c"}.fa-newspaper:before{content:"\f1ea"}.fa-nimblr:before{content:"\f5a8"}.fa-nintendo-switch:before{content:"\f418"}.fa-node:before{content:"\f419"}.fa-node-js:before{content:"\f3d3"}.fa-not-equal:before{content:"\f53e"}.fa-notes-medical:before{content:"\f481"}.fa-npm:before{content:"\f3d4"}.fa-ns8:before{content:"\f3d5"}.fa-nutritionix:before{content:"\f3d6"}.fa-object-group:before{content:"\f247"}.fa-object-ungroup:before{content:"\f248"}.fa-odnoklassniki:before{content:"\f263"}.fa-odnoklassniki-square:before{content:"\f264"}.fa-oil-can:before{content:"\f613"}.fa-old-republic:before{content:"\f510"}.fa-om:before{content:"\f679"}.fa-opencart:before{content:"\f23d"}.fa-openid:before{content:"\f19b"}.fa-opera:before{content:"\f26a"}.fa-optin-monster:before{content:"\f23c"}.fa-osi:before{content:"\f41a"}.fa-otter:before{content:"\f700"}.fa-outdent:before{content:"\f03b"}.fa-page4:before{content:"\f3d7"}.fa-pagelines:before{content:"\f18c"}.fa-pager:before{content:"\f815"}.fa-paint-brush:before{content:"\f1fc"}.fa-paint-roller:before{content:"\f5aa"}.fa-palette:before{content:"\f53f"}.fa-palfed:before{content:"\f3d8"}.fa-pallet:before{content:"\f482"}.fa-paper-plane:before{content:"\f1d8"}.fa-paperclip:before{content:"\f0c6"}.fa-parachute-box:before{content:"\f4cd"}.fa-paragraph:before{content:"\f1dd"}.fa-parking:before{content:"\f540"}.fa-passport:before{content:"\f5ab"}.fa-pastafarianism:before{content:"\f67b"}.fa-paste:before{content:"\f0ea"}.fa-patreon:before{content:"\f3d9"}.fa-pause:before{content:"\f04c"}.fa-pause-circle:before{content:"\f28b"}.fa-paw:before{content:"\f1b0"}.fa-paypal:before{content:"\f1ed"}.fa-peace:before{content:"\f67c"}.fa-pen:before{content:"\f304"}.fa-pen-alt:before{content:"\f305"}.fa-pen-fancy:before{content:"\f5ac"}.fa-pen-nib:before{content:"\f5ad"}.fa-pen-square:before{content:"\f14b"}.fa-pencil-alt:before{content:"\f303"}.fa-pencil-ruler:before{content:"\f5ae"}.fa-penny-arcade:before{content:"\f704"}.fa-people-carry:before{content:"\f4ce"}.fa-pepper-hot:before{content:"\f816"}.fa-percent:before{content:"\f295"}.fa-percentage:before{content:"\f541"}.fa-periscope:before{content:"\f3da"}.fa-person-booth:before{content:"\f756"}.fa-phabricator:before{content:"\f3db"}.fa-phoenix-framework:before{content:"\f3dc"}.fa-phoenix-squadron:before{content:"\f511"}.fa-phone:before{content:"\f095"}.fa-phone-slash:before{content:"\f3dd"}.fa-phone-square:before{content:"\f098"}.fa-phone-volume:before{content:"\f2a0"}.fa-php:before{content:"\f457"}.fa-pied-piper:before{content:"\f2ae"}.fa-pied-piper-alt:before{content:"\f1a8"}.fa-pied-piper-hat:before{content:"\f4e5"}.fa-pied-piper-pp:before{content:"\f1a7"}.fa-piggy-bank:before{content:"\f4d3"}.fa-pills:before{content:"\f484"}.fa-pinterest:before{content:"\f0d2"}.fa-pinterest-p:before{content:"\f231"}.fa-pinterest-square:before{content:"\f0d3"}.fa-pizza-slice:before{content:"\f818"}.fa-place-of-worship:before{content:"\f67f"}.fa-plane:before{content:"\f072"}.fa-plane-arrival:before{content:"\f5af"}.fa-plane-departure:before{content:"\f5b0"}.fa-play:before{content:"\f04b"}.fa-play-circle:before{content:"\f144"}.fa-playstation:before{content:"\f3df"}.fa-plug:before{content:"\f1e6"}.fa-plus:before{content:"\f067"}.fa-plus-circle:before{content:"\f055"}.fa-plus-square:before{content:"\f0fe"}.fa-podcast:before{content:"\f2ce"}.fa-poll:before{content:"\f681"}.fa-poll-h:before{content:"\f682"}.fa-poo:before{content:"\f2fe"}.fa-poo-storm:before{content:"\f75a"}.fa-poop:before{content:"\f619"}.fa-portrait:before{content:"\f3e0"}.fa-pound-sign:before{content:"\f154"}.fa-power-off:before{content:"\f011"}.fa-pray:before{content:"\f683"}.fa-praying-hands:before{content:"\f684"}.fa-prescription:before{content:"\f5b1"}.fa-prescription-bottle:before{content:"\f485"}.fa-prescription-bottle-alt:before{content:"\f486"}.fa-print:before{content:"\f02f"}.fa-procedures:before{content:"\f487"}.fa-product-hunt:before{content:"\f288"}.fa-project-diagram:before{content:"\f542"}.fa-pushed:before{content:"\f3e1"}.fa-puzzle-piece:before{content:"\f12e"}.fa-python:before{content:"\f3e2"}.fa-qq:before{content:"\f1d6"}.fa-qrcode:before{content:"\f029"}.fa-question:before{content:"\f128"}.fa-question-circle:before{content:"\f059"}.fa-quidditch:before{content:"\f458"}.fa-quinscape:before{content:"\f459"}.fa-quora:before{content:"\f2c4"}.fa-quote-left:before{content:"\f10d"}.fa-quote-right:before{content:"\f10e"}.fa-quran:before{content:"\f687"}.fa-r-project:before{content:"\f4f7"}.fa-radiation:before{content:"\f7b9"}.fa-radiation-alt:before{content:"\f7ba"}.fa-rainbow:before{content:"\f75b"}.fa-random:before{content:"\f074"}.fa-raspberry-pi:before{content:"\f7bb"}.fa-ravelry:before{content:"\f2d9"}.fa-react:before{content:"\f41b"}.fa-reacteurope:before{content:"\f75d"}.fa-readme:before{content:"\f4d5"}.fa-rebel:before{content:"\f1d0"}.fa-receipt:before{content:"\f543"}.fa-recycle:before{content:"\f1b8"}.fa-red-river:before{content:"\f3e3"}.fa-reddit:before{content:"\f1a1"}.fa-reddit-alien:before{content:"\f281"}.fa-reddit-square:before{content:"\f1a2"}.fa-redhat:before{content:"\f7bc"}.fa-redo:before{content:"\f01e"}.fa-redo-alt:before{content:"\f2f9"}.fa-registered:before{content:"\f25d"}.fa-renren:before{content:"\f18b"}.fa-reply:before{content:"\f3e5"}.fa-reply-all:before{content:"\f122"}.fa-replyd:before{content:"\f3e6"}.fa-republican:before{content:"\f75e"}.fa-researchgate:before{content:"\f4f8"}.fa-resolving:before{content:"\f3e7"}.fa-restroom:before{content:"\f7bd"}.fa-retweet:before{content:"\f079"}.fa-rev:before{content:"\f5b2"}.fa-ribbon:before{content:"\f4d6"}.fa-ring:before{content:"\f70b"}.fa-road:before{content:"\f018"}.fa-robot:before{content:"\f544"}.fa-rocket:before{content:"\f135"}.fa-rocketchat:before{content:"\f3e8"}.fa-rockrms:before{content:"\f3e9"}.fa-route:before{content:"\f4d7"}.fa-rss:before{content:"\f09e"}.fa-rss-square:before{content:"\f143"}.fa-ruble-sign:before{content:"\f158"}.fa-ruler:before{content:"\f545"}.fa-ruler-combined:before{content:"\f546"}.fa-ruler-horizontal:before{content:"\f547"}.fa-ruler-vertical:before{content:"\f548"}.fa-running:before{content:"\f70c"}.fa-rupee-sign:before{content:"\f156"}.fa-sad-cry:before{content:"\f5b3"}.fa-sad-tear:before{content:"\f5b4"}.fa-safari:before{content:"\f267"}.fa-salesforce:before{content:"\f83b"}.fa-sass:before{content:"\f41e"}.fa-satellite:before{content:"\f7bf"}.fa-satellite-dish:before{content:"\f7c0"}.fa-save:before{content:"\f0c7"}.fa-schlix:before{content:"\f3ea"}.fa-school:before{content:"\f549"}.fa-screwdriver:before{content:"\f54a"}.fa-scribd:before{content:"\f28a"}.fa-scroll:before{content:"\f70e"}.fa-sd-card:before{content:"\f7c2"}.fa-search:before{content:"\f002"}.fa-search-dollar:before{content:"\f688"}.fa-search-location:before{content:"\f689"}.fa-search-minus:before{content:"\f010"}.fa-search-plus:before{content:"\f00e"}.fa-searchengin:before{content:"\f3eb"}.fa-seedling:before{content:"\f4d8"}.fa-sellcast:before{content:"\f2da"}.fa-sellsy:before{content:"\f213"}.fa-server:before{content:"\f233"}.fa-servicestack:before{content:"\f3ec"}.fa-shapes:before{content:"\f61f"}.fa-share:before{content:"\f064"}.fa-share-alt:before{content:"\f1e0"}.fa-share-alt-square:before{content:"\f1e1"}.fa-share-square:before{content:"\f14d"}.fa-shekel-sign:before{content:"\f20b"}.fa-shield-alt:before{content:"\f3ed"}.fa-ship:before{content:"\f21a"}.fa-shipping-fast:before{content:"\f48b"}.fa-shirtsinbulk:before{content:"\f214"}.fa-shoe-prints:before{content:"\f54b"}.fa-shopping-bag:before{content:"\f290"}.fa-shopping-basket:before{content:"\f291"}.fa-shopping-cart:before{content:"\f07a"}.fa-shopware:before{content:"\f5b5"}.fa-shower:before{content:"\f2cc"}.fa-shuttle-van:before{content:"\f5b6"}.fa-sign:before{content:"\f4d9"}.fa-sign-in-alt:before{content:"\f2f6"}.fa-sign-language:before{content:"\f2a7"}.fa-sign-out-alt:before{content:"\f2f5"}.fa-signal:before{content:"\f012"}.fa-signature:before{content:"\f5b7"}.fa-sim-card:before{content:"\f7c4"}.fa-simplybuilt:before{content:"\f215"}.fa-sistrix:before{content:"\f3ee"}.fa-sitemap:before{content:"\f0e8"}.fa-sith:before{content:"\f512"}.fa-skating:before{content:"\f7c5"}.fa-sketch:before{content:"\f7c6"}.fa-skiing:before{content:"\f7c9"}.fa-skiing-nordic:before{content:"\f7ca"}.fa-skull:before{content:"\f54c"}.fa-skull-crossbones:before{content:"\f714"}.fa-skyatlas:before{content:"\f216"}.fa-skype:before{content:"\f17e"}.fa-slack:before{content:"\f198"}.fa-slack-hash:before{content:"\f3ef"}.fa-slash:before{content:"\f715"}.fa-sleigh:before{content:"\f7cc"}.fa-sliders-h:before{content:"\f1de"}.fa-slideshare:before{content:"\f1e7"}.fa-smile:before{content:"\f118"}.fa-smile-beam:before{content:"\f5b8"}.fa-smile-wink:before{content:"\f4da"}.fa-smog:before{content:"\f75f"}.fa-smoking:before{content:"\f48d"}.fa-smoking-ban:before{content:"\f54d"}.fa-sms:before{content:"\f7cd"}.fa-snapchat:before{content:"\f2ab"}.fa-snapchat-ghost:before{content:"\f2ac"}.fa-snapchat-square:before{content:"\f2ad"}.fa-snowboarding:before{content:"\f7ce"}.fa-snowflake:before{content:"\f2dc"}.fa-snowman:before{content:"\f7d0"}.fa-snowplow:before{content:"\f7d2"}.fa-socks:before{content:"\f696"}.fa-solar-panel:before{content:"\f5ba"}.fa-sort:before{content:"\f0dc"}.fa-sort-alpha-down:before{content:"\f15d"}.fa-sort-alpha-up:before{content:"\f15e"}.fa-sort-amount-down:before{content:"\f160"}.fa-sort-amount-up:before{content:"\f161"}.fa-sort-down:before{content:"\f0dd"}.fa-sort-numeric-down:before{content:"\f162"}.fa-sort-numeric-up:before{content:"\f163"}.fa-sort-up:before{content:"\f0de"}.fa-soundcloud:before{content:"\f1be"}.fa-sourcetree:before{content:"\f7d3"}.fa-spa:before{content:"\f5bb"}.fa-space-shuttle:before{content:"\f197"}.fa-speakap:before{content:"\f3f3"}.fa-speaker-deck:before{content:"\f83c"}.fa-spider:before{content:"\f717"}.fa-spinner:before{content:"\f110"}.fa-splotch:before{content:"\f5bc"}.fa-spotify:before{content:"\f1bc"}.fa-spray-can:before{content:"\f5bd"}.fa-square:before{content:"\f0c8"}.fa-square-full:before{content:"\f45c"}.fa-square-root-alt:before{content:"\f698"}.fa-squarespace:before{content:"\f5be"}.fa-stack-exchange:before{content:"\f18d"}.fa-stack-overflow:before{content:"\f16c"}.fa-stamp:before{content:"\f5bf"}.fa-star:before{content:"\f005"}.fa-star-and-crescent:before{content:"\f699"}.fa-star-half:before{content:"\f089"}.fa-star-half-alt:before{content:"\f5c0"}.fa-star-of-david:before{content:"\f69a"}.fa-star-of-life:before{content:"\f621"}.fa-staylinked:before{content:"\f3f5"}.fa-steam:before{content:"\f1b6"}.fa-steam-square:before{content:"\f1b7"}.fa-steam-symbol:before{content:"\f3f6"}.fa-step-backward:before{content:"\f048"}.fa-step-forward:before{content:"\f051"}.fa-stethoscope:before{content:"\f0f1"}.fa-sticker-mule:before{content:"\f3f7"}.fa-sticky-note:before{content:"\f249"}.fa-stop:before{content:"\f04d"}.fa-stop-circle:before{content:"\f28d"}.fa-stopwatch:before{content:"\f2f2"}.fa-store:before{content:"\f54e"}.fa-store-alt:before{content:"\f54f"}.fa-strava:before{content:"\f428"}.fa-stream:before{content:"\f550"}.fa-street-view:before{content:"\f21d"}.fa-strikethrough:before{content:"\f0cc"}.fa-stripe:before{content:"\f429"}.fa-stripe-s:before{content:"\f42a"}.fa-stroopwafel:before{content:"\f551"}.fa-studiovinari:before{content:"\f3f8"}.fa-stumbleupon:before{content:"\f1a4"}.fa-stumbleupon-circle:before{content:"\f1a3"}.fa-subscript:before{content:"\f12c"}.fa-subway:before{content:"\f239"}.fa-suitcase:before{content:"\f0f2"}.fa-suitcase-rolling:before{content:"\f5c1"}.fa-sun:before{content:"\f185"}.fa-superpowers:before{content:"\f2dd"}.fa-superscript:before{content:"\f12b"}.fa-supple:before{content:"\f3f9"}.fa-surprise:before{content:"\f5c2"}.fa-suse:before{content:"\f7d6"}.fa-swatchbook:before{content:"\f5c3"}.fa-swimmer:before{content:"\f5c4"}.fa-swimming-pool:before{content:"\f5c5"}.fa-symfony:before{content:"\f83d"}.fa-synagogue:before{content:"\f69b"}.fa-sync:before{content:"\f021"}.fa-sync-alt:before{content:"\f2f1"}.fa-syringe:before{content:"\f48e"}.fa-table:before{content:"\f0ce"}.fa-table-tennis:before{content:"\f45d"}.fa-tablet:before{content:"\f10a"}.fa-tablet-alt:before{content:"\f3fa"}.fa-tablets:before{content:"\f490"}.fa-tachometer-alt:before{content:"\f3fd"}.fa-tag:before{content:"\f02b"}.fa-tags:before{content:"\f02c"}.fa-tape:before{content:"\f4db"}.fa-tasks:before{content:"\f0ae"}.fa-taxi:before{content:"\f1ba"}.fa-teamspeak:before{content:"\f4f9"}.fa-teeth:before{content:"\f62e"}.fa-teeth-open:before{content:"\f62f"}.fa-telegram:before{content:"\f2c6"}.fa-telegram-plane:before{content:"\f3fe"}.fa-temperature-high:before{content:"\f769"}.fa-temperature-low:before{content:"\f76b"}.fa-tencent-weibo:before{content:"\f1d5"}.fa-tenge:before{content:"\f7d7"}.fa-terminal:before{content:"\f120"}.fa-text-height:before{content:"\f034"}.fa-text-width:before{content:"\f035"}.fa-th:before{content:"\f00a"}.fa-th-large:before{content:"\f009"}.fa-th-list:before{content:"\f00b"}.fa-the-red-yeti:before{content:"\f69d"}.fa-theater-masks:before{content:"\f630"}.fa-themeco:before{content:"\f5c6"}.fa-themeisle:before{content:"\f2b2"}.fa-thermometer:before{content:"\f491"}.fa-thermometer-empty:before{content:"\f2cb"}.fa-thermometer-full:before{content:"\f2c7"}.fa-thermometer-half:before{content:"\f2c9"}.fa-thermometer-quarter:before{content:"\f2ca"}.fa-thermometer-three-quarters:before{content:"\f2c8"}.fa-think-peaks:before{content:"\f731"}.fa-thumbs-down:before{content:"\f165"}.fa-thumbs-up:before{content:"\f164"}.fa-thumbtack:before{content:"\f08d"}.fa-ticket-alt:before{content:"\f3ff"}.fa-times:before{content:"\f00d"}.fa-times-circle:before{content:"\f057"}.fa-tint:before{content:"\f043"}.fa-tint-slash:before{content:"\f5c7"}.fa-tired:before{content:"\f5c8"}.fa-toggle-off:before{content:"\f204"}.fa-toggle-on:before{content:"\f205"}.fa-toilet:before{content:"\f7d8"}.fa-toilet-paper:before{content:"\f71e"}.fa-toolbox:before{content:"\f552"}.fa-tools:before{content:"\f7d9"}.fa-tooth:before{content:"\f5c9"}.fa-torah:before{content:"\f6a0"}.fa-torii-gate:before{content:"\f6a1"}.fa-tractor:before{content:"\f722"}.fa-trade-federation:before{content:"\f513"}.fa-trademark:before{content:"\f25c"}.fa-traffic-light:before{content:"\f637"}.fa-train:before{content:"\f238"}.fa-tram:before{content:"\f7da"}.fa-transgender:before{content:"\f224"}.fa-transgender-alt:before{content:"\f225"}.fa-trash:before{content:"\f1f8"}.fa-trash-alt:before{content:"\f2ed"}.fa-trash-restore:before{content:"\f829"}.fa-trash-restore-alt:before{content:"\f82a"}.fa-tree:before{content:"\f1bb"}.fa-trello:before{content:"\f181"}.fa-tripadvisor:before{content:"\f262"}.fa-trophy:before{content:"\f091"}.fa-truck:before{content:"\f0d1"}.fa-truck-loading:before{content:"\f4de"}.fa-truck-monster:before{content:"\f63b"}.fa-truck-moving:before{content:"\f4df"}.fa-truck-pickup:before{content:"\f63c"}.fa-tshirt:before{content:"\f553"}.fa-tty:before{content:"\f1e4"}.fa-tumblr:before{content:"\f173"}.fa-tumblr-square:before{content:"\f174"}.fa-tv:before{content:"\f26c"}.fa-twitch:before{content:"\f1e8"}.fa-twitter:before{content:"\f099"}.fa-twitter-square:before{content:"\f081"}.fa-typo3:before{content:"\f42b"}.fa-uber:before{content:"\f402"}.fa-ubuntu:before{content:"\f7df"}.fa-uikit:before{content:"\f403"}.fa-umbrella:before{content:"\f0e9"}.fa-umbrella-beach:before{content:"\f5ca"}.fa-underline:before{content:"\f0cd"}.fa-undo:before{content:"\f0e2"}.fa-undo-alt:before{content:"\f2ea"}.fa-uniregistry:before{content:"\f404"}.fa-universal-access:before{content:"\f29a"}.fa-university:before{content:"\f19c"}.fa-unlink:before{content:"\f127"}.fa-unlock:before{content:"\f09c"}.fa-unlock-alt:before{content:"\f13e"}.fa-untappd:before{content:"\f405"}.fa-upload:before{content:"\f093"}.fa-ups:before{content:"\f7e0"}.fa-usb:before{content:"\f287"}.fa-user:before{content:"\f007"}.fa-user-alt:before{content:"\f406"}.fa-user-alt-slash:before{content:"\f4fa"}.fa-user-astronaut:before{content:"\f4fb"}.fa-user-check:before{content:"\f4fc"}.fa-user-circle:before{content:"\f2bd"}.fa-user-clock:before{content:"\f4fd"}.fa-user-cog:before{content:"\f4fe"}.fa-user-edit:before{content:"\f4ff"}.fa-user-friends:before{content:"\f500"}.fa-user-graduate:before{content:"\f501"}.fa-user-injured:before{content:"\f728"}.fa-user-lock:before{content:"\f502"}.fa-user-md:before{content:"\f0f0"}.fa-user-minus:before{content:"\f503"}.fa-user-ninja:before{content:"\f504"}.fa-user-nurse:before{content:"\f82f"}.fa-user-plus:before{content:"\f234"}.fa-user-secret:before{content:"\f21b"}.fa-user-shield:before{content:"\f505"}.fa-user-slash:before{content:"\f506"}.fa-user-tag:before{content:"\f507"}.fa-user-tie:before{content:"\f508"}.fa-user-times:before{content:"\f235"}.fa-users:before{content:"\f0c0"}.fa-users-cog:before{content:"\f509"}.fa-usps:before{content:"\f7e1"}.fa-ussunnah:before{content:"\f407"}.fa-utensil-spoon:before{content:"\f2e5"}.fa-utensils:before{content:"\f2e7"}.fa-vaadin:before{content:"\f408"}.fa-vector-square:before{content:"\f5cb"}.fa-venus:before{content:"\f221"}.fa-venus-double:before{content:"\f226"}.fa-venus-mars:before{content:"\f228"}.fa-viacoin:before{content:"\f237"}.fa-viadeo:before{content:"\f2a9"}.fa-viadeo-square:before{content:"\f2aa"}.fa-vial:before{content:"\f492"}.fa-vials:before{content:"\f493"}.fa-viber:before{content:"\f409"}.fa-video:before{content:"\f03d"}.fa-video-slash:before{content:"\f4e2"}.fa-vihara:before{content:"\f6a7"}.fa-vimeo:before{content:"\f40a"}.fa-vimeo-square:before{content:"\f194"}.fa-vimeo-v:before{content:"\f27d"}.fa-vine:before{content:"\f1ca"}.fa-vk:before{content:"\f189"}.fa-vnv:before{content:"\f40b"}.fa-volleyball-ball:before{content:"\f45f"}.fa-volume-down:before{content:"\f027"}.fa-volume-mute:before{content:"\f6a9"}.fa-volume-off:before{content:"\f026"}.fa-volume-up:before{content:"\f028"}.fa-vote-yea:before{content:"\f772"}.fa-vr-cardboard:before{content:"\f729"}.fa-vuejs:before{content:"\f41f"}.fa-walking:before{content:"\f554"}.fa-wallet:before{content:"\f555"}.fa-warehouse:before{content:"\f494"}.fa-water:before{content:"\f773"}.fa-wave-square:before{content:"\f83e"}.fa-waze:before{content:"\f83f"}.fa-weebly:before{content:"\f5cc"}.fa-weibo:before{content:"\f18a"}.fa-weight:before{content:"\f496"}.fa-weight-hanging:before{content:"\f5cd"}.fa-weixin:before{content:"\f1d7"}.fa-whatsapp:before{content:"\f232"}.fa-whatsapp-square:before{content:"\f40c"}.fa-wheelchair:before{content:"\f193"}.fa-whmcs:before{content:"\f40d"}.fa-wifi:before{content:"\f1eb"}.fa-wikipedia-w:before{content:"\f266"}.fa-wind:before{content:"\f72e"}.fa-window-close:before{content:"\f410"}.fa-window-maximize:before{content:"\f2d0"}.fa-window-minimize:before{content:"\f2d1"}.fa-window-restore:before{content:"\f2d2"}.fa-windows:before{content:"\f17a"}.fa-wine-bottle:before{content:"\f72f"}.fa-wine-glass:before{content:"\f4e3"}.fa-wine-glass-alt:before{content:"\f5ce"}.fa-wix:before{content:"\f5cf"}.fa-wizards-of-the-coast:before{content:"\f730"}.fa-wolf-pack-battalion:before{content:"\f514"}.fa-won-sign:before{content:"\f159"}.fa-wordpress:before{content:"\f19a"}.fa-wordpress-simple:before{content:"\f411"}.fa-wpbeginner:before{content:"\f297"}.fa-wpexplorer:before{content:"\f2de"}.fa-wpforms:before{content:"\f298"}.fa-wpressr:before{content:"\f3e4"}.fa-wrench:before{content:"\f0ad"}.fa-x-ray:before{content:"\f497"}.fa-xbox:before{content:"\f412"}.fa-xing:before{content:"\f168"}.fa-xing-square:before{content:"\f169"}.fa-y-combinator:before{content:"\f23b"}.fa-yahoo:before{content:"\f19e"}.fa-yammer:before{content:"\f840"}.fa-yandex:before{content:"\f413"}.fa-yandex-international:before{content:"\f414"}.fa-yarn:before{content:"\f7e3"}.fa-yelp:before{content:"\f1e9"}.fa-yen-sign:before{content:"\f157"}.fa-yin-yang:before{content:"\f6ad"}.fa-yoast:before{content:"\f2b1"}.fa-youtube:before{content:"\f167"}.fa-youtube-square:before{content:"\f431"}.fa-zhihu:before{content:"\f63f"}.sr-only{border:0;clip:rect(0,0,0,0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.sr-only-focusable:active,.sr-only-focusable:focus{clip:auto;height:auto;margin:0;overflow:visible;position:static;width:auto}@font-face{font-family:"Font Awesome 5 Brands";font-style:normal;font-weight:normal;font-display:auto;src:url(../webfonts/fa-brands-400.eot);src:url(../webfonts/fa-brands-400.eot?#iefix) format("embedded-opentype"),url(../webfonts/fa-brands-400.woff2) format("woff2"),url(../webfonts/fa-brands-400.woff) format("woff"),url(../webfonts/fa-brands-400.ttf) format("truetype"),url(../webfonts/fa-brands-400.svg#fontawesome) format("svg")}.fab{font-family:"Font Awesome 5 Brands"}@font-face{font-family:"Font Awesome 5 Free";font-style:normal;font-weight:400;font-display:auto;src:url(../webfonts/fa-regular-400.eot);src:url(../webfonts/fa-regular-400.eot?#iefix) format("embedded-opentype"),url(../webfonts/fa-regular-400.woff2) format("woff2"),url(../webfonts/fa-regular-400.woff) format("woff"),url(../webfonts/fa-regular-400.ttf) format("truetype"),url(../webfonts/fa-regular-400.svg#fontawesome) format("svg")}.far{font-weight:400}@font-face{font-family:"Font Awesome 5 Free";font-style:normal;font-weight:900;font-display:auto;src:url(../webfonts/fa-solid-900.eot);src:url(../webfonts/fa-solid-900.eot?#iefix) format("embedded-opentype"),url(../webfonts/fa-solid-900.woff2) format("woff2"),url(../webfonts/fa-solid-900.woff) format("woff"),url(../webfonts/fa-solid-900.ttf) format("truetype"),url(../webfonts/fa-solid-900.svg#fontawesome) format("svg")}.fa,.far,.fas{font-family:"Font Awesome 5 Free"}.fa,.fas{font-weight:900} \ No newline at end of file diff --git a/assets/css/owl.carousel.min.css b/assets/css/owl.carousel.min.css new file mode 100644 index 000000000..a71df11c0 --- /dev/null +++ b/assets/css/owl.carousel.min.css @@ -0,0 +1,6 @@ +/** + * Owl Carousel v2.3.4 + * Copyright 2013-2018 David Deutsch + * Licensed under: SEE LICENSE IN https://github.com/OwlCarousel2/OwlCarousel2/blob/master/LICENSE + */ +.owl-carousel,.owl-carousel .owl-item{-webkit-tap-highlight-color:transparent;position:relative}.owl-carousel{display:none;width:100%;z-index:1}.owl-carousel .owl-stage{position:relative;-ms-touch-action:pan-Y;touch-action:manipulation;-moz-backface-visibility:hidden}.owl-carousel .owl-stage:after{content:".";display:block;clear:both;visibility:hidden;line-height:0;height:0}.owl-carousel .owl-stage-outer{position:relative;overflow:hidden;-webkit-transform:translate3d(0,0,0)}.owl-carousel .owl-item,.owl-carousel .owl-wrapper{-webkit-backface-visibility:hidden;-moz-backface-visibility:hidden;-ms-backface-visibility:hidden;-webkit-transform:translate3d(0,0,0);-moz-transform:translate3d(0,0,0);-ms-transform:translate3d(0,0,0)}.owl-carousel .owl-item{min-height:1px;float:left;-webkit-backface-visibility:hidden;-webkit-touch-callout:none}.owl-carousel .owl-item img{display:block;width:100%}.owl-carousel .owl-dots.disabled,.owl-carousel .owl-nav.disabled{display:none}.no-js .owl-carousel,.owl-carousel.owl-loaded{display:block}.owl-carousel .owl-dot,.owl-carousel .owl-nav .owl-next,.owl-carousel .owl-nav .owl-prev{cursor:pointer;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.owl-carousel .owl-nav button.owl-next,.owl-carousel .owl-nav button.owl-prev,.owl-carousel button.owl-dot{background:0 0;color:inherit;border:none;padding:0!important;font:inherit}.owl-carousel.owl-loading{opacity:0;display:block}.owl-carousel.owl-hidden{opacity:0}.owl-carousel.owl-refresh .owl-item{visibility:hidden}.owl-carousel.owl-drag .owl-item{-ms-touch-action:pan-y;touch-action:pan-y;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.owl-carousel.owl-grab{cursor:move;cursor:grab}.owl-carousel.owl-rtl{direction:rtl}.owl-carousel.owl-rtl .owl-item{float:right}.owl-carousel .animated{animation-duration:1s;animation-fill-mode:both}.owl-carousel .owl-animated-in{z-index:0}.owl-carousel .owl-animated-out{z-index:1}.owl-carousel .fadeOut{animation-name:fadeOut}@keyframes fadeOut{0%{opacity:1}100%{opacity:0}}.owl-height{transition:height .5s ease-in-out}.owl-carousel .owl-item .owl-lazy{opacity:0;transition:opacity .4s ease}.owl-carousel .owl-item .owl-lazy:not([src]),.owl-carousel .owl-item .owl-lazy[src^=""]{max-height:0}.owl-carousel .owl-item img.owl-lazy{transform-style:preserve-3d}.owl-carousel .owl-video-wrapper{position:relative;height:100%;background:#000}.owl-carousel .owl-video-play-icon{position:absolute;height:80px;width:80px;left:50%;top:50%;margin-left:-40px;margin-top:-40px;background:url(owl.video.play.png) no-repeat;cursor:pointer;z-index:1;-webkit-backface-visibility:hidden;transition:transform .1s ease}.owl-carousel .owl-video-play-icon:hover{-ms-transform:scale(1.3,1.3);transform:scale(1.3,1.3)}.owl-carousel .owl-video-playing .owl-video-play-icon,.owl-carousel .owl-video-playing .owl-video-tn{display:none}.owl-carousel .owl-video-tn{opacity:0;height:100%;background-position:center center;background-repeat:no-repeat;background-size:contain;transition:opacity .4s ease}.owl-carousel .owl-video-frame{position:relative;z-index:1;height:100%;width:100%} \ No newline at end of file diff --git a/assets/css/slimmenu.min.css b/assets/css/slimmenu.min.css new file mode 100644 index 000000000..e1e9c3a74 --- /dev/null +++ b/assets/css/slimmenu.min.css @@ -0,0 +1 @@ +.menu-collapser{top:10px;width:30px;height:30px;padding:0;color:transparent;font-size:16px;line-height:48px;background-color:transparent;box-sizing:border-box;-moz-box-sizing:border-box;-webkit-box-sizing:border-box;position:absolute;right:0;}.collapse-button{position:absolute;right:0;top:5px;width:40px;padding:7px;color:#000;font-size:14px;text-align:center;background-color:transparent;border-radius:2px;cursor:pointer;transform:translate(0,-50%);-o-transform:translate(0,-50%);-ms-transform:translate(0,-50%);-moz-transform:translate(0,-50%);-webkit-transform:translate(0,-50%);box-sizing:border-box;-moz-box-sizing:border-box;-webkit-box-sizing:border-box}ul.slimmenu,ul.slimmenu ul{padding:0;margin:0}.collapse-button .icon-bar{display:block;height:2px;width:25px;margin:5px 0;background-color:#000;border-radius:1px}ul.slimmenu{width:100%;list-style-type:none}ul.slimmenu:after,ul.slimmenu:before{content:'';display:table}ul.slimmenu:after{clear:both}ul.slimmenu.collapsed li{display:block;width:100%;box-sizing:border-box;-moz-box-sizing:border-box;-webkit-box-sizing:border-box}ul.slimmenu.collapsed li>ul{position:static;display:none}ul.slimmenu.collapsed li a{display:block;border-bottom:1px solid rgba(0,0,0,.075);box-sizing:border-box;-moz-box-sizing:border-box;-webkit-box-sizing:border-box}ul.slimmenu.collapsed li .sub-toggle{height:40px}ul.slimmenu li{position:relative;float:left;display:inline-block;background-color:#aaa}ul.slimmenu li>ul,ul.slimmenu li>ul>li ul{display:none;width:100%;position:absolute;z-index:999}ul.slimmenu li ul{margin:0;list-style-type:none}ul.slimmenu li>ul{left:0;top:100%}ul.slimmenu li>ul>li ul{left:100%;top:0}ul.slimmenu li a{display:block;padding:12px 64px 12px 16px;color:#333;font-size:16px;font-weight:400;transition:background-color .5s ease-out;-o-transition:background-color .5s ease-out;-moz-transition:background-color .5s ease-out;-webkit-transition:background-color .5s ease-out}ul.slimmenu li a:hover{text-decoration:none}ul.slimmenu li .sub-toggle{background:rgba(0,0,0,.075);position:absolute;right:0;top:0;z-index:999;width:48px;height:100%;text-align:center;cursor:pointer}ul.slimmenu li .sub-toggle:before{content:'';display:inline-block;height:100%;margin-right:-.25em;vertical-align:middle}ul.slimmenu li .sub-toggle>i{display:inline-block;color:#333;vertical-align:middle}ul.slimmenu>li{border-left:1px solid #999}ul.slimmenu>li.has-submenu+li,ul.slimmenu>li:first-child{border-left:0} \ No newline at end of file diff --git a/assets/css/style.css b/assets/css/style.css new file mode 100644 index 000000000..e29eaede2 --- /dev/null +++ b/assets/css/style.css @@ -0,0 +1,3564 @@ +/* +Theme Name: Applin +Theme URI: https://cutter.com/applin/ +Author: cutter team +Author URI: https://cutter.com/ +Description: applin theme is a free apps theme. +Version: 1.0 +License: GNU General Public License v2 or later +License URI: http://www.gnu.org/licenses/gpl-2.0.html +Text Domain: +Tags: apps, hosting,business etc. +*/ +/* +=========================== +TABLE INDEX +1. Bg Color +2. Bg Image +3. Form & Button +4. Section & Inner Title +5. Shape Animation +6. Header Area +7. Service Area +8. Feature Area +9. Watch Video Area +10. Apps Screenshot Area +11. Apps Store Area +12. Testimonial Area +13. Price Plan Area +14. Blog Area +15. Sidebar Area +16. community Area +17. Footer Area +18. Text Generic +=========================== +*/ +/* 0. Normalize */ +body, html { + -ms-text-size-adjust: 100%; + -webkit-text-size-adjust: 100%; +} + +article, +aside, +details, +figcaption, +figure, +footer, +header, +hgroup, +main, +menu, +nav, +section, +summary { + display: block; + position: relative; +} + +audio, +canvas, +progress, +video { + display: inline-block; + vertical-align: baseline; +} + +audio:not([controls]) { + display: none; + height: 0; +} + +[hidden], +template { + display: none; +} + +a { + background-color: transparent; +} + +a { + transition: all 500ms ease; +} + +a:active, +a:hover { + outline: 0; + text-decoration: none; + color: #216ae6; +} + +abbr[title] { + border-bottom: 1px dotted; +} + +ol, ul { + padding-left: 20px; +} + +b, +strong { + font-weight: bold; +} + +dfn { + font-style: italic; +} + +mark { + background: #ff0; + color: #000; +} + +small { + font-size: 80%; +} + +sub, +sup { + font-size: 75%; + line-height: 0; + position: relative; + vertical-align: baseline; +} + +sup { + top: -0.5em; +} + +sub { + bottom: -0.25em; +} + +i, cite, em, var, address, dfn { + font-style: normal; +} + +img { + border: 0; +} + +svg:not(:root) { + overflow: hidden; +} + +figure { + margin: 1em 40px; +} + +hr { + -moz-box-sizing: content-box; + box-sizing: content-box; + height: 0; +} + +pre { + overflow: auto; +} + +code, +kbd, +pre, +samp { + font-size: inherit; +} + +.form-control { + height: auto; +} + +button, +input, +optgroup, +select, +textarea { + color: inherit; + font: inherit; + margin: 0; +} + +textarea:focus, +textarea:active, +button:focus, +button:active, +input:active, +input:focus, +.btn:focus, +.btn.active { + background-image: none !important; + outline: 0; + -webkit-box-shadow: none !important; + box-shadow: none !important; +} + +.page-link:focus { + outline: 0; + box-shadow: none; +} + +button, +select { + text-transform: none; +} + +button, +html input[type=button], +input[type=reset], +input[type=submit] { + -webkit-appearance: button; + cursor: pointer; +} + +button[disabled], +html input[disabled] { + cursor: default; +} + +button::-moz-focus-inner, +input::-moz-focus-inner { + border: 0; + padding: 0; +} + +input[type=checkbox], +input[type=radio] { + box-sizing: border-box; + padding: 0; +} + +input[type=number]::-webkit-inner-spin-button, +input[type=number]::-webkit-outer-spin-button { + height: auto; +} + +input[type=search] { + -webkit-appearance: textfield; + -moz-box-sizing: content-box; + -webkit-box-sizing: content-box; + box-sizing: content-box; +} + +input[type=search]::-webkit-search-cancel-button, +input[type=search]::-webkit-search-decoration { + -webkit-appearance: none; +} + +legend { + border: 0; + padding: 0; +} + +textarea { + overflow: auto; +} + +optgroup { + font-weight: bold; +} + +table { + border-collapse: collapse; + border-spacing: 0; +} + +td, +th { + padding: 0; +} + +.p-t-100 { + padding-top: 100px; +} + +.p-b-100 { + padding-bottom: 100px; +} + +.p-t-130 { + padding-top: 130px; +} + +.p-b-130 { + padding-bottom: 130px; +} + +.p-t-140 { + padding-top: 140px; +} + +.p-b-140 { + padding-bottom: 140px; +} + +@media (min-width: 768px) and (max-width: 992px) { + .p-t-100 { + padding-top: 60px; + } + .p-b-100 { + padding-bottom: 60px; + } + .p-t-130 { + padding-top: 90px; + } + .p-b-130 { + padding-bottom: 90px; + } + .p-t-140 { + padding-top: 100px; + } + .p-b-140 { + padding-bottom: 100px; + } +} +@media (max-width: 768px) { + .p-t-100 { + padding-top: 60px; + } + .p-b-100 { + padding-bottom: 60px; + } + .p-t-130 { + padding-top: 90px; + } + .p-b-130 { + padding-bottom: 90px; + } + .p-t-140 { + padding-top: 100px; + } + .p-b-140 { + padding-bottom: 100px; + } +} +.m-t-30 { + margin-top: 30px; +} + +.m-b-30 { + margin-bottom: 30px; +} + +.m-l-30 { + margin-left: 30px; +} + +.m-r-30 { + margin-right: 30px; +} + +.m-t-40 { + margin-top: 40px; +} + +.m-b-40 { + margin-bottom: 40px; +} + +.m-l-40 { + margin-left: 40px; +} + +.m-r-40 { + margin-right: 40px; +} + +.m-t-50 { + margin-top: 50px; +} + +.m-b-50 { + margin-bottom: 50px; +} + +.m-l-50 { + margin-left: 50px; +} + +.m-r-50 { + margin-right: 50px; +} + +.m-t-60 { + margin-top: 60px; +} + +.m-b-60 { + margin-bottom: 60px; +} + +.m-l-60 { + margin-left: 60px; +} + +.m-r-60 { + margin-right: 60px; +} + +.m-t-70 { + margin-top: 70px; +} + +.m-b-70 { + margin-bottom: 70px; +} + +.m-l-70 { + margin-left: 70px; +} + +.m-r-70 { + margin-right: 70px; +} + +.m-t-80 { + margin-top: 80px; +} + +.m-b-80 { + margin-bottom: 80px; +} + +.m-l-80 { + margin-left: 80px; +} + +.m-r-80 { + margin-right: 80px; +} + +.m-t-90 { + margin-top: 90px; +} + +.m-b-90 { + margin-bottom: 90px; +} + +.m-l-90 { + margin-left: 90px; +} + +.m-r-90 { + margin-right: 90px; +} + +@media (min-width: 768px) and (max-width: 992px) { + .m-t-30 { + margin-top: 10px; + } + .m-b-30 { + margin-bottom: 10px; + } + .m-l-30 { + margin-left: 10px; + } + .m-r-30 { + margin-right: 10px; + } + .m-t-40 { + margin-top: 20px; + } + .m-b-40 { + margin-bottom: 20px; + } + .m-l-40 { + margin-left: 20px; + } + .m-r-40 { + margin-right: 20px; + } + .m-t-50 { + margin-top: 30px; + } + .m-b-50 { + margin-bottom: 30px; + } + .m-l-50 { + margin-left: 30px; + } + .m-r-50 { + margin-right: 30px; + } + .m-t-60 { + margin-top: 40px; + } + .m-b-60 { + margin-bottom: 40px; + } + .m-l-60 { + margin-left: 40px; + } + .m-r-60 { + margin-right: 40px; + } + .m-t-70 { + margin-top: 50px; + } + .m-b-70 { + margin-bottom: 50px; + } + .m-l-70 { + margin-left: 50px; + } + .m-r-70 { + margin-right: 50px; + } + .m-t-80 { + margin-top: 60px; + } + .m-b-80 { + margin-bottom: 60px; + } + .m-l-80 { + margin-left: 60px; + } + .m-r-80 { + margin-right: 60px; + } + .m-t-90 { + margin-top: 70px; + } + .m-b-90 { + margin-bottom: 70px; + } + .m-l-90 { + margin-left: 70px; + } + .m-r-90 { + margin-right: 70px; + } +} +@media (max-width: 768px) { + .m-t-30 { + margin-top: 10px; + } + .m-b-30 { + margin-bottom: 10px; + } + .m-l-30 { + margin-left: 10px; + } + .m-r-30 { + margin-right: 10px; + } + .m-t-40 { + margin-top: 20px; + } + .m-b-40 { + margin-bottom: 20px; + } + .m-l-40 { + margin-left: 20px; + } + .m-r-40 { + margin-right: 20px; + } + .m-t-50 { + margin-top: 30px; + } + .m-b-50 { + margin-bottom: 30px; + } + .m-l-50 { + margin-left: 30px; + } + .m-r-50 { + margin-right: 30px; + } + .m-t-60 { + margin-top: 40px; + } + .m-b-60 { + margin-bottom: 40px; + } + .m-l-60 { + margin-left: 40px; + } + .m-r-60 { + margin-right: 40px; + } + .m-t-70 { + margin-top: 50px; + } + .m-b-70 { + margin-bottom: 50px; + } + .m-l-70 { + margin-left: 50px; + } + .m-r-70 { + margin-right: 50px; + } + .m-t-80 { + margin-top: 60px; + } + .m-b-80 { + margin-bottom: 60px; + } + .m-l-80 { + margin-left: 60px; + } + .m-r-80 { + margin-right: 60px; + } + .m-t-90 { + margin-top: 70px; + } + .m-b-90 { + margin-bottom: 70px; + } + .m-l-90 { + margin-left: 70px; + } + .m-r-90 { + margin-right: 70px; + } +} +body { + font-family: "Poppins", sans-serif; + font-size: 16px; + line-height: 1.6; + font-weight: 400; + color: #0d1b33; +} + +::-webkit-input-placeholder { + font-size: 1.6; + line-height: 1.6; + color: #777777; + font-weight: 400; +} + +:-moz-placeholder { + font-size: 1.6; + line-height: 1.6; + color: #777777; + font-weight: 400; +} + +::-moz-placeholder { + font-size: 1.6; + line-height: 1.6; + color: #777777; + font-weight: 400; +} + +:-ms-input-placeholder { + font-size: 1.6; + line-height: 1.6; + color: #777777; + font-weight: 400; +} + +h1, .heading-1 { + font-size: 40px; +} +@media (max-width: 768px) { + h1, .heading-1 { + font-size: 25px; + } +} + +h2, .heading-2 { + font-size: 32px; +} +@media (max-width: 768px) { + h2, .heading-2 { + font-size: 22px; + } +} + +h3, .heading-3 { + font-size: 28px; +} +@media (max-width: 768px) { + h3, .heading-3 { + font-size: 18px; + font-weight: 700; + } +} + +h4, .heading-4 { + font-size: 24px; +} +@media (max-width: 768px) { + h4, .heading-4 { + font-size: 17px; + font-weight: 700; + } +} + +h5, .heading-5 { + font-size: 20px; +} +@media (max-width: 768px) { + h5, .heading-5 { + font-size: 15px; + font-weight: 700; + } +} + +h6, .heading-6 { + font-size: 16px; +} + +h1, h2, h3, h4, h5, h6, +.heading-1, .heading-2, +.heading-3, .heading-4, +.heading-5, .heading-6 { + line-height: 1.4; + color: #041e49; +} + +h1, h2, h3, h4, h5, h6 { + font-family: "Poppins", sans-serif; + font-weight: 400; +} + +.heading-1, .heading-2, +.heading-3, .heading-4, +.heading-5, .heading-6 { + font-family: "Poppins", sans-serif; + font-weight: 600; +} + +h1 a, h2 a, h3 a, h4 a, h5 a, h6 a { + color: #041e49; +} + +.big-font1, .big-font2, .big-font3 { + line-height: 1.2; + font-weight: 700; +} + +.big-font1 { + font-size: 60px; +} +@media (min-width: 992px) and (max-width: 1200px) { + .big-font1 { + font-size: 45px; + } +} +@media (min-width: 768px) and (max-width: 992px) { + .big-font1 { + font-size: 40px; + } +} +@media (max-width: 768px) { + .big-font1 { + font-size: 35px; + } +} + +.big-font2 { + font-size: 48px; +} +@media (min-width: 992px) and (max-width: 1200px) { + .big-font2 { + font-size: 33px; + } +} +@media (min-width: 768px) and (max-width: 992px) { + .big-font2 { + font-size: 28px; + } +} +@media (max-width: 768px) { + .big-font2 { + font-size: 28px; + } +} + +.big-font3 { + font-size: 40px; +} +@media (min-width: 992px) and (max-width: 1200px) { + .big-font3 { + font-size: 25px; + } +} +@media (min-width: 768px) and (max-width: 992px) { + .big-font3 { + font-size: 25px; + } +} +@media (max-width: 768px) { + .big-font3 { + font-size: 25px; + } +} + +.big-font4 { + font-size: 24px; +} +@media (min-width: 992px) and (max-width: 1200px) { + .big-font4 { + font-size: 9px; + } +} +@media (min-width: 768px) and (max-width: 992px) { + .big-font4 { + font-size: 4px; + } +} +@media (max-width: 768px) { + .big-font4 { + font-size: 4px; + } +} + +small, +.small { + font-size: 14px; + font-weight: 400; +} + +.font-weight-bold { + font-weight: 700 !important; +} + +.weight-semibold { + font-weight: 600 !important; +} + +.weight-medium { + font-weight: 500 !important; +} + +.weight-normal { + font-weight: 400 !important; +} + +.weight-light { + font-weight: 300 !important; +} + +.white-all h1, .white-all h2, .white-all h3, .white-all h4, .white-all h5, .white-all h6, .white-all p, .white-all a, .white-all span, .white-all label, .white-all input, .white-all textarea, .white-all em, .white-all b, .white-all * { + color: #ffffff !important; +} + +.white-text { + color: #ffffff !important; +} + +/* ============================================== + +1. Bg Color + +============================================== */ +.bg-color1 { + background-color: #ffffff; +} + +.bg-color2 { + background-color: #216ae6; +} + +.bg-color3 { + background-color: #4986ee; +} + +.bg-color4 { + background-color: #fafcff; +} + +.bg-overlay:before { + content: ""; + position: absolute; + left: 0; + right: 0; + top: 0; + bottom: 0; + background-color: #216ae6; + opacity: 0.95; + z-index: 1; +} + +.social-color1 { + color: #3c5a98; +} + +.social-color2 { + color: #4f7ea6; +} + +.social-color3 { + color: #29a8eb; +} + +.social-color4 { + color: #563acc; +} + +div[class*=-wrapper] { + position: relative; + z-index: 3; +} + +/* ============================================== + +2. Bg Image + +============================================== */ +.bg-image1 { + background: #ffffff url("../images/cutter_head_light_theme.png") no-repeat fixed center/cover; +} + +.bg-image2 { + background: #ffffff url("../images/bg-image1.jpg") no-repeat fixed center/cover; +} + +.bg-image3 { + background: #ffffff url("../images/watch-video-bg.jpg") no-repeat fixed center/cover; +} + +/* ============================================== + +3. Form & Button + +============================================== */ +form, +fieldset { + padding: 0; + margin: 0; +} + +input[type=text], +input[type=tel], +input[type=email], +input[type=search], +input[type=password], +textarea[class], select { + transition: all 500ms ease; + font-size: inherit; + padding: 15px 20px; + border-radius: 4px; + color: inherit; + background-color: transparent; + border: 1px solid #e3e3e3; +} +input[type=text]:focus, input[type=text]:hover, input[type=text]:active, +input[type=tel]:focus, +input[type=tel]:hover, +input[type=tel]:active, +input[type=email]:focus, +input[type=email]:hover, +input[type=email]:active, +input[type=search]:focus, +input[type=search]:hover, +input[type=search]:active, +input[type=password]:focus, +input[type=password]:hover, +input[type=password]:active, +textarea[class]:focus, +textarea[class]:hover, +textarea[class]:active, select:focus, select:hover, select:active { + color: inherit; + background-color: #ffffff; + border: 1px solid #216ae6; +} + +button, +input[type=button], +input[type=reset], +input[type=file], +input[type=submit] { + transition: all 500ms ease; + font-size: 16px; + padding: 10px 30px; + border-radius: 4px; + color: #ffffff; + background-color: #2e75d8; + border: 1px solid #216ae6; +} +button:focus, button:hover, button:active, +input[type=button]:focus, +input[type=button]:hover, +input[type=button]:active, +input[type=reset]:focus, +input[type=reset]:hover, +input[type=reset]:active, +input[type=file]:focus, +input[type=file]:hover, +input[type=file]:active, +input[type=submit]:focus, +input[type=submit]:hover, +input[type=submit]:active { + color: #216ae6; + background-color: #f5f5f5; + border: 1px solid #216ae6; +} + +/* ============================================== + +4. Section & Inner Title + +============================================== */ +.section-title { + position: relative; + bottom: 9px; +} +.section-title h2 { + margin-bottom: 30px; + font-weight: 600; +} +@media (min-width: 768px) and (max-width: 992px) { + .section-title h2 { + margin-bottom: 20px; + } +} +@media (max-width: 768px) { + .section-title h2 { + margin-bottom: 20px; + } +} +@media (min-width: 992px) and (max-width: 1200px) { + .section-title { + bottom: 5px; + } +} +@media (min-width: 768px) and (max-width: 992px) { + .section-title { + bottom: 2px; + } +} +@media (max-width: 768px) { + .section-title { + bottom: 0px; + } +} + +.inner-title { + margin-bottom: 20px; +} +.inner-title h3, .inner-title h4, .inner-title h5, .inner-title h6 { + margin: 0; +} + +/* ============================================== + +5. Shape Animation + +============================================== */ +.cutter-ani .shape-one { + position: absolute; + left: 9%; + top: 28%; + animation: animationFramesOne 25s alternate infinite linear; +} +.cutter-ani .shape-two { + position: absolute; + left: 38%; + bottom: 25%; + animation: animationFramesTwo 35s alternate infinite linear; +} +.cutter-ani .shape-tree { + position: absolute; + bottom: 60%; + right: 10%; + animation: animationFramesFour 20s infinite linear; +} +.cutter-ani .shape-four { + position: absolute; + bottom: 10%; + right: 40%; + animation: rotated 20s infinite linear; +} +.cutter-ani .shape-five { + position: absolute; + bottom: 20%; + left: 10%; + animation: animationFramesFive 20s infinite linear; +} +.cutter-ani .shape-six { + position: absolute; + animation: rotated 50s infinite linear; +} +@media (max-width: 768px) { + .cutter-ani { + display: none; + } +} + +/* ============================================== + +6. Header Area + +============================================== */ +.main-area { + overflow-x: hidden; +} + +.header-area { + margin-bottom: 455px; +} +.header-area:before { + content: ""; + height: 700px; + border-bottom-left-radius: 220px; + border-bottom-right-radius: 270px; + background: #216ae6; + display: block; + position: absolute; + transform: skewY(6deg); + left: -50px; + right: -70px; + bottom: -250px; + z-index: 1; +} +@media (min-width: 992px) and (max-width: 1200px) { + .header-area:before { + bottom: -190px; + border-bottom-left-radius: 200px; + border-bottom-right-radius: 200px; + } +} +@media (min-width: 768px) and (max-width: 992px) { + .header-area:before { + display: none; + } +} +@media (max-width: 768px) { + .header-area:before { + display: none; + } +} +.header-area .header-banner { + padding: 30px 50px 0px 0px; + z-index: 3; + position: relative; +} +@media (min-width: 992px) and (max-width: 1200px) { + .header-area .header-banner { + padding: 30px 0px 0px 0px; + } +} +@media (min-width: 768px) and (max-width: 992px) { + .header-area .header-banner { + padding: 20px 0px 100px 0px; + } +} +@media (max-width: 768px) { + .header-area .header-banner { + padding: 10px 0px 80px 0px; + } +} +@media (min-width: 992px) and (max-width: 1200px) { + .header-area { + margin-bottom: 228px; + } +} +@media (min-width: 768px) and (max-width: 992px) { + .header-area { + margin: 0; + } +} +@media (max-width: 768px) { + .header-area { + margin: 0; + } +} + +.page-area { + margin-bottom: 205px; +} +@media (min-width: 992px) and (max-width: 1200px) { + .page-area { + margin-bottom: 213px; + } +} +@media (min-width: 768px) and (max-width: 992px) { + .page-area { + margin: 0; + } +} +@media (max-width: 768px) { + .page-area { + margin: 0; + } +} +.page-area:before { + bottom: -130px; + border-bottom-left-radius: 170px; + border-bottom-right-radius: 150px; +} +@media (min-width: 992px) and (max-width: 1200px) { + .page-area:before { + bottom: -170px; + } +} +@media (min-width: 768px) and (max-width: 992px) { + .page-area:before { + bottom: -170px; + } +} +@media (max-width: 768px) { + .page-area:before { + bottom: -170px; + } +} +.page-area .header-page-title { + padding-top: 30px; + padding-bottom: 20px; +} +@media (min-width: 768px) and (max-width: 992px) { + .page-area .header-page-title { + padding-top: 20px; + } +} +@media (max-width: 768px) { + .page-area .header-page-title { + padding-top: 10px; + } +} +.page-area .header-shape .left { + left: -190px; + top: -770px; +} +@media (min-width: 992px) and (max-width: 1200px) { + .page-area .header-shape .left { + left: -100px; + top: -305px; + width: 470px; + } +} +@media (min-width: 768px) and (max-width: 992px) { + .page-area .header-shape .left { + left: -120px; + top: -300px; + width: 470px; + } +} +@media (max-width: 768px) { + .page-area .header-shape .left { + left: -140px; + top: -220px; + width: 470px; + } +} +.page-area .header-shape .right { + right: -670px; + top: -610px; +} +@media (min-width: 992px) and (max-width: 1200px) { + .page-area .header-shape .right { + right: -250px; + top: -90px; + width: 480px; + } +} +@media (min-width: 768px) and (max-width: 992px) { + .page-area .header-shape .right { + right: -250px; + top: -180px; + width: 480px; + } +} +@media (max-width: 768px) { + .page-area .header-shape .right { + right: -250px; + top: -90px; + width: 480px; + } +} + +.header-shape { + position: absolute; + left: 0; + right: 0; + top: 0; + z-index: 2; +} +.header-shape .left { + position: absolute; + left: -190px; + top: -690px; +} +@media (min-width: 992px) and (max-width: 1200px) { + .header-shape .left { + left: -140px; + top: -220px; + width: 470px; + } +} +@media (min-width: 768px) and (max-width: 992px) { + .header-shape .left { + left: -80px; + top: -220px; + width: 400px; + } +} +.header-shape .right { + position: absolute; + right: -640px; + top: -610px; +} +@media (min-width: 992px) and (max-width: 1200px) { + .header-shape .right { + right: -295px; + top: -90px; + width: 600px; + } +} +@media (min-width: 768px) and (max-width: 992px) { + .header-shape .right { + right: -250px; + top: -90px; + width: 480px; + } +} +.header-shape img { + max-width: 100%; +} +@media (min-width: 768px) and (max-width: 992px) { + .header-shape img { + max-width: 80%; + } +} +@media (max-width: 768px) { + .header-shape img { + max-width: 80%; + } +} +@media (max-width: 768px) { + .header-shape { + display: none; + } +} + +.header-nav { + padding-top: 70px; + display: table; + width: 100%; + position: relative; + z-index: 10; +} +@media (min-width: 768px) and (max-width: 992px) { + .header-nav { + padding-top: 30px; + } +} +@media (max-width: 768px) { + .header-nav { + padding-top: 30px; + } +} +.header-nav .cutter-navbar { + padding: 0; +} +.header-nav .header-logo { + padding: 15px 0; + float: left; +} +.header-nav .cutter-navbar { + float: right; +} +@media (min-width: 768px) and (max-width: 992px) { + .header-nav .cutter-navbar { + float: none; + } +} +@media (max-width: 768px) { + .header-nav .cutter-navbar { + float: none; + } +} +@media (min-width: 768px) and (max-width: 992px) { + .header-nav .main-menu { + position: absolute; + left: 0; + right: 0; + background-color: #ffffff; + box-shadow: 0 0 20px 0 rgba(25, 100, 227, 0.06); + border-radius: 5px; + top: 0; + } +} +@media (max-width: 768px) { + .header-nav .main-menu { + position: absolute; + left: 0; + right: 0; + background-color: #ffffff; + box-shadow: 0 0 20px 0 rgba(25, 100, 227, 0.06); + border-radius: 5px; + top: 0; + } +} +.header-nav .main-menu li { + border: 0 !important; + background-color: transparent; +} +.header-nav .main-menu li a { + padding: 15px 15px 15px 15px; + color: #ffffff; +} +@media (min-width: 768px) and (max-width: 992px) { + .header-nav .main-menu li a { + color: #0d1b33; + } +} +@media (max-width: 768px) { + .header-nav .main-menu li a { + color: #0d1b33; + } +} +.header-nav .main-menu li.has-submenu a { + padding: 15px 30px 15px 15px; +} +.header-nav .main-menu li.has-submenu ul li { + background-color: #ffffff; +} +.header-nav .main-menu li.has-submenu ul li a { + color: #0d1b33; + padding: 15px 15px; + transition: all 500ms ease; +} +.header-nav .main-menu li.has-submenu ul li a:hover { + text-indent: 2px; + color: #216ae6; +} +.header-nav .main-menu li.has-submenu > ul:before { + content: ""; + background-color: #ffffff; + width: 15px; + height: 15px; + display: block; + position: relative; + left: 10px; + top: 10px; + transform: rotate(45deg); +} +@media (min-width: 768px) and (max-width: 992px) { + .header-nav .main-menu li.has-submenu > ul:before { + display: none; + } +} +@media (max-width: 768px) { + .header-nav .main-menu li.has-submenu > ul:before { + display: none; + } +} +.header-nav .main-menu li .sub-toggle { + background: transparent; + width: 20px; +} +.header-nav .main-menu li .sub-toggle i:before { + font-family: "Font Awesome 5 Free"; + font-weight: 900; + content: "\f107"; + position: absolute; + color: #ffffff; + font-style: normal; +} +@media (max-width: 768px) { + .header-nav .main-menu li .sub-toggle i:before { + color: #041e49; + } +} +@media (min-width: 768px) and (max-width: 992px) { + .header-nav .main-menu li .sub-toggle i:before { + color: #041e49; + } +} +@media (min-width: 768px) and (max-width: 992px) { + .header-nav .main-menu li .sub-toggle { + width: 45px; + height: 100% !important; + } +} +@media (max-width: 768px) { + .header-nav .main-menu li .sub-toggle { + width: 45px; + height: 100% !important; + } +} +.header-nav .main-menu li a:hover, .header-nav .main-menu li a:focus { + background-color: transparent; + color: #ffffff; +} +@media (min-width: 768px) and (max-width: 992px) { + .header-nav .main-menu li a:hover, .header-nav .main-menu li a:focus { + color: #216ae6; + } +} +@media (max-width: 768px) { + .header-nav .main-menu li a:hover, .header-nav .main-menu li a:focus { + color: #216ae6; + } +} +.header-nav .main-menu li .sub-toggle i { + color: transparent; + position: relative; +} +.header-nav .main-menu li.has-submenu ul { + position: absolute; + min-width: 180px; +} +.header-nav .main-menu li.has-submenu ul li { + float: none; + display: block; +} +.header-nav .menu-collapser .collapse-button { + top: -38px; +} +.header-nav .menu-collapser .collapse-button .icon-bar { + background-color: #ffffff; +} +@media (min-width: 768px) and (max-width: 992px) { + .header-nav .col-lg-10 { + position: static; + } +} +@media (max-width: 768px) { + .header-nav .col-lg-10 { + position: static; + } +} + +@-webkit-keyframes banner-mockup { + 0% { + -webkit-transform: translateY(8px); + transform: translateY(8px); + } + 50% { + -webkit-transform: translateY(4px); + transform: translateY(4px); + } + 100% { + -webkit-transform: translateY(8px); + transform: translateY(8px); + } +} +@keyframes banner-mockup { + 0% { + -webkit-transform: translateY(8px); + transform: translateY(8px); + } + 50% { + -webkit-transform: translateY(4px); + transform: translateY(4px); + } + 100% { + -webkit-transform: translateY(8px); + transform: translateY(8px); + } +} +@-webkit-keyframes banner-mockup-sink { + 100% { + -webkit-transform: translateY(8px); + transform: translateY(8px); + } +} +@keyframes banner-mockup-sink { + 100% { + -webkit-transform: translateY(8px); + transform: translateY(8px); + } +} +.header-banner .banner-content { + padding-right: 30px; + position: relative; + z-index: 2; +} +@media (min-width: 768px) and (max-width: 992px) { + .header-banner .banner-content { + padding-right: 0; + } +} +@media (max-width: 768px) { + .header-banner .banner-content { + padding-right: 0; + } +} +.header-banner .banner-mockup { + z-index: 2; + position: absolute; + animation-name: banner-mockup-sink, banner-mockup; + animation-duration: 0.3s, 1.5s; + animation-delay: 0s, 0.3s; + animation-timing-function: ease-out, ease-in-out; + animation-iteration-count: 1, infinite; + animation-fill-mode: forwards; + animation-direction: normal, alternate; +} +@media (max-width: 768px) { + .header-banner .banner-mockup { + display: none; + } +} +@media (min-width: 992px) and (max-width: 1200px) { + .header-banner .banner-mockup { + margin: 0; + } + .header-banner .banner-mockup img { + max-width: 100%; + } +} +@media (min-width: 768px) and (max-width: 992px) { + .header-banner .banner-mockup { + margin: 0; + } + .header-banner .banner-mockup img { + max-width: 100%; + } +} +.header-banner .banner-btn li { + margin-right: 20px; + margin-bottom: 10px; +} +.header-banner .banner-btn li:last-child { + margin: 0; +} +@media (max-width: 576px) { + .header-banner .banner-btn li { + display: block; + margin-right: 0; + } + .header-banner .banner-btn li a { + display: block; + } +} + +.header-page-title { + position: relative; + z-index: 3; + padding-top: 30px; + padding-bottom: 20px; +} +.header-page-title .page-post-date { + margin: 0; +} +.header-page-title .page-post-date li { + margin-right: 20px; +} +.header-page-title .page-post-date li img { + margin-right: 10px; + width: 15px; + height: 15px; + object-fit: contain; +} +.header-page-title .author-name img { + width: 65px; + height: 65px; + border-radius: 50px; + margin-bottom: 20px; + object-fit: cover; +} +.header-page-title .author-name .social-link { + margin: 0; + margin-top: 10px; +} +@media (max-width: 768px) { + .header-page-title { + padding-top: 60px; + padding-bottom: 90px; + } +} +@media (min-width: 768px) and (max-width: 992px) { + .header-page-title { + padding-top: 80px; + padding-bottom: 100px; + } +} + +.dwn-btn1 { + font-size: 20px; + padding: 16px 20px; + border-radius: 4px; + color: #216ae6; + background-color: #ffffff; + border: 1px solid #ffffff; +} +.dwn-btn1:focus, .dwn-btn1:hover, .dwn-btn1:active { + color: #216ae6; + background-color: #f5f5f5; + border: 1px solid #ffffff; +} +.dwn-btn1 span { + margin-left: 10px; +} +.dwn-btn1 img { + height: 20px; + width: 20px; + object-fit: contain; +} + +.dwn-btn2 { + font-size: 20px; + padding: 15px 20px; + border-radius: 4px; + color: #ffffff; + background-color: transparent; + border: 1px solid #ffffff; +} +.dwn-btn2:focus, .dwn-btn2:hover, .dwn-btn2:active { + color: #ffffff; + background-color: #000000; + border: 1px solid #000000; +} +.dwn-btn2 span { + margin-left: 10px; + vertical-align: middle; +} +.dwn-btn2 img { + height: 20px; + width: 20px; + object-fit: contain; +} + +.dwn-btn3 { + font-size: 20px; + padding: 16px 20px; + border-radius: 4px; +} + +/* ============================================== + +7. Service Area + +============================================== */ +.line-color1 { + background-color: #fec2c2; +} + +.line-color2 { + background-color: #b0ffca; +} + +.line-color3 { + background-color: #d8c8fc; +} + +.service-box { + text-align: center; + margin-bottom: 30px; +} +.service-box .service-logo { + padding: 21px 5px; + width: 85px; + height: 85px; + border-radius: 50px; + box-shadow: 0 0 10px 0 rgba(25, 100, 227, 0.1); + display: block; + text-align: center; + vertical-align: middle; + margin: auto auto 30px; + transition: all 500ms ease; +} +.service-box .service-content h5, .service-box .service-content h4, .service-box .service-content h3 { + margin-bottom: 20px; +} +.service-box .service-content p { + margin-bottom: 30px; +} +.service-box .service-line { + position: relative; + width: 2px; + height: 70px; + display: block; + top: 0; + margin: auto auto 0; + transition: all 500ms ease; +} +.service-box:hover .service-logo { + box-shadow: 0 0 20px 0 rgba(25, 100, 227, 0.06); +} +.service-box:hover .service-line { + top: -15px; +} + +.icon-shadow { + text-shadow: -7px 8px 2px #1c55b6, -3px 5px #1c55b6; +} + +.icon-glow { + text-shadow: -3px -8px 9px #3b7ef1; +} + +/* ============================================== + +8. Feature Area + +============================================== */ +@media (max-width: 576px) { + .feature-area { + padding-top: 50px; + } +} + +.feature-box { + overflow: hidden; + position: relative; + box-shadow: 0 0 20px 0 rgba(25, 100, 227, 0.06); + padding: 30px 30px 50px; + margin-bottom: 30px; + text-align: center; + border-radius: 5px; + transition: all 500ms ease; +} +.feature-box .feature-logo { + /*width:85px;*/ + /*height:85px;*/ + box-shadow: 0 0 10px 0 rgba(25, 100, 227, 0.1); + border-radius: 50px; + margin: auto auto 30px; + padding: 21px 5px; + transition: all 500ms ease; + height: 250px; +} +.feature-box .feature-logo img { + width: 90%; + max-height: 100%; +} +.feature-box:after { + content: ""; + width: 170px; + height: 1px; + display: block; + background: #6d49bf; + opacity: 0.14; + position: absolute; + top: 50px; + left: 30px; +} +@media (min-width: 768px) and (max-width: 992px) { + .feature-box:after { + display: none; + } +} +.feature-box:before { + content: ""; + width: 1px; + height: 170px; + display: block; + background: #6d49bf; + opacity: 0.14; + position: absolute; + top: 30px; + left: 50px; +} +@media (min-width: 768px) and (max-width: 992px) { + .feature-box:before { + display: none; + } +} +.feature-box .feature-content h3, .feature-box .feature-content h4, .feature-box .feature-content h5 { + margin-bottom: 20px; +} +.feature-box .feature-content p { + margin: 0; +} +.feature-box .feature-shape { + width: 100%; + height: 110px; + background: #ffffff; + opacity: 0.03; + display: block; + border-radius: 50px; + position: absolute; + top: -8px; + right: -140px; + transform: rotate(-55deg); +} +.feature-box:hover { + background-color: #216ae6; +} +.feature-box:hover * { + color: #ffffff; +} +.feature-box:hover .feature-logo { + background-color: #ffffff; +} +.feature-box:hover:before { + background-color: #ffffff; + opacity: 0.15; +} +.feature-box:hover:after { + background-color: #ffffff; + opacity: 0.15; +} +@media (min-width: 768px) and (max-width: 992px) { + .feature-box { + padding: 40px 15px; + } +} + +.feature-img { + margin-bottom: 30px; +} +@media (min-width: 768px) and (max-width: 992px) { + .feature-img .image-mockup { + max-width: 500px; + } +} +@media (max-width: 768px) { + .feature-img .image-mockup { + max-width: 380px; + } +} + +/* ============================================== + +9. Watch Video Area + +============================================== */ +.watch-video-play { + position: relative; + margin-top: 240px; +} +.watch-video-play img { + max-width: 100%; + border-radius: 5px; +} +@media (min-width: 768px) and (max-width: 992px) { + .watch-video-play { + margin-top: 0; + margin-bottom: 30px; + padding-right: 15px; + } +} +@media (max-width: 768px) { + .watch-video-play { + margin-top: 0; + margin-bottom: 30px; + padding-right: 15px; + } +} +.watch-video-play .play-btn { + padding: 29px 10px; + display: block; + text-align: center; + width: 90px; + height: 90px; + border-radius: 50px; + background: #ffffff; + cursor: pointer; + box-shadow: 0 0 0 rgba(255, 255, 255, 0.8); + animation: play-btn 1.5s infinite; + position: absolute; + top: 0; + right: 0; + left: 0; + bottom: 0; + margin: auto; +} +.watch-video-play .play-btn i { + font-size: 32px; +} +.watch-video-play .play-btn:hover { + -webkit-animation: none; + animation: none; +} +.watch-video-play .play-btn.disabled { + pointer-events: none; + cursor: default; +} +@keyframes play-btn { + 0% { + box-shadow: 0 0 0 0 rgba(255, 255, 255, 0.4); + } + 70% { + box-shadow: 0 0 0 15px rgba(255, 255, 255, 0); + } + 100% { + box-shadow: 0 0 0 0 rgba(255, 255, 255, 0); + } +} + +.watch-video-content .watch-video-top { + background-color: #4986ee; + border-top-left-radius: 5px; + border-top-right-radius: 5px; + padding: 30px; +} +.watch-video-content .watch-video-top h2 { + margin: 0; +} +@media (min-width: 768px) and (max-width: 992px) { + .watch-video-content .watch-video-top { + padding: 20px; + } +} +@media (max-width: 768px) { + .watch-video-content .watch-video-top { + padding: 20px; + } +} +.watch-video-content .watch-video-bottom { + border-bottom-left-radius: 5px; + border-bottom-right-radius: 5px; + background-color: #ffffff; + padding: 30px; +} +.watch-video-content .watch-video-bottom p { + margin: 0; +} +@media (min-width: 768px) and (max-width: 992px) { + .watch-video-content .watch-video-bottom { + padding: 30px; + } +} +@media (max-width: 768px) { + .watch-video-content .watch-video-bottom { + padding: 30px; + } +} +@media (min-width: 768px) and (max-width: 992px) { + .watch-video-content { + padding-left: 15px; + } +} +@media (max-width: 768px) { + .watch-video-content { + padding-left: 15px; + } +} + +.watch-arrow { + margin: 20px; +} +@media (min-width: 768px) and (max-width: 992px) { + .watch-arrow { + display: none; + } +} +@media (max-width: 768px) { + .watch-arrow { + display: none; + } +} + +/* ============================================== + +10. Apps Screenshot Area + +============================================== */ +.apps-screenshot-img img { + position: relative; + max-width: 100%; +} +@media (min-width: 992px) and (max-width: 1200px) { + .apps-screenshot-img img { + margin-left: 0; + max-width: 100%; + } +} +@media (min-width: 768px) and (max-width: 992px) { + .apps-screenshot-img img { + margin-left: 0; + max-width: 100%; + margin-bottom: 30px; + } +} +@media (max-width: 768px) { + .apps-screenshot-img img { + margin-left: 0; + max-width: 100%; + margin-bottom: 30px; + } +} + +.screenshot-list { + position: relative; +} +.screenshot-list li { + padding-left: 25px; + margin-bottom: 5px; +} +.screenshot-list li:before { + font-family: "Font Awesome 5 Free"; + font-weight: 900; + content: "\f068"; + position: absolute; + left: 0; + color: #216ae6; +} + +.screenshot-content { + margin-bottom: 30px; +} + +.swiper-container { + margin-bottom: 30px; +} + +.apps-download-link p { + color: #041e49; +} + +/* ============================================== + +11. Apps Store Area + +============================================== */ +.download-list { + position: relative; +} +.download-list li { + padding-left: 20px; + margin-bottom: 5px; +} +.download-list li:before { + font-family: "Font Awesome 5 Free"; + font-weight: 900; + content: "\f111"; + font-size: 8px; + position: absolute; + line-height: 30px; + left: 0; + color: #216ae6; +} + +.download-content .banner-btn li { + margin-right: 20px; + margin-bottom: 10px; +} +.download-content .banner-btn li:last-child { + margin: 0; +} +@media (max-width: 576px) { + .download-content .banner-btn li { + display: block; + margin-right: 0; + } + .download-content .banner-btn li a { + display: block; + } +} + +.cutter-graph-img img { + z-index: 2; + position: relative; +} +@media (min-width: 992px) and (max-width: 1200px) { + .cutter-graph-img img { + max-width: 380px; + } +} +@media (min-width: 768px) and (max-width: 992px) { + .cutter-graph-img img { + max-width: 380px; + } +} +@media (max-width: 768px) { + .cutter-graph-img img { + display: none; + } +} +@media (max-width: 768px) { + .cutter-graph-img { + margin-bottom: 30px; + } +} + +.download-btn li { + margin-top: 10px; +} +@media (max-width: 576px) { + .download-btn li { + display: block; + float: none; + margin-right: 0 !important; + } + .download-btn li a { + width: 100%; + } +} + +.shape-six { + bottom: 0; + right: -650px; +} +@media (min-width: 992px) and (max-width: 1200px) { + .shape-six { + right: -350px; + max-width: 480px; + } +} +@media (min-width: 768px) and (max-width: 992px) { + .shape-six { + right: -407px; + max-width: 480px; + } +} + +/* ============================================== + +12. Testimonial Area + +============================================== */ +.testimonial-thumbs { + width: 100%; + height: 100%; + position: relative; + margin: 0; + min-height: 350px; +} +.testimonial-thumbs li { + width: 100%; + object-fit: cover; + width: 80px; + height: 80px; + border-radius: 50px; + overflow: hidden; + position: absolute; + top: 0; + left: 0; + bottom: 0; + right: 0; + margin: auto; + cursor: pointer; + box-shadow: 0 0 10px 0 rgba(25, 100, 227, 0.1); +} +.testimonial-thumbs li img { + object-fit: cover; + width: 80px; + height: 80px; +} +.testimonial-thumbs li:before { + content: ""; + position: absolute; + top: 0; + left: 0; + bottom: 0; + right: 0; + z-index: 2; + background: #216ae6; + opacity: 0; + transition: all 500ms ease; +} +.testimonial-thumbs .active:before { + opacity: 0.5; +} +.testimonial-thumbs li:nth-child(1) { + left: -270px; + top: -267px; +} +@media (min-width: 768px) and (max-width: 992px) { + .testimonial-thumbs li:nth-child(1) { + left: -150px; + } +} +.testimonial-thumbs li:nth-child(2) { + left: 270px; + top: -180px; +} +@media (min-width: 768px) and (max-width: 992px) { + .testimonial-thumbs li:nth-child(2) { + left: 180px; + } +} +.testimonial-thumbs li:nth-child(3) { + left: -270px; + top: 120px; +} +@media (min-width: 768px) and (max-width: 992px) { + .testimonial-thumbs li:nth-child(3) { + left: -145px; + top: 220px; + } +} +.testimonial-thumbs li:nth-child(4) { + right: -210px; + top: 270px; +} +.testimonial-thumbs li:nth-child(5) { + width: 60px; + height: 60px; +} +.testimonial-thumbs li:nth-child(5) img { + width: 60px; + height: 60px; +} +.testimonial-slider .author-content { + position: relative; + box-shadow: 0 0 30px 0px rgba(25, 100, 227, 0.07); + padding: 60px 70px 70px 70px; + margin: 30px 0; +} +.testimonial-slider .author-content:before { + content: ""; + background-image: url(../images/quote-top.png); + width: 90px; + height: 76px; + background-size: cover; + display: block; + position: absolute; + top: -30px; + left: 0; + opacity: 0.3; + z-index: 2; +} +.testimonial-slider .author-content:after { + content: ""; + background-image: url(../images/quote-bottom.png); + width: 90px; + height: 75px; + background-size: cover; + display: block; + position: absolute; + bottom: -30px; + right: 0; + opacity: 0.3; + z-index: 2; +} +@media (min-width: 768px) and (max-width: 992px) { + .testimonial-slider .author-content { + padding: 30px 30px; + box-shadow: 0 0 20px 0 rgba(25, 100, 227, 0.06); + } +} +@media (max-width: 768px) { + .testimonial-slider .author-content { + padding: 30px 30px; + box-shadow: 0 0 20px 0 rgba(25, 100, 227, 0.06); + } +} +.testimonial-slider .author-desc h2 { + margin-bottom: 40px; + font-weight: 600; +} +@media (min-width: 768px) and (max-width: 992px) { + .testimonial-slider .author-desc h2 { + margin-bottom: 30px; + } +} +@media (max-width: 768px) { + .testimonial-slider .author-desc h2 { + margin-bottom: 30px; + } +} +.testimonial-slider .author-desc p { + margin-bottom: 40px; +} +.testimonial-slider .author-name h4, .testimonial-slider .author-name h5 { + margin: 0; +} +.testimonial-slider .author-name a { + color: #041e49; + font-weight: 600; + display: block; + margin-bottom: 5px; +} +.testimonial-slider .author-name a:hover { + color: #216ae6; +} +.testimonial-slider .author-name span { + display: block; + font-size: 14px; + font-weight: 400; + color: #0d1b33; +} +.testimonial-slider .owl-dots { + text-align: left; + margin-top: 30px; + margin-bottom: 30px; + padding-left: 15px; +} +.testimonial-slider .owl-dots .owl-dot { + width: 15px; + height: 15px; + margin-right: 10px; + border-radius: 50px; + background-color: #fafcff; +} +.testimonial-slider .owl-dots .owl-dot.active { + background-color: #216ae6; +} +@media (min-width: 992px) and (max-width: 1200px) { + .testimonial-slider .owl-dots { + display: none; + } +} +@media (min-width: 768px) and (max-width: 992px) { + .testimonial-slider .owl-dots { + display: none; + } +} +@media (min-width: 768px) and (max-width: 992px) { + .testimonial-slider { + margin-bottom: 30px; + } +} + +/* ============================================== + +13. Price Plan Area + +============================================== */ +.price-plan-title { + position: relative; + bottom: 10px; +} +.price-plan-title h2 { + font-weight: 600; + margin-bottom: 30px; +} +.price-plan-title p { + margin-bottom: 50px; +} +@media (min-width: 768px) and (max-width: 992px) { + .price-plan-title p { + margin-bottom: 30px; + } +} +@media (max-width: 768px) { + .price-plan-title p { + margin-bottom: 30px; + } +} +@media (min-width: 768px) and (max-width: 992px) { + .price-plan-title { + margin-bottom: 40px; + bottom: 0px; + } +} +@media (max-width: 768px) { + .price-plan-title { + margin-bottom: 40px; + bottom: 0px; + } +} + +.price-plan-box { + box-shadow: 0 0 10px 0 rgba(25, 100, 227, 0.1); + border-radius: 5px; + overflow: hidden; + margin-bottom: 30px; +} +.price-plan-box .price-title { + display: table; + width: 100%; +} +.price-plan-box .price-title .price-curency { + width: 140px; + height: 120px; + background-color: #216ae6; + float: left; +} +.price-plan-box .price-title .price-curency p { + font-size: 60px; + font-weight: 300; + color: #ffffff; + margin: 6px 0px; +} +.price-plan-box .price-title .price-curency p sup { + font-size: 30px; + top: -25px; + margin-right: 5px; +} +@media (min-width: 768px) and (max-width: 992px) { + .price-plan-box .price-title .price-curency p { + font-size: 40px; + margin: 30px 0px; + } +} +@media (min-width: 768px) and (max-width: 992px) { + .price-plan-box .price-title .price-curency { + width: 100px; + } +} +.price-plan-box .price-title .price-package { + width: calc(100% - 140px); + height: 120px; + background-color: #fafcff; + float: left; +} +.price-plan-box .price-title .price-package h5 { + font-size: 20px; + color: #041e49; + margin: 0; +} +@media (min-width: 768px) and (max-width: 992px) { + .price-plan-box .price-title .price-package { + width: calc(100% - 100px); + } +} +.price-plan-box .price-content { + background-color: #ffffff; + padding: 50px 30px 60px; +} +.price-plan-box .price-content .price-list { + margin-bottom: 50px; +} +.price-plan-box .price-content .price-list li { + margin-bottom: 15px; +} +.price-plan-box .price-content .price-btn { + font-size: 16px; + padding: 15px 40px; + border-radius: 4px; + color: #ffffff; + background-color: #2e75d8; + border: 1px solid #216ae6; +} +.price-plan-box .price-content .price-btn:focus, .price-plan-box .price-content .price-btn:hover, .price-plan-box .price-content .price-btn:active { + color: #216ae6; + background-color: #ffffff; + border: 1px solid #216ae6; +} +@media (max-width: 576px) { + .price-plan-box .price-content .price-btn { + width: 100%; + } +} +@media (min-width: 768px) and (max-width: 992px) { + .price-plan-box .price-content { + padding: 30px 15px; + } +} +@media (max-width: 768px) { + .price-plan-box { + margin-top: 0; + } +} + +/* ============================================== + +14. Blog Area + +============================================== */ +.blog-area .all-view-btn { + position: absolute; + right: 15px; +} +@media (max-width: 768px) { + .blog-area .all-view-btn { + display: none; + } +} + +.blog-media img { + width: 100%; +} + +.blog-post { + margin-bottom: 30px; +} +.blog-post .post-img img { + width: 100%; +} +.blog-post .post-content { + overflow: hidden; + position: relative; + padding: 60px 50px; + box-shadow: 0 0 10px 0 rgba(25, 100, 227, 0.1); + transition: all 500ms ease; + background-color: #ffffff; + width: calc(100% - 60px); + top: 0; + right: -30px; + margin-top: -150px; +} +@media (max-width: 768px) { + .blog-post .post-content { + margin: 0; + position: relative; + width: 100%; + margin-top: 0; + padding: 30px 15px; + right: 0; + } +} +@media (min-width: 768px) and (max-width: 992px) { + .blog-post .post-content { + margin: 0; + position: relative; + width: 100%; + margin-top: 0; + padding: 30px 15px; + right: 0; + } +} +@media (min-width: 992px) and (max-width: 1200px) { + .blog-post .post-content { + margin: 0; + position: relative; + width: 100%; + margin-top: 0; + padding: 30px 15px; + right: 0; + } +} +.blog-post .post-content:hover { + box-shadow: 0 0 20px 0 rgba(25, 100, 227, 0.06); +} +.blog-post .post-date { + width: 76px; + background-color: #216ae6; + display: block; + position: absolute; + top: 0; + font-weight: 300; + right: 0; + font-size: 40px; + line-height: 30px; + color: #ffffff; + text-align: center; + padding: 15px 10px 10px; +} +.blog-post .post-date span { + display: block; + font-size: 16px; +} +.blog-post .meta-info { + margin: 0; + margin-top: 10px; +} +.blog-post .meta-info li { + font-weight: 300; + margin-right: 20px; + font-size: 14px; +} +.blog-post .meta-info li a { + font-size: 14px; + color: #0d1b33; +} +.blog-post .meta-info li i { + margin-right: 5px; +} +.blog-post .post-author { + display: table; + width: 100%; + margin-bottom: 30px; +} +.blog-post .post-author .author-img { + width: 40px; + height: 40px; + border-radius: 30px; + overflow: hidden; + float: left; +} +.blog-post .post-author .author-img img { + width: 40px; + height: 40px; + object-fit: cover; +} +.blog-post .post-author .author-content { + width: calc(100% - 40px); + padding-left: 10px; + line-height: 18px; + font-weight: 500; + float: left; +} +.blog-post .post-author .author-content > a { + display: inline-block; + color: #041e49; + font-weight: 600; +} +.blog-post .post-author .author-content > a:hover { + color: #216ae6; +} +.blog-post .post-author .author-content span { + font-size: 14px; + font-weight: 400; +} +.blog-post .post-desc h5 { + margin-bottom: 30px; +} +.blog-post .post-desc p { + margin-bottom: 30px; +} +.blog-post .post-desc .post-btn { + color: #216ae6; + padding: 0; + font-weight: 600; +} +.blog-post .post-desc .post-btn:hover { + color: #041e49; +} + +.reverse-loop > .row > .col-md-6:nth-child(4n+2) .blog-post, +.reverse-loop > .row > .col-md-6:nth-child(4n+3) .blog-post { + width: 100%; + height: calc(100% - 30px); +} +.reverse-loop > .row > .col-md-6:nth-child(4n+2) .blog-post .post-img, +.reverse-loop > .row > .col-md-6:nth-child(4n+3) .blog-post .post-img { + position: absolute; + bottom: 0; +} +@media (min-width: 992px) and (max-width: 1200px) { + .reverse-loop > .row > .col-md-6:nth-child(4n+2) .blog-post .post-img, + .reverse-loop > .row > .col-md-6:nth-child(4n+3) .blog-post .post-img { + position: relative; + } +} +@media (min-width: 768px) and (max-width: 992px) { + .reverse-loop > .row > .col-md-6:nth-child(4n+2) .blog-post .post-img, + .reverse-loop > .row > .col-md-6:nth-child(4n+3) .blog-post .post-img { + position: relative; + } +} +@media (max-width: 768px) { + .reverse-loop > .row > .col-md-6:nth-child(4n+2) .blog-post .post-img, + .reverse-loop > .row > .col-md-6:nth-child(4n+3) .blog-post .post-img { + position: relative; + } +} +.reverse-loop > .row > .col-md-6:nth-child(4n+2) .blog-post .post-content, +.reverse-loop > .row > .col-md-6:nth-child(4n+3) .blog-post .post-content { + margin-top: 0; + margin-bottom: 150px; +} +@media (min-width: 992px) and (max-width: 1200px) { + .reverse-loop > .row > .col-md-6:nth-child(4n+2) .blog-post .post-content, + .reverse-loop > .row > .col-md-6:nth-child(4n+3) .blog-post .post-content { + margin-bottom: 0; + } +} +@media (min-width: 768px) and (max-width: 992px) { + .reverse-loop > .row > .col-md-6:nth-child(4n+2) .blog-post .post-content, + .reverse-loop > .row > .col-md-6:nth-child(4n+3) .blog-post .post-content { + margin-bottom: 0; + } +} +@media (max-width: 768px) { + .reverse-loop > .row > .col-md-6:nth-child(4n+2) .blog-post .post-content, + .reverse-loop > .row > .col-md-6:nth-child(4n+3) .blog-post .post-content { + margin-bottom: 0; + } +} + +.all-view-btn { + display: inline-block; + font-size: inherit; + padding: 15px 40px; + border-radius: 4px; + box-shadow: 0 0 10px 0 rgba(25, 100, 227, 0.1); + color: #216ae6; + background-color: #ffffff; + border: 1px solid #f5f5f5; +} +.all-view-btn:focus, .all-view-btn:hover, .all-view-btn:active { + color: inherit; + background-color: #ffffff; + border: 1px solid #216ae6; +} + +.author-post { + text-align: center; + margin-bottom: 60px; +} +.author-post .author-img { + width: 100px; + height: 100px; + border-radius: 50px; + overflow: hidden; + box-shadow: 0 0 10px 0 rgba(25, 100, 227, 0.1); + transition: all 500ms ease; + margin: auto; + margin-bottom: 20px; +} +.author-post .author-img img { + width: 100px; + height: 100px; + width: 100%; + object-fit: cover; +} +.author-post .author-content h6 { + margin: 0; +} +.author-post:hover .author-img { + box-shadow: 0 0 20px 0 rgba(25, 100, 227, 0.06); +} +@media (max-width: 768px) { + .author-post { + margin-bottom: 30px; + } +} +@media (min-width: 768px) and (max-width: 992px) { + .author-post { + margin-bottom: 30px; + } +} + +.page-navigation .pagination { + margin: 0; +} +.page-navigation li:first-child a, +.page-navigation li:last-child a { + border-radius: 0 !important; +} +.page-navigation li a { + border: 1px solid #f7f7f7; + width: 40px; + height: 40px; + background-color: #fafcff; + margin-right: 20px; + font-size: 20px; + padding: 7px 4px; + text-align: center; +} +.page-navigation li a:hover, .page-navigation li a.active { + background-color: #4986ee; + border-color: #4986ee; + color: #ffffff; +} + +.entry-content .first-word { + font-size: 70px; + color: #b3cefc; + line-height: 28.8px; +} +.entry-content img { + margin-bottom: 30px; + width: 100%; +} +.entry-content .list-dot li:before { + font-family: "Font Awesome 5 Free"; + font-weight: 400; + content: "\f111"; + margin-right: 15px; + font-size: 12px; + color: #216ae6; +} +.entry-content blockquote { + font-size: 20px; + font-style: italic; + margin: 30px 0; +} + +.blog-share-tags { + display: table; + width: 100%; + box-shadow: 0 0 20px 0 rgba(25, 100, 227, 0.06); + padding: 10px 25px; + border-radius: 5px; + border: 1px solid #f5f5f5; +} +.blog-share-tags .blog-author-tags { + float: left; +} +@media (min-width: 768px) and (max-width: 992px) { + .blog-share-tags .blog-author-tags { + float: none; + } +} +@media (max-width: 768px) { + .blog-share-tags .blog-author-tags { + float: none; + } +} +.blog-share-tags .blog-author-tags ul { + margin: 0; +} +.blog-share-tags .blog-author-tags ul li:first-child { + color: #041e49; + font-weight: 600; +} +.blog-share-tags .blog-author-tags ul li a { + color: #0d1b33; +} +.blog-share-tags .blog-author-tags ul li a:hover { + color: #216ae6; +} +.blog-share-tags .blog-author-share { + float: right; +} +@media (max-width: 768px) { + .blog-share-tags .blog-author-share { + float: none; + margin-top: 10px; + } +} +@media (min-width: 768px) and (max-width: 992px) { + .blog-share-tags .blog-author-share { + float: none; + margin-top: 10px; + } +} +.blog-share-tags .blog-author-share ul { + margin: 0; +} +.blog-share-tags .blog-author-share ul li { + margin-right: 15px; +} +.blog-share-tags .blog-author-share ul li:last-child { + margin: 0; +} +.blog-share-tags .blog-author-share ul li a { + color: #0d1b33; + font-size: 14px; +} +.blog-share-tags .blog-author-share ul li a:hover { + color: #216ae6; +} + +.blog-author-admin { + display: table; + width: 100%; +} +.blog-author-admin .author-avatar { + width: 135px; + height: 135px; + float: left; +} +.blog-author-admin .author-info { + width: calc(100% - 135px); + padding-left: 25px; + float: left; +} +.blog-author-admin .author-info .social-link { + margin: 0; +} +.blog-author-admin .author-info .social-link li a { + color: #0d1b33; + font-size: 14px; +} + +.page-pagination .pagination { + margin: 0; + width: 100%; +} +.page-pagination .pagination .prev, .page-pagination .pagination .next { + border-radius: 5px; + padding: 15px 30px; + box-shadow: 0 0 20px 0 rgba(25, 100, 227, 0.06); + border: 1px solid #f5f5f5; + color: #041e49; +} + +.latest-slider { + position: relative; +} +.latest-slider .blog-latest .latest-img img { + width: 100%; +} +.latest-slider .blog-latest .latest-content { + transition: all 500ms ease; + text-align: center; + padding: 20px; + box-shadow: 0 0 20px 0 rgba(25, 100, 227, 0.06); + border-bottom-left-radius: 5px; + border-bottom-right-radius: 5px; + border: 1px solid #f5f5f5; +} +.latest-slider .blog-latest:hover .read-more-btn { + color: #041e49; +} +.latest-slider .owl-nav { + position: absolute; + left: 0; + right: 0; + bottom: 0; + top: 0; + height: 40px; + margin: auto; +} +.latest-slider .owl-nav button.owl-prev span, +.latest-slider .owl-nav button.owl-next span { + font-size: 30px; + line-height: 30px; +} +.latest-slider .owl-nav button.owl-prev { + border: transparent; + background-color: #4986ee; + color: #ffffff; + width: 40px; + height: 40px; + margin-left: 15px; + float: left; + border-radius: 50px; + box-shadow: 0 0 20px 0 rgba(25, 100, 227, 0.06); +} +.latest-slider .owl-nav button.owl-next { + border: transparent; + background-color: #4986ee; + color: #ffffff; + width: 40px; + height: 40px; + float: right; + margin-right: 15px; + border-radius: 50px; + box-shadow: 0 0 20px 0 rgba(25, 100, 227, 0.06); +} + +.comment-wrapper .comments-box { + display: table; + width: 100%; +} +.comment-wrapper .comments-box .comment-avatar { + width: 65px; + height: 65px; + object-fit: cover; + float: left; +} +.comment-wrapper .comments-box .comment-avatar img { + border-radius: 50px; +} +.comment-wrapper .comments-box .comment-content { + width: calc(100% - 65px); + padding-left: 15px; + float: left; +} +.comment-wrapper .comments-box .comment-content .comment-date { + font-size: 14px; + font-weight: 400; + color: #0d1b33; +} + +#watch-video { + background-color: rgba(255, 255, 255, 0.1); +} +#watch-video .modal-content { + border: 0; + box-shadow: 0 0 20px 0 rgba(25, 100, 227, 0.06); +} +#watch-video .modal-header { + border: 0; + padding-bottom: 0; +} +#watch-video [type=button]:hover { + border: 0; +} + +.blog-spacing { + margin-bottom: 60px; +} +@media (min-width: 768px) and (max-width: 992px) { + .blog-spacing { + margin-bottom: 30px; + } +} +@media (max-width: 768px) { + .blog-spacing { + margin-bottom: 30px; + } +} + +.modal-backdrop.show { + opacity: 1; + background: #ffffff; +} + +/* ============================================== + +15. Sidebar Area + +============================================== */ +.sidebar-title { + margin-bottom: 30px; +} + +.sidebar-form form { + border: 1px solid #f5f5f5; + border-radius: 5px; +} +.sidebar-form input { + font-size: 16px; + padding: 15px 30px; + border-radius: none; + color: #216ae6; + background-color: transparent; + border: none; +} +.sidebar-form input:focus, .sidebar-form input:hover, .sidebar-form input:active { + color: #216ae6; + background-color: transparent; + border: none; +} +.sidebar-form button { + color: #216ae6; + background-color: transparent; + border: none; + font-size: 16px; + padding: 10px 30px; + border-radius: 4px; +} +.sidebar-form button:focus, .sidebar-form button:hover, .sidebar-form button:active { + color: #216ae6; + background-color: transparent; + border: none; +} + +.sidebar-list ul li { + padding-left: 0; + border: 0; + border-top: 1px solid #f5f5f5; + border-bottom: 1px solid #f5f5f5; +} +.sidebar-list ul li:first-child { + border-top: 0; + padding-top: 0; +} +.sidebar-list ul li:last-child { + border-bottom: 0; + padding-bottom: 0; +} +.sidebar-list ul li a { + color: #0d1b33; +} + +.sidebar-blog .sidebar-latest { + display: table; + width: 100%; +} +.sidebar-blog .sidebar-latest .latest-img { + width: 65px; + height: 65px; + float: left; +} +.sidebar-blog .sidebar-latest .latest-img img { + object-fit: cover; +} +.sidebar-blog .sidebar-latest .latest-content { + width: calc(100% - 65px); + padding-left: 15px; + float: left; +} + +.sidebar-social-link ul { + margin: 0; +} +.sidebar-social-link ul li { + text-align: center; + border: 1px solid #f5f5f5; + border-radius: 5px; + padding: 15px 20px; + margin-bottom: 10px; +} +.sidebar-social-link ul li a { + display: inline-block; +} +.sidebar-social-link ul li i { + font-size: 25px; +} +.sidebar-social-link ul li p { + margin: 0; + font-size: 18px; + color: #041e49; + line-height: 24px; + font-weight: 600; +} +.sidebar-social-link ul li p span { + display: block; + color: #0d1b33; + font-weight: 400; + font-size: 16px; +} +@media (min-width: 768px) and (max-width: 992px) { + .sidebar-social-link ul li { + padding: 5px 10px; + } +} + +.sidebar-widget { + margin-bottom: 30px; +} +@media (max-width: 768px) { + .sidebar-widget { + margin-bottom: 30px; + } +} +@media (min-width: 768px) and (max-width: 992px) { + .sidebar-widget { + margin-bottom: 30px; + } +} + +@media (max-width: 768px) { + .sidebar-right { + margin-top: 60px; + } +} + +@media (max-width: 768px) { + .sidebar-left { + margin-bottom: 60px; + } +} + +/* ============================================== + +16. community Area + +============================================== */ +.community-form { + box-shadow: 0 0 10px 0 rgba(25, 100, 227, 0.1); + padding: 40px; + background-color: #ffffff; + border-radius: 5px; +} +@media (min-width: 768px) and (max-width: 992px) { + .community-form { + padding: 30px; + } +} +@media (max-width: 768px) { + .community-form { + padding: 30px; + } +} + +.community-img img { + max-width: 600px; +} +@media (min-width: 768px) and (max-width: 992px) { + .community-img img { + max-width: 400px; + } +} +@media (min-width: 992px) and (max-width: 1200px) { + .community-img img { + max-width: 500px; + } +} +@media (min-width: 768px) and (max-width: 992px) { + .community-img img { + max-width: 400px; + } +} +@media (max-width: 768px) { + .community-img img { + max-width: 100%; + margin-bottom: 30px; + } +} + +/* ============================================== + +18. Contact Area + +============================================== */ +.contact-info { + text-align: center; + padding: 0 30px; +} +.contact-info .info-logo { + position: relative; + width: 90px; + height: 90px; + border-radius: 50px; + box-shadow: 0 0 20px 0 rgba(25, 100, 227, 0.06); + margin: auto; + margin-bottom: 25px; +} +.contact-info .info-logo img { + bottom: 0; + width: 30px; + height: 30px; + object-fit: cover; + top: 0; + left: 0; + right: 0; + margin: auto; + position: absolute; +} +.contact-info .info-content h5 { + margin-bottom: 15px; +} +.contact-info .info-content p a { + color: #0d1b33; +} +@media (max-width: 768px) { + .contact-info { + padding-left: 0; + margin-bottom: 30px; + text-align: left; + } + .contact-info .info-logo { + margin-left: 0; + } +} + +@media (max-width: 768px) { + .contact-image img { + max-width: 100%; + margin-top: 30px; + } +} + +/* ============================================== + +19. Footer Area + +============================================== */ +.scrollToTop { + margin: 0 15px 15px 0; + text-align: center; + text-decoration: none; + position: fixed; + bottom: 0; + background: #ffffff; + right: 0; + width: 40px; + height: 40px; + border-radius: 50px; + text-align: center; + line-height: 40px; + box-shadow: 0 0 20px 0 rgba(25, 100, 227, 0.06); + z-index: 111; +} + +.scrollToTop:hover { + text-decoration: none; +} + +.footer-wrapper { + overflow: hidden; +} + +.footer-area { + margin-top: 210px; +} +.footer-area:before { + content: ""; + height: 700px; + border-top-left-radius: 270px; + border-top-right-radius: 160px; + background: #216ae6; + display: block; + position: absolute; + transform: skewY(6deg); + left: -50px; + right: -70px; + top: -130px; + z-index: 2; +} +@media (min-width: 992px) and (max-width: 1200px) { + .footer-area:before { + border-top-left-radius: 130px; + border-top-right-radius: 210px; + transform: rotate(3deg); + top: -106px; + } +} +@media (min-width: 768px) and (max-width: 992px) { + .footer-area:before { + display: none; + } +} +@media (max-width: 768px) { + .footer-area:before { + display: none; + } +} +@media (min-width: 992px) and (max-width: 1200px) { + .footer-area { + margin-top: 133px; + } +} +@media (max-width: 768px) { + .footer-area { + margin-top: 0; + padding-top: 90px; + } +} +@media (min-width: 768px) and (max-width: 992px) { + .footer-area { + margin-top: 0; + padding-top: 90px; + } +} + +.footer-widget-wrapper { + padding-bottom: 60px; +} +@media (min-width: 768px) and (max-width: 992px) { + .footer-widget-wrapper { + padding-bottom: 40px; + } +} +@media (max-width: 768px) { + .footer-widget-wrapper { + padding-bottom: 40px; + } +} + +.footer-logo { + margin-bottom: 15px; + display: block; +} +.footer-logo img { + position: relative; + z-index: 3; +} + +.footer-widget { + margin-bottom: 30px; + position: relative; + z-index: 2; +} +.footer-widget .widget-title { + margin-bottom: 10px; +} +.footer-widget .widget-title h5 { + margin: 0; + color: rgba(255, 255, 255, 0.9); +} +.footer-widget p { + color: rgba(255, 255, 255, 0.9); +} +.footer-widget .widget-list { + margin: 0; +} +.footer-widget .widget-list li { + margin-bottom: 5px; +} +.footer-widget .widget-list li a { + color: rgba(255, 255, 255, 0.9); +} +.footer-widget .widget-list li a:hover { + text-decoration: underline; +} +.footer-widget .social-link li { + border-top: 1px solid transparent; +} +.footer-widget .social-link li a { + font-size: 20px; + color: rgba(255, 255, 255, 0.9); +} +.footer-widget .social-link li a:hover { + color: white; +} +.footer-widget .social-link li:hover { + border-top: 1px solid #216ae6; +} +.footer-widget form ::-webkit-input-placeholder { + color: #ffffff; +} +.footer-widget form :-moz-placeholder { + color: #ffffff; +} +.footer-widget form ::-moz-placeholder { + color: #ffffff; +} +.footer-widget form :-ms-input-placeholder { + color: #ffffff; +} +.footer-widget form input { + font-size: 16px; + padding: 10px 15px; + border-radius: 4px; + color: #ffffff; + background-color: #2e75d8; + border: 1px solid #216ae6; +} +.footer-widget form input:focus, .footer-widget form input:hover, .footer-widget form input:active { + color: #ffffff; + background-color: #2e75d8; + border: 1px solid #216ae6; +} +.footer-widget form button { + color: #216ae6; + background-color: #f5f5f5; + border: 1px solid #216ae6; + font-size: 16px; + padding: 10px 30px; + border-radius: 4px; +} +.footer-widget form button:focus, .footer-widget form button:hover, .footer-widget form button:active { + color: #ffffff; + background-color: transparent; + border: 1px solid #e3e3e3; +} + +.footer-copyright-wrapper { + padding-bottom: 30px; + position: relative; + z-index: 2; +} +.footer-copyright-wrapper p, .footer-copyright-wrapper a { + margin: 0; + color: rgba(255, 255, 255, 0.9); +} +.footer-copyright-wrapper a:hover:hover { + color: white; +} + +.footer-shape { + position: absolute; + width: 100%; +} +.footer-shape .left { + position: absolute; + bottom: -40px; + left: -40px; +} +.footer-shape .left img { + z-index: 2; + position: relative; +} +@media (min-width: 992px) and (max-width: 1200px) { + .footer-shape .left img { + max-width: 300px; + } +} +@media (min-width: 768px) and (max-width: 992px) { + .footer-shape .left img { + max-width: 300px; + } +} +.footer-shape .right { + position: absolute; + right: -90px; + bottom: -120px; +} +.footer-shape .right img { + z-index: 2; + position: relative; +} +@media (min-width: 992px) and (max-width: 1200px) { + .footer-shape .right img { + max-width: 300px; + } +} +@media (min-width: 768px) and (max-width: 992px) { + .footer-shape .right img { + max-width: 300px; + } +} +@media (max-width: 768px) { + .footer-shape { + display: none; + } +} + +.list-inline-item { + color: #041e49; + font-weight: 600; +} + +.blog-author-tags a { + color: #777777; + text-transform: capitalize; + margin: 0 5px; + transition: all 0.4s linear 0s; +} +.blog-author-tags a:hover { + color: #216ae6; +} + +.footer-widget { + z-index: 5; +} + +.swiper-slide-duplicate-prev img { + border: 11px solid #ffffff; +} + +.swiper-slide-duplicate-prev { + border: 11px solid #ffffff; +} + +/* ============================================== + + Text Generic + +============================================== */ +.font-color2 { + color: #041e49; +} + +.font-color3 { + color: #216ae6; +} + +.font-color5 { + color: #4de5ff; +} + +/*# sourceMappingURL=style.css.map */ \ No newline at end of file diff --git a/assets/css/style.css.map b/assets/css/style.css.map new file mode 100644 index 000000000..e60381c9b --- /dev/null +++ b/assets/css/style.css.map @@ -0,0 +1 @@ +{"version":3,"sourceRoot":"","sources":["style.scss","../_sass/base/_reset.scss","../_sass/base/_variables.scss","../_sass/base/_functions.scss","../_sass/base/_typography.scss"],"names":[],"mappings":"AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAaA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;ACXA;AAEA;EACE;EACA;;;AAEF;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;EAaE;EACA;;;AAGF;AAAA;AAAA;AAAA;EAIE;EACA;;;AAEF;EACE;EACA;;;AAGF;AAAA;EAEE;;;AAEF;EACE;;;AAEF;EACG,YC6F2B;;;AD3F9B;AAAA;EAEE;EACA;EACA,OCnBwC;;;ADqB1C;EACE;;;AAEF;EACG;;;AAEH;AAAA;EAEE;;;AAEF;EACE;;;AAIF;EACE;EACA;;;AAGF;EACE;;;AAGF;AAAA;EAEE;EACA;EACA;EACA;;;AAGF;EACE;;;AAGF;EACE;;;AAEF;EACG;;;AAEH;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;EACA;EACA;;;AAEF;EACE;;;AAGF;AAAA;AAAA;AAAA;EAIE;;;AAEF;EACG;;;AAEH;AAAA;AAAA;AAAA;AAAA;EAKE;EACA;EACA;;;AAED;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;EAQE;EACA;EACA;EACA;;;AAEH;EACI;EACA;;;AAEJ;AAAA;EAEE;;;AAGF;AAAA;AAAA;AAAA;EAIE;EACA;;;AAGF;AAAA;EAEE;;;AAGF;AAAA;EAEE;EACA;;;AAEF;AAAA;EAEE;EACA;;;AAGF;AAAA;EAEE;;;AAEF;EACE;EACA;EACA;EACA;;;AAGF;AAAA;EAEE;;;AAEF;EACE;EACA;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;EACA;;;AAGF;AAAA;EAEE;;;AE9KE;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AA/BJ;EAuCE;IACE;;EADF;IACE;;EADF;IACE;;EADF;IACE;;EADF;IACE;;EADF;IACE;;;AAlCJ;EA2CE;IACE;;EADF;IACE;;EADF;IACE;;EADF;IACE;;EADF;IACE;;EADF;IACE;;;AAUF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AADF;EACE;;;AA7DJ;EAsEE;IACE;;EADF;IACE;;EADF;IACE;;EADF;IACE;;EADF;IACE;;EADF;IACE;;EADF;IACE;;EADF;IACE;;EADF;IACE;;EADF;IACE;;EADF;IACE;;EADF;IACE;;EADF;IACE;;EADF;IACE;;EADF;IACE;;EADF;IACE;;EADF;IACE;;EADF;IACE;;EADF;IACE;;EADF;IACE;;EADF;IACE;;EADF;IACE;;EADF;IACE;;EADF;IACE;;EADF;IACE;;EADF;IACE;;EADF;IACE;;EADF;IACE;;;AAjEJ;EA0EE;IACE;;EADF;IACE;;EADF;IACE;;EADF;IACE;;EADF;IACE;;EADF;IACE;;EADF;IACE;;EADF;IACE;;EADF;IACE;;EADF;IACE;;EADF;IACE;;EADF;IACE;;EADF;IACE;;EADF;IACE;;EADF;IACE;;EADF;IACE;;EADF;IACE;;EADF;IACE;;EADF;IACE;;EADF;IACE;;EADF;IACE;;EADF;IACE;;EADF;IACE;;EADF;IACE;;EADF;IACE;;EADF;IACE;;EADF;IACE;;EADF;IACE;;;AC3FN;EACE,aFyD4B;EC7B5B;EC1BA,aF+D4B;EE9D5B,aF0D4B;EEzD5B,OF+BuB;;;ACJvB;ECvBG,WFkDyB;EEjD5B,aFwD4B;EEvD1B,OFkCwB;EEjCxB,aFkD0B;;;AC7B5B;ECxBG,WFkDyB;EEjD5B,aFwD4B;EEvD1B,OFkCwB;EEjCxB,aFkD0B;;;AC5B5B;ECzBG,WFkDyB;EEjD5B,aFwD4B;EEvD1B,OFkCwB;EEjCxB,aFkD0B;;;AC3B5B;EC1BG,WFkDyB;EEjD5B,aFwD4B;EEvD1B,OFkCwB;EEjCxB,aFkD0B;;;AE9C9B;EDaE;;AAbA;ECAF;IDaE;;;;ACPF;EDOE;;AAbA;ECMF;IDOE;;;;ACDF;EDCE;;AAbA;ECYF;IDCE;ICGA,aFiC4B;;;;AE9B9B;EDNE;;AAbA;ECmBF;IDNE;ICUA,aF0B4B;;;;AEvB9B;EDbE;;AAbA;EC0BF;IDbE;ICiBA,aFmB4B;;;;AEhB9B;EDpBE;;;ACuBF;AAAA;AAAA;AAAA;EAIE,aFmB4B;EElB5B,OFpBuB;;;AEsBzB;EACE,aFF4B;EEG5B,aFC4B;;;AEE9B;AAAA;AAAA;EAGE,aFT4B;EEU5B,aFJ4B;;;AEO3B;EACG,OFnCmB;;;AEwCzB;EACI,aFF0B;EEG7B,aFd6B;;;AEgB9B;EDpDE;;AAzBA;EC6EF;IDpDE;;;AAnBA;ECuEF;IDpDE;;;AAbA;ECiEF;IDpDE;;;;ACgEF;EDhEE;;AAzBA;ECyFF;IDhEE;;;AAnBA;ECmFF;IDhEE;;;AAbA;EC6EF;IDhEE;;;;AC4EF;ED5EE;;AAzBA;ECqGF;ID5EE;;;AAnBA;EC+FF;ID5EE;;;AAbA;ECyFF;ID5EE;;;;ACwFF;EDxFE;;AAzBA;ECiHF;IDxFE;;;AAnBA;EC2GF;IDxFE;;;AAbA;ECqGF;IDxFE;;;;ACuGF;AAAA;EDvGE;EC0GA,aFzE4B;;;AE8E9B;EACG;;;AAEH;EACG;;;AAEH;EACG;;;AAEH;EACG;;;AAEH;EACG;;;AAQA;EACE;;;AAGL;EACK;;;AJ3HL;;AAAA;;AAAA;AAKA;EACG,kBE7C4B;;;AF+C/B;EACG,kBE/C2B;;;AFiD9B;EACG,kBEjD2B;;;AFmD9B;EACG,kBEnD2B;;;AFqD9B;EACC;EACG;EACH;EACA;EACA;EACA;EACA,kBE3D6B;EF4D7B;EACA;;;AAED;EACI,OEvBuB;;;AFyB3B;EACI,OEzBuB;;;AF2B3B;EACI,OE3BuB;;;AF6B3B;EACI,OE7BuB;;;AF+B3B;EACC;EACA;;;AAED;;AAAA;;AAAA;AAKA;EACG;;;AAGH;EACG;;;AAGH;EACG;;;AAKH;;AAAA;;AAAA;AAKA;AAAA;EAEG;EACA;;;AAGH;AAAA;AAAA;AAAA;AAAA;AAAA;EAMG,YEc2B;ECnB5B,WHOI;EGNJ;EACA,eDZuB;ECevB,OHKI;EGJJ,kBHIY;EGHZ,QDvBuB;;ACwBvB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;EAGE,OHDoC;EGEpC,kBDd6B;ECe7B,QDL4B;;;AFOhC;AAAA;AAAA;AAAA;AAAA;EAKE,YED4B;ECnB5B,WDzBwB;EC0BxB;EACA,eDZuB;ECevB,ODzBuB;EC0BvB,kBDnCwB;ECoCxB,QDtBuB;;ACuBvB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;EAGE,ODP4B;ECQ5B,kBDZ6B;ECa7B,QDL4B;;;AFuBhC;;AAAA;;AAAA;AAKA;EACI;EACA;;AACH;EACC,eEzIU;EF0IV,aE/F4B;;ACtD5B;EHmJD;IAKK;;;AGlJJ;EH6ID;IAQK;;;AGjKJ;EHsJF;IAgBG;;;AGhKD;EHgJF;IAkBG;;;AG5JD;EH0IF;IAqBG;;;;AAGH;EACI;;AACH;EACG;;;AAKJ;;AAAA;;AAAA;AAMC;EACC;EACE;EACA;EACA;;AAEH;EACK;EACF;EACA;EACA;;AAEH;EACK;EACF;EACA;EACA;;AAEH;EACC;EACM;EACJ;EACA;;AAEH;EACC;EACE;EACA;EACA;;AAEH;EACC;EACE;;AGhNF;EH+KF;IAoCI;;;;AAGJ;;AAAA;;AAAA;AAKA;EAEG;;;AAEH;EAEI;;AACH;EACG;EACA;EACA;EACA;EACA,YElP0B;EFmP1B;EACA;EACA;EACH;EACG;EACA;EACH;;AG1PC;EH8OD;IAcI;IACH;IACM;;;AGxPN;EHwOD;IAmBG;;;AGrPF;EHkOD;IAsBE;;;AAGD;EACG;EACH;EACG;;AG1QH;EHuQA;IAKG;;;AGtQH;EHiQA;IAQG;;;AGnQH;EH2PA;IAWG;;;AGlRH;EH2OF;IA2CM;;;AGhRJ;EHqOF;IA8CO;;;AG7QL;EH+NF;IAiDO;;;;AAGP;EAEG;;AGjSD;EH+RF;IAIQ;;;AG7RN;EHyRF;IAOM;;;AG1RJ;EHmRF;IAUM;;;AAGN;EACI;EACA;EACA;;AG/SF;EH4SF;IAKK;;;AG3SH;EHsSF;IAQK;;;AGxSH;EHgSF;IAWK;;;AAIF;EACC;EACA;;AGvTF;EHqTC;IAII;;;AGnTL;EH+SC;IAOI;;;AAMD;EACJ;EACA;;AG1UA;EHwUI;IAKF;IACA;IACA;;;AGzUF;EHkUI;IAUF;IACA;IACA;;;AGxUF;EH4TI;IAeD;IACF;IACA;;;AAIF;EACG;EACA;;AG/VF;EH6VD;IAIE;IACA;IACA;;;AG7VD;EHuVD;IASG;IACA;IACA;;;AG5VF;EHiVD;IAcE;IACA;IACA;;;;AAKH;EACC;EACA;EACA;EACA;EACA;;AACA;EACA;EACG;EACA;;AG3XF;EHwXD;IAMG;IACA;IACA;;;AG1XF;EHkXD;IAYQ;IACL;IACA;;;AAGH;EACA;EACG;EACA;;AG5YF;EHyYD;IAKG;IACA;IACA;;;AG1YF;EHmYD;IAUG;IACA;IACA;;;AAIH;EACI;;AGpZH;EHmZD;IAIE;;;AGjZD;EH6YD;IAOE;;;AGpZD;EHsWF;IAmDK;;;;AAGL;EACG,aEpZS;EF4ZT;EACA;EACA;EACA;;AG9aD;EHkaF;IAIM,aE3ZM;;;ACLV;EH4ZF;IAOM,aE9ZM;;;AFoaR;EACA;;AAGH;EACG;EACA;;AAGD;EACG;;AGzbJ;EHwbC;IAGI;;;AGrbL;EHkbC;IAMI;;;AG9bL;EHkcF;IAEG;IACA;IACA;IACA,kBE7c4B;IF8c5B,YE5U2B;IF6U3B,eE/U2B;IFgV3B;;;AGpcD;EH4bF;IAWG;IACA;IACA;IACA,kBEtd4B;IFud5B,YErV2B;IFsV3B,eExV2B;IFyV3B;;;AAEA;EAEA;EACD;;AACA;EACE;EACA,OE9bsB;;AC7BxB;EHydA;IAKE,OEpcqB;;;ACpBvB;EHmdA;IAQE,OEvcqB;;;AF0cvB;EACE;;AAGA;EAWE,kBEzfyB;;AF+ezB;EACE,OEhdiB;EFidjB;EAEN,YE9W4B;;AF+WtB;EACE;EACA,OEpdgB;;AFydtB;EACE;EACA,kBE7fyB;EF8fzB;EACA;EACA;EACA;EACA;EACA;EACA;;AG9fJ;EHqfE;IAUA;;;AGzfF;EH+eE;IAYA;;;AAIF;EACE;EACA;;AACA;EACE;EACA;EACA;EACA;EACA,OEhfoB;EFifpB;;AGxgBJ;EHkgBE;IAQG,OErfkB;;;AC3BvB;EHwgBE;IAWG,OExfkB;;;AC3BvB;EHqgBA;IAkBG;IACG;;;AGlhBN;EH+fA;IAsBG;IACG;;;AAIJ;EACE;EACA,OErgBoB;;AC7BxB;EHgiBE;IAKE,OEhhBoC;;;ACfxC;EH0hBE;IAQE,OEnhBoC;;;AFuhBxC;EACE;EACA;;AAEF;EACE;EACA;;AACA;EACE;EACA;;AAOH;EACM;;AACN;EACG,kBErkByB;;ACM7B;EHmkBF;IAEM;;;AG/jBJ;EH6jBF;IAKM;;;;AAIN;EACE;IACE;IACA;;EAEF;IACE;IACA;;EAEF;IACE;IACA;;;AAGJ;EACE;IACE;IACA;;EAEF;IACE;IACA;;EAEF;IACE;IACA;;;AAGJ;EACE;IACE;IACA;;;AAGJ;EACE;IACE;IACA;;;AAIH;EACG,eE3mBQ;EF4mBR;EACA;;AGxnBF;EHqnBD;IAMM;;;AGrnBL;EH+mBD;IASM;;;AAIN;EACE;EACC;EACF;EACA;EACA;EACA;EACA;EACA;EACA;;AGroBA;EH4nBD;IAYE;;;AGppBD;EHwoBD;IAgBG;;EACA;IACI;;;AGppBN;EHkoBD;IAqBG;;EACA;IACI;;;AAKJ;EACG;EACH;;AACA;EACG;;AGtpBL;EHkpBE;IAQC;IACA;;EACA;IACC;;;;AAMN;EACC;EACA;EACA;EACA;;AACA;EACG;;AACA;EACC;;AACA;EACE;EACH;EACA;EACA;;AAMC;EACC;EACH;EACA,eE1kB0B;EF2kB1B;EACA;;AAED;EACG;EACA;;AGrsBH;EHyqBF;IAgCK;IACA;;;AGhtBH;EH+qBF;IAoCK;IACA;;;;AAIL;EG5mBE,WDxBwB;ECyBxB;EACA,eDZuB;ECevB,ODxBuB;ECyBvB,kBDpCwB;ECqCxB,QDrBuB;;ACsBvB;EAGE,ODP4B;ECQ5B,kBDxCsB;ECyCtB,QDJ4B;;AF0mB9B;EACG;;AAEH;EACC;EACA;EACA;;;AAGH;EG5nBE,WDxBwB;ECyBxB;EACA,eDZuB;ECevB,ODzBuB;EC0BvB,kBH2nBgB;EG1nBhB,QDrBuB;;ACsBvB;EAGE,ODR4B;ECS5B,kBDX6B;ECY7B,QDH4B;;AFynB9B;EACG;EACH;;AAEA;EACC;EACA;EACA;;;AAIH;EG9oBE,WDxBwB;ECyBxB;EACA,eDZuB;;;AF6pBzB;;AAAA;;AAAA;AAKA;EACC;;;AAED;EACC;;;AACA;EACA;;;AAED;EACC;EACA,eEnwBW;;AFowBX;EACC;EACA;EACA;EACA,eExpB2B;EFypB3B,YEvpB4B;EFwpB5B;EACM;EACA;EACA;EACN,YE1pB4B;;AF8pB5B;EAAS;;AACT;EAAG,eEnxBO;;AFqxBX;EACC;EACA;EACA;EACA;EACA;EACA;EACA,YExqB4B;;AF2qB5B;EACC,YE/qB2B;;AFkrB5B;EACC;;;AAMH;EACC;;;AAGD;EACC;;;AAGD;;AAAA;;AAAA;AGjzBE;EHyzBF;IAGE;;;;AAKF;EACC;EACA;EACA,YEptB6B;EFqtB7B;EACA,eEv0BW;EFw0BX;EACA,eE1tB6B;EF2tB7B,YEttB6B;;AFutB7B;AACC;AACA;EACA,YE5tB4B;EF6tB5B,eE/tB2B;EFguB3B;EACA;EACA,YE9tB4B;EF+tB5B;;AACA;EACC;EACA;;AAGF;EACC;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AG72BA;EHo2BD;IAYK;;;AAGL;EACC;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AG53BA;EHm3BD;IAWK;;;AAIJ;EAEC;;AAED;EACC;;AAGF;EACC;EACA;EACA,YEn5B6B;EFo5B7B;EACA;EACA,eErxB2B;EFsxB3B;EACM;EACA;EACN;;AAEA;EACC,kBE55B2B;;AF65B3B;EACC,OE53BsB;;AF83BvB;EACC,kBEl6B2B;;AFo6B5B;EACC,kBEr6B2B;EFs6B3B;;AAED;EACC,kBEz6B2B;EF06B3B;;AGp6BF;EH60BF;IA2FM;;;;AAGN;EACI;;AG56BF;EH86BD;IAGG;;;AG36BF;EHw6BD;IAMG;;;;AAOJ;;AAAA;;AAAA;AAMA;EACC;EACC;;AACD;EACC;EACD,eE50B6B;;AC1H5B;EHi8BF;IAQI;IACA;IACA;;;AGr8BF;EH27BF;IAaI;IACA;IACA;;;AAEJ;EACE;EACA;EACA;EACA;EACA;EACA,eE71B2B;EF81B3B,YE/9B6B;EFg+B7B;EACA;EACA;EACE;EACA;EACA;EACA;EACA;EACH;;AACC;EACC;;AAED;EACE;EACA;;AAKH;EACC;EACA;;AAKF;EACE;IACE;;EAGF;IACE;;EAGF;IACE;;;;AAMH;EACC,kBEzgC4B;EF0gC5B,wBE54B4B;EF64B5B,yBE74B4B;EF84B5B,SE7/BU;;AF8/BV;EACC;;AG1gCD;EHogCD;IASI;;;AGvgCH;EH8/BD;IAYI;;;AAGJ;EACC,2BE15B4B;EF25B5B,4BE35B4B;EF45BzB,kBE5hC0B;EF6hC7B,SE5gCU;;AF6gCV;EAAG;;AGxhCH;EHmhCD;IAQI;;;AGrhCH;EH6gCD;IAUI;;;AG7hCH;EHkgCF;IAgCI;;;AG5hCF;EH4/BF;IAmCI;;;;AAIJ;EACC;;AG1iCC;EHyiCF;IAII;;;AGviCF;EHmiCF;IAOI;;;;AAMJ;;AAAA;;AAAA;AAMC;EACK;EACH;;AGpkCD;EHkkCD;IAKE;IACA;;;AGlkCD;EH4jCD;IAQE;IACA;IACA,eE3jCS;;;ACLV;EHsjCD;IAaE;IACA;IACA,eEhkCS;;;;AFokCZ;EACE;;AACD;EACC;EACA;;AACA;EACG;EACA;EACA;EACA;EACA;EACA,OE9jCqB;;;AFkkC1B;EACI,eEplCQ;;;AFslCZ;EACI,eEvlCQ;;;AF0lCX;EACC,OE3kCuB;;;AFglCzB;;AAAA;;AAAA;AAKA;EACE;;AACD;EACC;EACA;;AACA;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACC,OEjmCqB;;;AFymCtB;EACG;EACH;;AACA;EACG;;AG7nCL;EHynCE;IAQC;IACA;;EACA;IACC;;;;AAUL;EACC;EACA;;AGlqCA;EHgqCD;IAMI;;;AGhqCH;EH0pCD;IASI;;;AG7pCH;EHopCD;IAaG;;;AGjqCF;EHmpCF;IAkBK,eEhqCO;;;;AFqqCT;EACG;;AGrqCJ;EHoqCC;IAGG;IACH;IACA;;EAEA;IACG;;;;AAKN;EAEI;EACA;;AGtsCF;EHmsCF;IAME;IACA;;;AGpsCA;EH6rCF;IAUE;IACA;;;;AAIF;;AAAA;;AAAA;AAKA;EACC;EACG;EACH;EACA;EACA;;AACA;EACE;EACA;EACA;EACM;EACP,eEjmC2B;EFkmC3B;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA,YExmC4B;;AFymC5B;EACC;EACA;EACA;;AAED;EACC;EACA;EACD;EACA;EACA;EACA;EACA;EACA,YErvC4B;EFsvC5B;EACA,YEtnC4B;;AF2nC5B;EACC;;AAGF;EAEG;EACA;;AGjwCF;EH8vCD;IAMK;;;AAIL;EAEG;EACA;;AG3wCF;EHwwCD;IAKI;;;AAIJ;EAEG;EACA;;AGpxCF;EHixCD;IAMO;IACG;;;AAIV;EAEG;EACA;;AAKH;EAEG;EACF;;AAEA;EACC;EACA;;AAWF;EACC;EACA,YE1rC4B;EF2rC5B;EACA;;AACA;EACC;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAED;EACC;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AGn1CD;EHszCD;IAgCK;IACH,YE3tC2B;;;ACtH5B;EHgzCD;IAoCK;IACH,YE/tC2B;;;AFmuC5B;EACC,eEp1CS;EFq1CT,aE3yC2B;;ACtD5B;EH+1CA;IAKE,eEz1CQ;;;ACLV;EHy1CA;IAQE,eE51CQ;;;AF+1CV;EACC,eE/1CS;;AFm2CV;EACC;;AAED;EACC,OEx1CsB;EFy1CtB,aE9zC2B;EF+zC3B;EACA;;AACA;EACG,OE51CoB;;AF+1CxB;EACC;EGz2CD;EH22CC,aE10C2B;EF20C3B,OEr2CsB;;AFw2CxB;EACI;EACG,YEz3CI;EF03CJ,eE13CI;EF23CV;;AACG;EACA;EACA;EACA;EACA,eEhxCwB;EFixCxB,kBE/4CyB;;AFi5C5B;EACG,kBEp5CyB;;ACD5B;EHw4CD;IAiBE;;;AGn5CD;EHk4CD;IAoBE;;;AGt5CD;EHozCF;IAuGE,eEh5CU;;;;AFu5CZ;;AAAA;;AAAA;AAKA;EACI;EACH;;AACA;EACC,aEr3C4B;EFs3C5B,eEj6CU;;AFm6CX;EACI,eEl6CO;;ACbV;EH86CD;IAGG,eEt6CQ;;;ACLV;EHw6CD;IAMG,eEz6CQ;;;ACXV;EHu6CF;IAiBG,eE56CS;IF66CT;;;AGn7CD;EHi6CF;IAqBG,eEh7CS;IFi7CT;;;;AAGH;EACI,YEp0C0B;EFq0C5B,eEx0C4B;EFy0C5B;EACA,eEz7CU;;AF07CX;EACC;EACA;;AACA;EACC;EACA;EACA,kBEh9C2B;EFi9C3B;;AACI;EG17CL;EH47CE,aE55C0B;EF65C1B,OEn7CsB;EFo7CtB;;AACA;EACC;EACA;EACA;;AGr9CH;EH68CK;IAWC;IACY;;;AGz9ClB;EHw8CA;IAqBK;;;AAGL;EACC;EACA;EACA,kBEt+C2B;EFu+C3B;;AACA;EGl9CD;EHo9CE,OE58CqB;EF68CrB;;AGx+CF;EHg+CA;IAYK;;;AAKN;EAEK,kBEz/CyB;EF0/C5B;;AACD;EACC,eEz+CS;;AF0+CT;EACC;;AAGF;EG/4CA,WDzBwB;EC0BxB;EACA,eDZuB;ECevB,ODzBuB;EC0BvB,kBDnCwB;ECoCxB,QDtBuB;;ACuBvB;EAGE,ODP4B;ECQ5B,kBDd6B;ECe7B,QDL4B;;ACxG9B;EH++CA;IAUO;;;AGrgDP;EHi/CD;IA0BK;;;AGrgDJ;EH07CF;IA+EE;;;;AAOF;;AAAA;;AAAA;AAOC;EAEG;EACA;;AG1hDF;EHuhDD;IAME;;;;AAKC;EACA;;;AAGJ;EACG,eEliDS;;AFoiDV;EACC;;AAIF;EAEC;EACA;EACA;EACA,YE57C4B;EF67C5B,YE37C4B;EF67C5B,kBElkD6B;EFmkD7B;EACA;EACA;EACA;;AG1jDA;EH8iDD;IAeK;IACH;IACA;IACA;IACA;IACA;;;AGxkDD;EHojDD;IAwBM;IACJ;IACA;IACA;IACA;IACA;;;AGvlDD;EH0jDD;IAiCI;IACF;IACA;IACA;IACA;IACA;;;AAGD;EACG,YEl+CyB;;AFq+C7B;EACC;EACA,kBExmD4B;EFymD5B;EACA;EACA;EACA,aEpjD4B;EFqjD5B;EACA;EACA;EACA,OE9kDwB;EF+kDxB;EACA;;AACA;EACC;EACA;;AAGF;EACC;EACA;;AACA;EACC,aEpkD2B;EFqkD3B;EACA;;AACA;EACC;EACA,OElmDqB;;AFomDtB;EACC;;AAIH;EACE;EACA;EACA,eE3nDS;;AF4nDV;EACC;EACA;EACA;EACA;EACA;;AACA;EACC;EACY;EACZ;;AAGF;EACC;EACA;EACA;EACA,aElmD2B;EFmmD3B;;AACA;EACC;EACA,OEhoDqB;EFioDrB,aEtmD0B;;AFumD1B;EACG,OEloDmB;;AFqoDvB;EG9oDD;EHgpDE,aE/mD0B;;AFqnD5B;EACC,eE/pDS;;AFiqDV;EACC,eElqDS;;AFoqDP;EACD,OEppDsB;EFqpDtB;EACA,aE5nD0B;;AF6nD1B;EACG,OEzpDkB;;;AF+pDzB;AAAA;EAEI;EACA;;AACD;AAAA;EACK;EACN;;AGtsDA;EHosDC;AAAA;IAKG;;;AGnsDJ;EH8rDC;AAAA;IAOG;;;AG/rDJ;EHwrDC;AAAA;IAUG;;;AAGH;AAAA;EACG;EACH;;AGntDD;EHitDC;AAAA;IAID;;;AG/sDA;EH2sDC;AAAA;IAOD;;;AG5sDA;EHqsDC;AAAA;IAUD;;;;AAKF;EACC;EG/mDC,WHinDI;EGhnDJ;EACA,eDZuB;EF6nDzB,YElmD8B;ECZ5B,ODxBuB;ECyBvB,kBDpCwB;ECqCxB,QDpBuB;;ACqBvB;EAGE,OH0mDuC;EGzmDvC,kBDd6B;ECe7B,QDL4B;;;AFinDhC;EACI;EACH,eEztDW;;AF0tDR;EACC;EACH;EACA,eEhnD2B;EFinD3B;EACA,YEhnD4B;EFinD5B,YE/mD4B;EFgnD5B;EACA;;AACA;EACA;EACA;EACI;EACH;;AAIK;EACA;;AAIH;EACA,YEnoDyB;;ACtH5B;EH+tDF;IA8BI,eExvDQ;;;ACXV;EHquDF;IAiCI,eE3vDQ;;;;AF+vDX;EACC;;AAED;AAAA;EAEC;;AAGA;EACC;EACA;EACA;EACA,kBEzxD2B;EF0xD3B;EACA;EACA;EACA;;AACA;EACC,kBEhyD0B;EFiyD1B,cEjyD0B;EFkyD1B,OEjwDsB;;;AFuwDvB;EACC;EACA;EACA;;AAED;EACC,eE/xDQ;EFgyDR;;AAGA;EACA;EACA;EACA;EACM;EACA;EACA,OExxDgB;;AF2xDzB;EGpyDC;EHsyDC;EACA;;;AAKH;EACE;EACA;EACA,YEtsD4B;EFusD5B;EACA,eE1sD4B;EF2sD5B,QEtuDuB;;AFuuDvB;EACI;;AGv0DJ;EHs0DA;IAGC;;;AGn0DD;EHg0DA;IAKC;;;AAEA;EACG;;AAEA;EACA,OEtzDmB;EFuzDnB,aE5xDwB;;AF8xD3B;EACG,OE3zDmB;;AF4zDnB;EACG,OE3zDiB;;AFi0DxB;EACG;;AGx1DH;EHu1DA;IAIC;IACA;;;AGl2DD;EH61DA;IAQC;IACA;;;AAED;EACG;;AACH;EACG;;AACA;EACG;;AAEH;EACE,OEt1DkB;ECPvB;;AH+1DE;EACG,OEv1DmB;;;AF+1D1B;EACI;EACH;;AACE;EACI;EACH;EACA;;AAED;EACK;EACN;EACA;;AACA;EACI;;AAEH;EACG,OEj3DmB;ECPvB;;;AHi4DC;EACC;EACH;;AACK;EACC,eE9xDuB;EF+xD1B;EACA,YE9xD0B;EF+xD1B,QE5zDqB;EF6zDrB,OEj4DqB;;;AFs4DzB;EACI;;AAGG;EACA;;AAGH;EACG,YE3yDuB;EF4yDtB;EACA;EACH,YEjzDyB;EFkzDzB,2BEpzDyB;EFqzDzB,4BErzDyB;EFszDzB,QEj1DoB;;AFs1DlB;EACC,OE35DiB;;AF85DtB;EACC;EACA;EACA;EACA;EACA;EACA;EACA;;AAGD;AAAA;EAEG;EACH;;AAEA;EACG;EACH,kBE98D2B;EF+8D3B,OE96DuB;EF+6DvB;EACA;EACA;EACA;EACA,eEr1D0B;EFs1D1B,YEr1D2B;;AFu1D3B;EACG;EACH,kBEz9D2B;EF09D3B,OEz7DuB;EF07DvB;EACA;EACA;EACA;EACA,eEh2D0B;EFi2D1B,YEh2D2B;;;AFs2D3B;EACE;EACH;;AAEG;EACA;EACH;EACA;EACA;;AACA;EACG,eEj3DwB;;AFo3D3B;EACI;EACH;EACA;;AACA;EGh+DD;EHk+DC,aEj8D2B;EFk8D3B,OE59DsB;;;AFk+DzB;EACC;;AAEA;EACC;EACA,YEr4D4B;;AFu4D3B;EACC;EACA;;AAMA;EACC;;;AAIL;EACI,eEngEQ;;ACdV;EHghEF;IAIK,eEzgEO;;;ACLV;EH0gEF;IAOK,eE5gEO;;;;AF+gEZ;EACI;EACA,YEliE2B;;;AFsiE/B;;AAAA;;AAAA;AAKA;EACI,eE3hEQ;;;AF+hER;EACA,QE58DqB;EF68DrB,eEl7D0B;;AFo7D3B;EGl8DD,WDzBwB;EC0BxB;EACA,eHk8D8C;EG/7D9C,ODxBuB;ECyBvB,kBHi8De;EGh8Df,QHg8D2B;;AG/7D3B;EAGE,OD9BqB;EC+BrB,kBH27D4C;EG17D5C,QH07DwD;;AAG5D;EGr8DE,ODxBuB;ECyBvB,kBHs8De;EGr8Df,QHq8D2B;EG58D3B,WDzBwB;EC0BxB;EACA,eDZuB;;ACkBvB;EAGE,OD9BqB;EC+BrB,kBHg8D4C;EG/7D5C,QH+7DwD;;;AAUtD;EACA;EACA;EACH,YEt+DsB;EFu+DtB,eEv+DsB;;AFw+DtB;EACG;EACH;;AACE;EACC;EACH;;AAEA;EACG,OErjEmB;;;AF2jErB;EACC;EACH;;AACE;EACI;EACH;EACA;;AACA;EACG;;AAGJ;EACG;EACH;EACA;;;AAKD;EACG;;AACA;EACA;EACH,QE7gEsB;EF8gEtB,eEn/D2B;EFo/D3B;EACA;;AACG;EACD;;AAEF;EACG;;AAEH;EACG;EACH;EACA,OE9lEsB;EF+lEtB;EACA,aErkE2B;;AFskE3B;EACG;EACA,OEpmEmB;EFqmEnB,aE3kEwB;EF4kExB;;AGhoEJ;EH0mEI;IA2BC;;;;AAMP;EACG,eEjoES;;ACLV;EHqoEF;IAIO,eEpoEK;;;ACXV;EH2oEF;IAOO,eEvoEK;;;;ACLV;EHgpEF;IAEI,YE1oEQ;;;;ACRV;EHqpEF;IAEI,eE/oEQ;;;;AFkpEZ;;AAAA;;AAAA;AAKA;EACC,YEziE6B;EF0iE7B,SE3pEW;EF4pEX,kBE9qE8B;EF+qE9B,eE/iE6B;;AC1H5B;EHqqEF;IAMK,SEhqEO;;;ACLV;EH+pEF;IASK,SEnqEO;;;;AFuqET;EACC;;AGnrEF;EHkrEC;IAGI;;;AG3rEL;EHwrEC;IAMI;;;AGxrEL;EHkrEC;IAQI;;;AGprEL;EH4qEC;IAUI;IACH;;;;AAMJ;;AAAA;;AAAA;AAKA;EACC;EACA;;AACA;EACC;EACA;EACA;EACA,eEplE2B;EFqlE3B,YEplE4B;EFqlE5B;EACA;;AAEA;EAEA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAIA;EACC;;AAGA;EACA,OE7sEsB;;ACpBvB;EHksEF;IAqCE;IACA,eEnuEU;IFouEV;;EACA;IACC;;;;AG3uED;EHivED;IAEE;IACA,YE/uES;;;;AFuvEZ;;AAAA;;AAAA;AAMA;EACI;EACA;EACA;EACA;EACA;EACA,YEpxE2B;EFqxE3B;EACA;EACA;EACA;EACA;EACA;EACH,YEzpE6B;EF0pE7B;;;AAGD;EACE;;;AAGF;EACC;;;AAGD;EACI;;AACH;EACG;EACA;EACA;EACA;EACA,YE7yE0B;EF8yE1B;EACA;EACA;EACH;EACG;EACA;EACH;;AGrzEC;EHyyED;IAcI;IACG;IACN;IACA;;;AGpzEA;EHmyED;IAoBG;;;AGjzEF;EH6xED;IAuBE;;;AGh0ED;EHuyEF;IA8BE;;;AGzzEA;EH2xEF;IAiCK;IACH,aElzEU;;;ACjBV;EHiyEF;IAqCK;IACH,aEtzEU;;;;AFyzEZ;EACI,gBE7zEQ;;ACdV;EH00EF;IAIE,gBEl0EU;;;ACNV;EHo0EF;IAOE,gBEr0EU;;;;AFw0EZ;EACC;EACA;;AAEA;EACI;EACH;;;AAGF;EACI,eEn1EQ;EFo1EX;EACA;;AACG;EACF;;AACA;EACC;EACA;;AAGF;EACC;;AAED;EACC;;AACA;EACC;;AAED;EACC;;AAEA;EACI;;AAKL;EACC;;AAED;EACC;EACA;;AAEA;EACE;;AAGH;EACC,YExyEsB;;ACvEvB;EHo3EA,OE72EwB;;ACNxB;EHm3EA,OE72EwB;;ACLxB;EHk3EA,OE72EwB;;ACJxB;EHi3EA,OE72EwB;;AF+2ExB;EGhyEA,WDzBwB;EC0BxB;EACA,eDZuB;ECevB,ODzBuB;EC0BvB,kBDnCwB;ECoCxB,QDtBuB;;ACuBvB;EAGE,OD/BqB;ECgCrB,kBDzCsB;EC0CtB,QD5BqB;;AFuzEvB;EGnyEA,ODxBuB;ECyBvB,kBDlCwB;ECmCxB,QDtBuB;ECevB,WDzBwB;EC0BxB;EACA,eDZuB;;ACkBvB;EAGE,ODR4B;ECS5B,kBH8xE2D;EG7xE3D,QDN4B;;;AF4yEhC;EACI;EACA;EACH;;AACA;EACC;EACA;;AAGE;EACA;;;AAKJ;EACI;EACH;;AACA;EACC;EACA;EACA;;AAEA;EACI;EACH;;AG97ED;EH47EA;IAIE;;;AG17EF;EHs7EA;IAME;;;AAIH;EACC;EACA;EACA;;AACA;EACI;EACH;;AG58ED;EH08EA;IAIE;;;AGx8EF;EHo8EA;IAME;;;AGp8EF;EHw6EF;IAiCI;;;;AAIJ;EACC,OEz7EwB;EF07ExB;;;AAGA;EACC,OEt7E0B;EFu7E1B;EACA;EACA;;AACA;EACC,OEn+E2B;;;AFu+E9B;EACC;;;AAKD;EACI;;;AAEJ;EACI;;;AAMJ;;AAAA;;AAAA;AAMA;EACC,OE99EwB;;;AFi+EzB;EACC,OEj+EyB;;;AFo+E1B;EACC,OEn+EyB","sourcesContent":["/*\nTheme Name: Applin\nTheme URI: https://cutter.com/applin/\nAuthor: cutter team\nAuthor URI: https://cutter.com/\nDescription: applin theme is a free apps theme.\nVersion: 1.0\nLicense: GNU General Public License v2 or later\nLicense URI: http://www.gnu.org/licenses/gpl-2.0.html\nText Domain: \nTags: apps, hosting,business etc.\n*/\n\n/*\n===========================\nTABLE INDEX\n1. Bg Color\n2. Bg Image\n3. Form & Button\n4. Section & Inner Title\n5. Shape Animation\n6. Header Area\n7. Service Area\n8. Feature Area\n9. Watch Video Area\n10. Apps Screenshot Area\n11. Apps Store Area\n12. Testimonial Area\n13. Price Plan Area\n14. Blog Area\n15. Sidebar Area\n16. community Area\n17. Footer Area\n18. Text Generic\n===========================\n*/\n\n// All \tSCSS \n@import 'base/variables';\n@import 'base/reset';\n@import 'base/functions';\n@import 'base/typography';\n \n\n/* ==============================================\n\n1. Bg Color\n\n============================================== */\n.bg-color1{\n background-color: $bg-color1; \n}\n.bg-color2{\n background-color: $bg-color2; \n}\n.bg-color3{\n background-color: $bg-color3; \n}\n.bg-color4{\n background-color: $bg-color4; \n}\n.bg-overlay:before{\n\tcontent:'';\n position:absolute;\n\tleft:0;\n\tright:0;\n\ttop:0;\n\tbottom:0;\n\tbackground-color:$bg-overlay;\n\topacity:0.95;\n\tz-index:1;\n}\n.social-color1{\n color:$social-color1;\n}\n.social-color2{\n color:$social-color2;\n}\n.social-color3{\n color:$social-color3;\n}\n.social-color4{\n color:$social-color4;\n}\ndiv[class*=\"-wrapper\"]{\n\tposition:relative;\n\tz-index:3;\n}\n/* ==============================================\n\n2. Bg Image\n\n============================================== */\n.bg-image1{\n background: $bg-color1 url(\"../images/cutter_head_light_theme.png\") no-repeat fixed center/cover; \n}\n\n.bg-image2{\n background: $bg-color1 url(\"../images/bg-image1.jpg\") no-repeat fixed center/cover; \n}\n\n.bg-image3{\n background: $bg-color1 url(\"../images/watch-video-bg.jpg\") no-repeat fixed center/cover; \n}\n\n\n\n/* ==============================================\n\n3. Form & Button\n\n============================================== */\nform,\nfieldset {\n padding:0;\n margin:0;\n}\n\ninput[type='text'],\ninput[type='tel'],\ninput[type='email'],\ninput[type='search'], \ninput[type='password'], \ntextarea[class],select {\n transition:$transition-base;\n @include form-size(\n inherit,($form-space-v + 5),($form-space-h - 10),$form-radius\n ) ;\n @include form-variant(\n inherit,transparent,$form-border, inherit,$form-change-bg,$form-change-border2\n );\n}\n\n\nbutton,\ninput[type='button'],\ninput[type='reset'],\ninput[type='file'],\ninput[type='submit'] {\n transition:$transition-base;\n @include form-size(\n $form-size,$form-space-v,$form-space-h,$form-radius\n ) ;\n @include form-variant(\n $form-color,$form-bg2,$form-border2, $form-change-color2,$form-change-bg3,$form-change-border2\n );\n \n}\n\n\n/* ==============================================\n\n4. Section & Inner Title\n\n============================================== */\n.section-title{ \n position: relative;\n bottom: 9px;\n\th2{\n\t\tmargin-bottom:$inner-30;\n\t\tfont-weight:$font-weight-semibold;\n\t\t\n\t\t@include laptop{\n\t\t margin-bottom:20px;\n\t\t}\n\t\t@include tablet{\n\t\t margin-bottom:20px;\n\t\t}\n\t}\n\t\n\t@include desktop{\n\t bottom:5px;\n\t}@include laptop{\n\t bottom:2px;\n\t}\n\t@include tablet{\n\t bottom:0px;\n\t}\n}\n.inner-title{ \n margin-bottom:$inner-30 - 10px;\n\th3,h4,h5,h6{\n\t margin:0;\n\t}\n}\n\n\n/* ==============================================\n\n5. Shape Animation\n\n============================================== */\n.cutter-ani{\n\t.shape-one{\n\t\tposition: absolute;\n left: 9%;\n top: 28%;\n animation: animationFramesOne 25s alternate infinite linear;\n\t}\n\t.shape-two{\n\t\t position: absolute;\n left: 38%;\n bottom: 25%;\n animation: animationFramesTwo 35s alternate infinite linear;\n\t}\n\t.shape-tree{\n\t\t position: absolute;\n bottom: 60%;\n right: 10%;\n animation: animationFramesFour 20s infinite linear;\n\t}\t\n\t.shape-four{\n\t position: absolute;\n bottom: 10%;\n right: 40%;\n animation: rotated 20s infinite linear;\n\t}\n\t.shape-five{\n\t position: absolute;\n bottom: 20%;\n left: 10%;\n animation: animationFramesFive 20s infinite linear;\n\t}\n\t.shape-six{\n\t position: absolute;\n animation: rotated 50s infinite linear;\n\t}\n\t@include tablet{\n\t display:none;\n\t}\n}\n/* ==============================================\n\n6. Header Area\n\n============================================== */\n.main-area{\n //overflow:hidden;\n overflow-x: hidden;\n}\n.header-area{\n\n margin-bottom: 455px;\n\t&:before{\n content: \"\";\n height: 700px;\n border-bottom-left-radius: 220px;\n border-bottom-right-radius: 270px;\n background: $bg-color2;\n display: block;\n position: absolute;\n transform: skewY(6deg);\n\tleft: -50px;\n right: -70px;\n bottom: -250px;\n\tz-index:1;\n\t@include desktop{\n\t bottom: -190px;\n\t\tborder-bottom-left-radius: 200px;\n border-bottom-right-radius: 200px;\n\t}\n\t@include laptop{\n\t display:none;\n\t}\n\t@include tablet{\n\t display:none;\n\t}\n }\n .header-banner{\n padding:30px 50px 0px 0px;\n\t z-index: 3;\n position: relative;\n\t @include desktop{\n\t padding:30px 0px 0px 0px;\n\t } \n\t @include laptop{\n\t padding:20px 0px 100px 0px;\n\t }\n\t @include tablet{\n\t padding:10px 0px 80px 0px;\n\t }\n }\n @include desktop{\n margin-bottom:228px;\n }\n @include laptop{\n margin:0;\n }\n @include tablet{\n margin:0;\n }\n}\n.page-area{\n\n margin-bottom:205px;\n@include desktop{\n margin-bottom: 213px;\n }\n @include laptop{\n margin:0;\n } \n @include tablet{\n margin:0;\n }\n \n&:before{\n bottom: -130px;\n border-bottom-left-radius: 170px;\n border-bottom-right-radius: 150px;\n\t@include desktop{\n\t bottom: -170px;\n\t}\n\t@include laptop{\n\t bottom: -170px;\n\t}\n\t@include tablet{\n\t bottom: -170px;\n\t}\n }\n \n .header-page-title{\n\t padding-top:30px;\n\t padding-bottom:20px;\n @include laptop{\n\t padding-top: 20px;\n\t }\n @include tablet{\n\t padding-top: 10px;\n\t }\n }\n \n \n .header-shape {\n .left {\n\t\tleft: -190px;\n\t\ttop: -770px;\n\t\t\n\t\t@include desktop{\n left: -100px;\n top: -305px;\n width: 470px;\n\t\t}\n\t\t@include laptop{\n left: -120px;\n top: -300px;\n width: 470px;\n\t\t}\n\t\t@include tablet{\n\t\t left: -140px;\n\t\t\ttop: -220px;\n\t\t\twidth: 470px;\n\t\t}\n\t\t\n\t}\n\t.right {\n right: -670px;\n top: -610px;\n\t @include desktop{\n\t\t\tright: -250px;\n\t\t\ttop: -90px;\n\t\t\twidth: 480px;\n\t\t}\n\t\t@include laptop{\n right: -250px;\n top: -180px;\n width: 480px;\n\t\t}\n\t\t@include tablet{\n\t\t\tright: -250px;\n\t\t\ttop: -90px;\n\t\t\twidth: 480px;\n\t\t}\n\t}\n }\n}\n.header-shape{\n\tposition:absolute;\n\tleft:0;\n\tright:0;\n\ttop:0;\n\tz-index:2;\n\t.left{\n\tposition:absolute;\n left: -190px;\n top: -690px;\n\t\n\t@include desktop{\n left: -140px;\n top: -220px;\n width: 470px;\n\n\t}\n\t@include laptop{\n\t left: -80px;\n top: -220px;\n width: 400px;\n\t}\n\t}\n\t.right{\n\tposition:absolute;\n right: -640px;\n top: -610px;\n\t@include desktop{\n right: -295px;\n top: -90px;\n width: 600px;\n\t}\n\t@include laptop{\n right: -250px;\n top: -90px;\n width: 480px;\n\t}\n\t}\n\t\n\timg{\n\t max-width:100%;\n\t\t\n\t\t@include laptop{\n\t\t\tmax-width:80%;\n\t\t}\n\t\t@include tablet{\n\t\t\tmax-width:80%;\n\t\t}\n\t}\n\t\n\t@include tablet{\n\t display:none;\n\t}\n}\n.header-nav{\n padding-top:$inner-70;\n \n @include laptop{\n padding-top:$inner-30;\n }\n @include tablet{\n padding-top:$inner-30;\n }\n display:table;\n width:100%;\n position:relative;\n z-index:10;\n .cutter-navbar{\n\t padding:0;\n\t}\n\n\t.header-logo{\n\t padding:15px 0;\n\t float:left;\n\t}\n\t\n .cutter-navbar{\n float:right;\n\t @include laptop{\n\t float:none;\n\t } \n\t @include tablet{\n\t float:none;\n\t }\n }\t\n \n.main-menu {\n @include laptop{\n position:absolute;\n left:0;\n right:0;\n background-color:$bg-color1;\n box-shadow:$box-shadow;\n border-radius:$border-radius;\n top: 0;\n } \n @include tablet{\n position:absolute;\n left:0;\n right:0;\n background-color:$bg-color1;\n box-shadow:$box-shadow;\n border-radius:$border-radius;\n top: 0;\n }\n li{\n \n border: 0 !important;\n background-color: transparent;\n a {\n padding: 15px 15px 15px 15px;\n color: $font-color4;\n\t\n\t@include laptop{\n\t color:$font-color-base;\n\t}\t\n\t@include tablet{\n\t color:$font-color-base;\n\t}\n }\n &.has-submenu a {\n padding: 15px 30px 15px 15px;\n }\n &.has-submenu {\n ul li {\n a {\n color: $font-color-base;\n padding: 15px 15px;\n\t\t\n\t\ttransition:$transition-base;\n &:hover {\n text-indent: 2px;\n color: $font-color3;\n }\n }\n background-color: $bg-color1;\n }\n > ul:before {\n content: \"\";\n background-color: $bg-color1;\n width: 15px;\n height: 15px;\n display: block;\n position: relative;\n left: 10px;\n top: 10px;\n transform: rotate(45deg);@include laptop{\n\t display:none;\n\t}@include tablet{\n\t display:none;\n\t} \n }\n }\n .sub-toggle {\n background: transparent;\n width:20px;\n i:before {\n font-family: \"Font Awesome 5 Free\";\n font-weight: 900;\n content: \"\\f107\";\n position: absolute;\n color: $font-color4;\n font-style: normal;\n\t @include tablet{\n\t color: $font-color2;\n\t }\n\t @include laptop{\n\t color: $font-color2;\n\t }\n }\n\t@include laptop{\n\t width: 45px;\n height: 100% !important;\n\t}\n\t@include tablet{\n\t width: 45px;\n height: 100% !important;\n\t}\n }\n a {\n &:hover, &:focus {\n background-color: transparent;\n color: $font-color4;\n\t \n\t @include laptop{\n\t color: $link-color;\n\t } \n\t @include tablet{\n\t color: $link-color;\n\t } \n }\n }\n .sub-toggle i {\n color: transparent;\n position: relative;\n }\n &.has-submenu ul {\n position: absolute;\n min-width: 180px;\n li {\n float: none;\n display: block;\n }\n } \n }\n \n}\n.menu-collapser{\n .collapse-button{\n top: -38px;\n\t\t .icon-bar{\n\t\t background-color:$bg-color1;\n\t\t }\n }\n}\n.col-lg-10{\n @include laptop{\n position:static;\n }\n @include tablet{\n position:static;\n }\n}\n}\n@-webkit-keyframes banner-mockup {\n 0% {\n -webkit-transform: translateY(8px);\n transform: translateY(8px);\n }\n 50% {\n -webkit-transform: translateY(4px);\n transform: translateY(4px);\n }\n 100% {\n -webkit-transform: translateY(8px);\n transform: translateY(8px);\n }\n}\n@keyframes banner-mockup {\n 0% {\n -webkit-transform: translateY(8px);\n transform: translateY(8px);\n }\n 50% {\n -webkit-transform: translateY(4px);\n transform: translateY(4px);\n }\n 100% {\n -webkit-transform: translateY(8px);\n transform: translateY(8px);\n }\n}\n@-webkit-keyframes banner-mockup-sink {\n 100% {\n -webkit-transform: translateY(8px);\n transform: translateY(8px);\n }\n}\n@keyframes banner-mockup-sink {\n 100% {\n -webkit-transform: translateY(8px);\n transform: translateY(8px);\n }\n}\n.header-banner{\n\t.banner-content{\n\t padding-right:$inner-30;\n\t position:relative;\n\t z-index:2;\n\t \t \n\t @include laptop{\n\t padding-right:0;\n\t } \n\t @include tablet{\n\t padding-right:0;\n\t }\n\t}\n\t\n\t.banner-mockup{\n\t z-index:2;\n\t position:absolute;\n\t\tanimation-name: banner-mockup-sink, banner-mockup;\n\t\tanimation-duration: .3s, 1.5s;\n\t\tanimation-delay: 0s, .3s;\n\t\tanimation-timing-function: ease-out, ease-in-out;\n\t\tanimation-iteration-count: 1, infinite;\n\t\tanimation-fill-mode: forwards;\n\t\tanimation-direction: normal, alternate;\n\t\t\n\t\t@include tablet{\n\t display:none;\n\t \n\t}\n\t@include desktop{\n\t margin:0;\n\t img{\n\t max-width:100%;\n\t }\n\t}@include laptop{\n\t margin:0;\n\t img{\n\t max-width:100%;\n\t }\n\t}\n\t}\n\t.banner-btn{\n\t li{\n\t margin-right:20px;\n\t\t margin-bottom:10px;\n\t\t &:last-child{\n\t\t margin:0;\n\t\t }\n\t\t \n\t\t @include mobile{\n\t\t\t display:block;\n\t\t\t margin-right:0;\n\t\t\t a{\n\t\t\t\t display:block;\n\t\t\t }\n\t\t }\n\t }\n\t}\n}\n.header-page-title{\n\tposition:relative;\n\tz-index:3;\n\tpadding-top:30px;\n\tpadding-bottom:20px;\n\t.page-post-date{\n\t margin:0;\n\t li{\n\t\t margin-right:20px;\n\t\t img{\n\t\t\t \tmargin-right: 10px;\n\t\t\t\twidth: 15px;\n\t\t\t\theight: 15px;\n\t\t\t\tobject-fit: contain;\n\n\t\t }\n\t }\n\t}\n\t.author-name{\n\t img{\n\t\t width:65px;\n\t\t\theight:65px;\n\t\t\tborder-radius:$round-radius;\n\t\t\tmargin-bottom:20px;\n\t\t\tobject-fit:cover;\n\t\t}\n\t\t.social-link{\n\t\t margin:0;\n\t\t margin-top:10px;\n\t\t}\n\t}\n\t@include tablet{\n\t padding-top:60px;\n\t padding-bottom:90px;\n\t}\n\t@include laptop{\n\t padding-top:80px;\n\t padding-bottom:100px;\n\t}\n}\n\n.dwn-btn1{\n @include form-size(\n $form-size2,$form-space-v + 6, $form-space-v + 10,$form-radius\n ) ;\n @include form-variant(\n $form-color2,$form-bg,$form-border3, $form-change-color2,$form-bg3,$form-change-border3\n );\n span{\n margin-left:10px;\n }\n img{\n\t height:20px;\n\t width:20px;\n\t object-fit:contain;\n }\n}\n.dwn-btn2{\n @include form-size(\n $form-size2,$form-space-v + 5, $form-space-v + 10,$form-radius\n ) ;\n @include form-variant(\n $form-color,transparent,$form-border3, $form-change-color,$form-change-bg4,$form-change-border4\n );\n span{\n margin-left:10px;\n\t vertical-align: middle;\n }\n img{\n\t height:20px;\n\t width:20px;\n\t object-fit:contain;\n }\n}\n\n.dwn-btn3 {\n\t@include form-size(\n\t\t$form-size2,$form-space-v + 6, $form-space-v + 10,$form-radius\n\t) ;\n}\n/* ==============================================\n\n7. Service Area\n\n============================================== */\n.line-color1{\n\tbackground-color:#fec2c2;;\n}\n.line-color2{\n\tbackground-color:#b0ffca;\n}.line-color3{\n\tbackground-color:#d8c8fc;\n}\n.service-box{\n\ttext-align:center;\n\tmargin-bottom:$inner-30;\n\t.service-logo{\n\t\tpadding:21px 5px;\n\t\twidth:85px;\n\t\theight:85px;\n\t\tborder-radius:$round-radius;\n\t\tbox-shadow:$box-shadow-deep;\n\t\tdisplay:block;\n text-align:center;\n vertical-align:middle;\n margin:auto auto $inner-30;\t\n\t\ttransition:$transition-base;\n\t}\n\t.service-content{\n\t\t\n\t\th5,h4,h3{margin-bottom:20px;}\n\t\tp{ margin-bottom:$inner-30; }\n\t}\n\t.service-line{\n\t\tposition: relative;\n\t\twidth:2px;\n\t\theight:70px;\n\t\tdisplay:block;\n\t\ttop:0;\n\t\tmargin:auto auto 0;\t\n\t\ttransition:$transition-base;\n\t}\n\t&:hover{\n\t\t.service-logo{\n\t\t\tbox-shadow:$box-shadow;\n\t\t\t\n\t\t}\n\t\t.service-line{\n\t\t\ttop: -15px;\n\t\t}\n\t}\n}\n\n\n.icon-shadow{\n\ttext-shadow: -7px 8px 2px $font-color8, -3px 5px $font-color7;\n }\n\n.icon-glow {\n\ttext-shadow: -3px -8px 9px $font-color6;\n\n}\n/* ==============================================\n\n8. Feature Area\n\n============================================== */\n\n\n\n.feature-area {\n\n\t@include mobile{\n\t\tpadding-top: 50px;\n\t }\n}\n\n\n.feature-box{\n\toverflow:hidden;\n\tposition:relative;\n\tbox-shadow:$box-shadow;\n\tpadding:$inner-30 $inner-30 $inner-50;\n\tmargin-bottom:$inner-30;\n\ttext-align:center;\n\tborder-radius:$border-radius;\n\ttransition:$transition-base;\n\t.feature-logo{\n\t\t/*width:85px;*/\n\t\t/*height:85px;*/\n\t\tbox-shadow:$box-shadow-deep;\n\t\tborder-radius:$round-radius;\n\t\tmargin:auto auto $inner-30;\n\t\tpadding:21px 5px;\n\t\ttransition:$transition-base;\n\t\theight: 250px;\n\t\timg {\n\t\t\twidth: 90%;\n\t\t\tmax-height: 100%;\n\t\t}\n\t}\n\t&:after{\n\t\tcontent:\"\";\n\t\twidth:170px;\n\t\theight:1px;\n\t\tdisplay:block;\n\t\tbackground:#6d49bf;\n\t\topacity:0.14;\n\t\tposition:absolute;\n\t\ttop:50px;\n\t\tleft:30px;\n\t\t\n\t\t@include laptop{\n\t\t display:none;\n\t\t}\n\t}\n\t&:before{\n\t\tcontent:\"\";\n\t\twidth:1px;\n\t\theight:170px;\n\t\tdisplay:block;\n\t\tbackground:#6d49bf;\n\t\topacity:0.14;\n\t\tposition:absolute;\n\t\ttop:30px;\n\t\tleft:50px;\n\t\t@include laptop{\n\t\t display:none;\n\t\t}\n\t}\n\t.feature-content{\n\t\th3,h4,h5{\n\t\t\t\n\t\t\tmargin-bottom:$inner-30 - 10;\n\t\t}\n\t\tp{\n\t\t\tmargin:0;\n\t\t}\n\t}\n\t.feature-shape{\n\t\twidth: 100%;\n\t\theight: 110px;\n\t\tbackground: $bg-color1;\n\t\topacity:0.03;\n\t\tdisplay: block;\n\t\tborder-radius: $round-radius;\n\t\tposition: absolute;\n top: -8px;\n right: -140px;\n\t\ttransform: rotate(-55deg);\n\t\t}\n\t\t&:hover{\n\t\t\tbackground-color:$bg-color2;\n\t\t\t*{\n\t\t\t\tcolor:$font-color4;\n\t\t\t}\n\t\t\t.feature-logo{\n\t\t\t\tbackground-color:$bg-color1;\n\t\t\t}\n\t\t\t&:before{\n\t\t\t\tbackground-color:$bg-color1;\n\t\t\t\topacity:0.15;\n\t\t\t}\n\t\t\t&:after{\n\t\t\t\tbackground-color:$bg-color1;\n\t\t\t\topacity:0.15;\n\t\t\t}\n\t\t}\n\t\t@include laptop{\n\t\t padding: $inner-40 15px;\n\t\t}\n}\n.feature-img{\n margin-bottom:30px;\n\t\n\t.image-mockup{\n\t\t\n\t\t@include laptop{\n\t\t max-width:500px;\n\t\t}\n\t\t@include tablet{\n\t\t max-width:380px;\n\t\t}\n\t}\n\t\n}\n\n\n/* ==============================================\n\n9. Watch Video Area\n\n============================================== */\n\n.watch-video-play{\n\tposition:relative;\n\t\tmargin-top:240px;\n\timg{\n\t\tmax-width:100%;\n\tborder-radius:$border-radius;\n\t}\n\t@include laptop {\n\t margin-top:0;\n\t margin-bottom:30px;\n\t padding-right:15px;\n\t}\t\n\t@include tablet {\n\t margin-top:0;\n\t margin-bottom:30px;\n\t padding-right:15px;\n\t}\n.play-btn {\n padding:29px 10px;\n display: block;\n text-align:center;\n width: 90px;\n height: 90px;\n border-radius: $round-radius;\n background: $bg-color1;\n cursor: pointer;\n box-shadow: 0 0 0 rgba(255, 255, 255, 0.8);\n animation: play-btn 1.5s infinite;\n position: absolute;\n top: 0;\n right: 0;\n left: 0;\n bottom: 0;\n\tmargin: auto;\n i{\n\t font-size:32px;\n }\n &:hover {\n -webkit-animation: none;\n animation: none;\n }\n}\n\n.play-btn {\n\t&.disabled {\n\t\tpointer-events: none;\n\t\tcursor: default;\n\t}\n}\n\n\n@keyframes play-btn {\n 0% {\n box-shadow: 0 0 0 0 rgba(255, 255, 255, 0.4);\n }\n\n 70% {\n box-shadow: 0 0 0 15px rgba(255, 255, 255, 0);\n }\n\n 100% {\n box-shadow: 0 0 0 0 rgba(255, 255, 255, 0);\n }\n}\n}\n.watch-video-content{\n\t\n\t.watch-video-top{\n\t\tbackground-color:$bg-color3;\n\t\tborder-top-left-radius:$border-radius;\n\t\tborder-top-right-radius:$border-radius;\n\t\tpadding:$inner-30;\n\t\th2{\n\t\t\tmargin:0;\n\t\t}\n\t\t@include laptop{\n\t\t padding:$inner-30 - 10;\n\t\t}\n\t\t@include tablet{\n\t\t padding:$inner-30 - 10;\n\t\t}\n\t}\n\t.watch-video-bottom{\n\t\tborder-bottom-left-radius:$border-radius;\n\t\tborder-bottom-right-radius:$border-radius;\n\t background-color:$bg-color1;\n\t\tpadding:$inner-30;\n\t\tp{ margin:0; }\n\t\t\n\t\t@include laptop{\n\t\t padding:30px;\n\t\t}@include tablet{\n\t\t padding:30px;\n\t\t}\n\t\t\n\t}\n\t@include laptop{\n\t padding-left:15px;\n\t}\n\t@include tablet{\n\t padding-left:15px;\n\t}\n\t\n}\n.watch-arrow{\n\tmargin:20px;\n\t\n\t@include laptop{\n\t display:none;\n\t}\n\t@include tablet{\n\t display:none;\n\t}\n}\n\n\n\n/* ==============================================\n\n10. Apps Screenshot Area\n\n============================================== */\n.apps-screenshot-img{\n\timg{\n\t\t position: relative;\n\t\t\tmax-width: 100%;\n\t\t\n\t\t@include desktop{\n\t\t\tmargin-left:0;\n\t\t\tmax-width:100%;\n\t\t}@include laptop{\n\t\t\tmargin-left:0;\n\t\t\tmax-width:100%;\n\t\t\tmargin-bottom:$inner-30;\n\t\t}\n\t\t@include tablet{\n\t\t\tmargin-left:0;\n\t\t\tmax-width:100%;\n\t\t\tmargin-bottom:$inner-30;\n\t\t}\n\t}\n}\n.screenshot-list{\n\t position:relative;\n\tli{\n\t\tpadding-left:25px;\n\t\tmargin-bottom:5px;\n\t\t&:before{\n\t\t\t font-family: \"Font Awesome 5 Free\";\n\t\t\t font-weight: 900;\n\t\t\t content: \"\\f068\";\n\t\t\t position:absolute;\n\t\t\t left:0;\n\t\t\t color:$font-color3;\n\t\t}\n\t}\n}\n.screenshot-content{\n margin-bottom:$inner-30;\n}\n.swiper-container{\n margin-bottom:$inner-30;\n}\n.apps-download-link{\n\tp{\n\t\tcolor:$font-color2;\n \n\t}\n}\n\n/* ==============================================\n\n11. Apps Store Area\n\n============================================== */\n.download-list{\n\t position:relative;\n\tli{\n\t\tpadding-left:20px;\n\t\tmargin-bottom:5px;\n\t\t&:before{\n\t\t\t\tfont-family: \"Font Awesome 5 Free\";\n\t\t\t\tfont-weight: 900;\n\t\t\t\tcontent: \"\\f111\";\n\t\t\t\tfont-size: 8px;\n\t\t\t\tposition: absolute;\n\t\t\t\tline-height: 30px;\n\t\t\t\tleft: 0;\n\t\t\t color:$font-color3;\n\t\t}\n\t}\n}\n\n\n.download-content{\n\t.banner-btn{\n\t li{\n\t margin-right:20px;\n\t\t margin-bottom:10px;\n\t\t &:last-child{\n\t\t margin:0;\n\t\t }\n\t\t \n\t\t @include mobile{\n\t\t\t display:block;\n\t\t\t margin-right:0;\n\t\t\t a{\n\t\t\t\t display:block;\n\t\t\t }\n\t\t }\n\t }\n\t}\n}\n\n\n\t\n.cutter-graph-img{\n\timg{\n\t\tz-index:2;\n\t\tposition:relative;\n\t\t\n\t\t@include desktop{\n\t\t\n\t\t max-width: 380px;\n\t\t}@include laptop{\n\t\t\n\t\t max-width: 380px;\n\t\t}\n\t\t@include tablet{\n\t\t\n\t\t display: none;\n\t\t}\n\t}\n\t@include tablet{\n\t margin-bottom:$inner-30;\n\t}\n}\n\n.download-btn{\n li{\n margin-top:10px;\n\t @include mobile{\n\t display:block;\n\t\t float:none;\n\t\t margin-right:0 !important;\n\t\t \n\t\t a{\n\t\t width:100%;\n\t\t }\n\t }\n }\n}\n.shape-six{\n\t\n bottom: 0;\n right: -650px;\n\t\n\t@include desktop{\n\t\tright: -350px;\n\t\tmax-width: 480px;\n\t}\t\n\t@include laptop{\n\t\tright: -407px;\n\t\tmax-width: 480px;\n\t}\n}\n\n/* ==============================================\n\n12. Testimonial Area\n\n============================================== */\n.testimonial-thumbs{\n\twidth: 100%;\n height: 100%;\n\tposition:relative;\n\tmargin:0;\n\tmin-height: 350px;\n\tli{\n\t\t\twidth:100%;\n\t\t\tobject-fit:cover;\n\t\t\twidth: 80px;\n height: 80px;\n\t\tborder-radius:$round-radius;\n\t\toverflow:hidden;\n\t\tposition:absolute;\n\t\ttop:0;\n\t\tleft:0;\n\t\tbottom:0;\n\t\tright:0;\n\t\tmargin:auto;\n\t\tcursor:pointer;\n\t\tbox-shadow:$box-shadow-deep;\n\t\timg{\n\t\t\tobject-fit:cover;\n\t\t\twidth:80px;\n\t\t\theight:80px;\n\t\t}\n\t\t&:before{\n\t\t\tcontent:\"\";\n\t\t\tposition:absolute;\n\t\ttop:0;\n\t\tleft:0;\n\t\tbottom:0;\n\t\tright:0;\n\t\tz-index:2;\n\t\tbackground:$bg-overlay;\n\t\topacity:0;\n\t\ttransition:$transition-base;\n\t\t}\n\t\t\n\t}\n\t.active{\n\t\t&:before{\n\t\t\topacity:0.5;\n\t\t}\n\t}\n\tli:nth-child(1){\n \n left: -270px;\n top: -267px;\n\t \n\t @include laptop{\n\t left: -150px;\n\t }\n\n\t}\n\tli:nth-child(2){\n \n left: 270px;\n top: -180px;\n\t@include laptop{\n\t left: 180px;\n\t}\n\n\t}\n\tli:nth-child(3){\n \n left: -270px;\n top: 120px;\n\t\n\t@include laptop{\n\t left: -145px;\n top: 220px;\n\t}\n\n\t}\n\tli:nth-child(4){\n \n right: -210px;\n top: 270px;\n\n\t\t\n\n\t}\n\tli:nth-child(5){\n \n\t\t width:60px;\n\t\theight:60px;\n\t\t\n\t\timg{\n\t\t\twidth:60px;\n\t\t\theight:60px;\n\t\t}\n\n\n\t}\n\t@include tablet{\n\t \n\t}\n}\n.testimonial-slider{\n\n\t.author-content{\n\t\tposition:relative;\n\t\tbox-shadow:$box-shadow-spead;\n\t\tpadding:$inner-60 $inner-70 $inner-70 $inner-70;\n\t\tmargin:30px 0;\n\t\t&:before{\n\t\t\tcontent: \"\";\n\t\t\tbackground-image: url(../images/quote-top.png);\n\t\t\twidth: 90px;\n\t\t\theight: 76px;\n\t\t\tbackground-size: cover;\n\t\t\tdisplay: block;\n\t\t\tposition: absolute;\n\t\t\ttop: -30px;\n\t\t\tleft: 0;\n\t\t\topacity:0.3;\n\t\t\tz-index:2;\n\t\t}\n\t\t&:after{\n\t\t\tcontent: \"\";\n\t\t\tbackground-image: url(../images/quote-bottom.png);\n\t\t\twidth: 90px;\n\t\t\theight: 75px;\n\t\t\tbackground-size: cover;\n\t\t\tdisplay: block;\n\t\t\tposition: absolute;\n\t\t\tbottom: -30px;\n\t\t\tright: 0;\n\t\t\topacity:0.3;\n\t\t\tz-index:2;\n\t\t}\n\t\t@include laptop{\n\t\t padding:$inner-30 $inner-30;\n\t\t\tbox-shadow:$box-shadow;\n\t\t}\n\t\t@include tablet{\n\t\t padding:$inner-30 $inner-30;\n\t\t\tbox-shadow:$box-shadow;\n\t\t}\n\t}\n\t.author-desc{\n\t\th2{\n\t\t\tmargin-bottom:$inner-40;\n\t\t\tfont-weight:$font-weight-semibold;\n\t\t\t\n\t\t\t@include laptop{\n\t\t\t\tmargin-bottom:$inner-30;\n\t\t\t}\n\t\t\t@include tablet{\n\t\t\t\tmargin-bottom:$inner-30;\n\t\t\t}\n\t\t}\n\t\tp{\n\t\t\tmargin-bottom:$inner-40;\n\t\t}\n\t}\n\t.author-name{\n\t\th4,h5{\n\t\t\tmargin:0;\n\t\t}\n\t\ta{\n\t\t\tcolor:$font-color2;\n\t\t\tfont-weight:$font-weight-semibold;\n\t\t\tdisplay:block;\n\t\t\tmargin-bottom:5px;\n\t\t\t&:hover{\n\t\t\t color:$font-color3;\n\t\t\t}\n\t\t}\n\t\tspan{\n\t\t\tdisplay:block;\n\t\t @include font-size($small-font-size);\n\t\t\tfont-weight:$font-weight-normal;\n\t\t\tcolor:$font-color-base;\n\t\t}\n\t}\n\t.owl-dots{\n\t text-align: left;\n margin-top: $inner-30;\n margin-bottom: $inner-30;\n\t\tpadding-left:15px;\n\t .owl-dot{\n\t\t width:15px;\n\t\t height:15px;\n\t\t margin-right:10px;\n\t\t border-radius:$round-radius;\n\t\t background-color:$bg-color4;\n\t\t}\t \n\t\t.owl-dot.active{\n\t\t background-color:$bg-color2;\n\t\t}\n\t\t\n\t\t@include desktop{\n\t\t\tdisplay:none;\n\t\t}\n\t\t@include laptop{\n\t\t\tdisplay:none;\n\t\t}\n\t}\n\t\n\t@include laptop{\n\t\tmargin-bottom:$inner-30;\n\t}\n}\n\n\n\n\n/* ==============================================\n\n13. Price Plan Area\n\n============================================== */\n.price-plan-title{\n position:relative;\n\tbottom:10px;\n\th2{\n\t\tfont-weight:$font-weight-semibold;\n\t\tmargin-bottom:$inner-30;\n\t}\n\tp{\n\t margin-bottom:$inner-50;\n\t\t@include laptop{\n\t\t margin-bottom:$inner-30;\n\t\t}\n\t\t@include tablet{\n\t\t margin-bottom:$inner-30;\n\t\t}\n\t}\n\t@include laptop{\n\t margin-bottom:$inner-40;\n\t bottom:0px;\n\t}\n\t@include tablet{\n\t margin-bottom:$inner-40;\n\t bottom:0px;\n\t}\n}\n.price-plan-box{\n\t box-shadow:$box-shadow-deep;\n\t\tborder-radius:$border-radius;\n\t\toverflow:hidden;\n\t\tmargin-bottom:$inner-30;\n\t.price-title{\n\t\tdisplay:table;\n\t\twidth:100%;\n\t\t.price-curency{\n\t\t\twidth:140px;\n\t\t\theight:120px;\n\t\t\tbackground-color:$bg-color2;\n\t\t\tfloat:left;\n\t \tp{\n\t\t\t\t@include font-size($big-size1); \n\t\t\t\tfont-weight:$font-weight-light;\n\t\t\t\tcolor:$font-color4;\n\t\t\t\tmargin: 6px 0px;\n\t\t\t\tsup{\n\t\t\t\t\tfont-size:30px;\n\t\t\t\t\ttop:-25px;\n\t\t\t\t\tmargin-right: 5px;\n\t\t\t\t}\n\t\t\t\t@include laptop{\n\t\t\t\t font-size: 40px;\n margin: 30px 0px;\n\t\t\t\t}\n\t\t\t}\n\t\t\t@include laptop{\n\t\t\t width:100px;\n\t\t\t}\n\t\t}\n\t\t.price-package{\n\t\t\twidth:calc(100% - 140px);\n\t\t\theight:120px;\n\t\t\tbackground-color:$bg-color4;\n\t\t\tfloat:left;\n\t\t\th5{\n\t\t\t\t@include font-size($h5-font-size);\n\t\t\t\tcolor:$font-color2;\n\t\t\t\tmargin: 0;\n\t\t\t}\n\t\t\t\n\t\t\t@include laptop{\n\t\t\t width: calc(100% - 100px);\n\t\t\t}\n\t\t}\n\t\t\n\t}\n\t.price-content{\n\t\t\n\t background-color:$bg-color1;\n\t\t padding:$inner-50 $inner-30 $inner-60;\n\t\t.price-list{\n\t\t\tmargin-bottom:$inner-50;\n\t\t\tli{\n\t\t\t\tmargin-bottom:15px;\n\t\t\t}\n\t\t}\n\t\t.price-btn{\n\t\t\t @include form-size(\n\t\t\t\t $form-size,$form-space-v + 5,$form-space-h + 10,$form-radius\n\t\t\t ) ;\n\t\t\t @include form-variant(\n \n\t\t\t\t $form-color,$form-bg2,$form-border2, $form-change-color2,$form-change-bg,$form-change-border2 \n \n\t\t\t );\n\t\t\t @include mobile{\n\t\t\t width:100%;\n\t\t\t };\n\t\t}\n\t\t\n\t\t\n\t\t@include laptop{\n\t\t padding: 30px 15px;\n\t\t}\n\t}\n\t@include tablet{\n\t\tmargin-top:0;\n\t}\n}\n\n\n\n\n/* ==============================================\n\n14. Blog Area\n\n============================================== */\n.blog-area{\n\t\n\t.all-view-btn{\n\t\t\n position: absolute;\n right: 15px;\n\t\n\t@include tablet{\n\t display:none;\n }\n\t}\n}\n.blog-media{\n img{\n\t width:100%;\n\t}\n}\n.blog-post{\n\t\t margin-bottom:$inner-30;\n\t.post-img{\n\t\timg{\n\t\t\twidth:100%;\n\t\t\t \n\t\t}\n\t}\n\t.post-content{\n\t\t \n\t\toverflow:hidden;\n\t\tposition:relative;\n\t\tpadding:$inner-60 $inner-50;\n\t\tbox-shadow:$box-shadow-deep;\n\t\ttransition:$transition-base;\n\t \n\t\tbackground-color:$bg-color1;\n\t\twidth:calc(100% - 60px);\n\t\ttop:0;\n\t\tright:-30px;\n\t\tmargin-top:-150px;\n\t\t\n\t\t@include tablet{\n\t\t margin: 0;\n\t\t\tposition: relative;\n\t\t\twidth: 100%;\n\t\t\tmargin-top: 0;\n\t\t\tpadding: 30px 15px;\n\t\t\tright:0;\n\t\t \n\t\t}\n\t\t@include laptop{\n\t\t margin: 0;\n\t\t\tposition: relative;\n\t\t\twidth: 100%;\n\t\t\tmargin-top: 0;\n\t\t\tpadding: 30px 15px;\n\t\t\tright:0;\n\t\t \n\t\t}\t\n\t\t@include desktop{\n\t\t \t margin: 0;\n\t\t\tposition: relative;\n\t\t\twidth: 100%;\n\t\t\tmargin-top: 0;\n\t\t\tpadding: 30px 15px;\n\t\t\tright:0;\n\t\t\t \n\t\t}\n\t\t&:hover{\n\t\t box-shadow:$box-shadow;\n\t\t}\n\t}\n\t.post-date{\n\t\twidth:76px;\n\t\tbackground-color:$bg-color2;\n\t\tdisplay:block;\n\t\tposition:absolute;\n\t\ttop:0;\n\t\tfont-weight:$font-weight-light;\n\t\tright:0;\n\t\tfont-size: 40px;\n\t\tline-height: 30px;\n\t\tcolor:$font-color4;\n\t\ttext-align: center;\n\t\tpadding: 15px 10px 10px;\n\t\tspan{\n\t\t\tdisplay:block;\n\t\t\tfont-size:16px;\n\t\t}\n\t}\n\t.meta-info{\n\t\tmargin:0;\n\t\tmargin-top:10px;\n\t\tli{\n\t\t\tfont-weight:$font-weight-light;\n\t\t\tmargin-right:20px;\n\t\t\tfont-size:14px;\n\t\t\ta{\n\t\t\t\tfont-size:14px;\n\t\t\t\tcolor:$font-color-base ;\n\t\t\t}\n\t\t\ti{\n\t\t\t\tmargin-right:5px;\n\t\t\t}\n\t\t}\n\t}\n\t.post-author{\n\t\t display:table;\n\t\t width:100%;\n\t\t margin-bottom:$inner-30;\n\t\t.author-img{\n\t\t\twidth:40px;\n\t\t\theight:40px;\n\t\t\tborder-radius:30px;\n\t\t\toverflow:hidden;\n\t\t\tfloat:left;\n\t\t\timg{\n\t\t\t\twidth: 40px;\n height: 40px;\n\t\t\t\tobject-fit:cover;\n\t\t\t}\n\t\t}\n\t\t.author-content{\n\t\t\twidth:calc(100% - 40px);\n\t\t\tpadding-left:10px;\n\t\t\tline-height:18px;\n\t\t\tfont-weight:$font-weight-medium;\n\t\t\tfloat:left;\n\t\t\t> a{\n\t\t\t\tdisplay:inline-block;\n\t\t\t\tcolor:$font-color2;\n\t\t\t\tfont-weight:$font-weight-semibold;\n\t\t\t\t&:hover{\n\t\t\t\t color:$font-color3;\n\t\t\t\t}\n\t\t\t}\n\t\t\tspan{\n\t\t\t\t@include font-size($small-font-size);\n\t\t\t\tfont-weight:$font-weight-normal;\n\t\t\t}\n\t\t}\n\t}\n\t\n\t.post-desc{\n\t\th5{\n\t\t\tmargin-bottom:$inner-30;\n\t\t}\n\t\tp{\n\t\t\tmargin-bottom:$inner-30;\n\t\t}\n\t .post-btn{\n\t\t\t color:$font-color3;\n\t\t\t padding:0;\n\t\t\t font-weight:$font-weight-semibold;\n\t\t\t &:hover{\n\t\t\t color:$font-color2;\n\t\t\t }\n\t\t}\n\t\t\n\t}\n}\n.reverse-loop>.row>.col-md-6:nth-child(4n + 2) .blog-post,\n.reverse-loop>.row>.col-md-6:nth-child(4n + 3) .blog-post{\n width: 100%;\n height: calc(100% - 30px);\n .post-img{\n position:absolute;\n\t\tbottom: 0;\n\t\t\n\t\t@include desktop{\n\t\t position:relative;\n\t\t}@include laptop{\n\t\t position:relative;\n\t\t}\n\t\t@include tablet{\n\t\t position:relative;\n\t\t}\n }\n .post-content{\n margin-top:0;\n\t margin-bottom:150px;\n\t @include desktop{\n\t\tmargin-bottom:0;\n\t \n\t} @include laptop{\n\t\tmargin-bottom:0;\n\t\t \n\t} @include tablet{\n\t\tmargin-bottom:0;\n\t\t \n\t}\n }\n}\n.all-view-btn{\n\tdisplay:inline-block;\n\t@include form-size(\n inherit,($form-space-v + 5),($form-space-h + 10),$form-radius\n );\nbox-shadow:$box-shadow-deep; \n @include form-variant(\n $form-color2,$form-bg,$form-border4, inherit,$form-change-bg,$form-change-border2\n );\n \n}\n.author-post{\n text-align:center;\n\tmargin-bottom:$inner-60;\n .author-img{\n\t width:100px;\n\t\theight:100px;\n\t\tborder-radius:$round-radius;\n\t\toverflow:hidden;\n\t\tbox-shadow:$box-shadow-deep;\n\t\ttransition:$transition-base;\n\t\tmargin:auto;\n\t\tmargin-bottom:20px;\n\t\timg{\n\t\twidth:100px;\n\t\theight:100px;\n\t\t width:100%;\n\t\t\tobject-fit:cover;\n\t\t}\n\t}\n .author-content{\n\t h6{\n\t\t margin:0;\n\t\t }\n\t}\n\t&:hover{\n\t .author-img{\n\t\t box-shadow:$box-shadow;\n\t\t}\n\t}\n\t@include tablet{\n\t margin-bottom:$inner-30;\n\t}\n\t@include laptop{\n\t margin-bottom:$inner-30;\n\t}\n}\n.page-navigation{\n\t.pagination{\n\t\tmargin:0;\n\t}\n\tli:first-child a ,\n\tli:last-child a {\n\t\tborder-radius: 0 !important;\n\t}\n\tli{\n\t\ta{\n\t\t\tborder:1px solid #f7f7f7;\n\t\t\twidth:40px;\n\t\t\theight:40px;\n\t\t\tbackground-color:$bg-color4;\n\t\t\tmargin-right: 20px;\n\t\t\tfont-size: 20px;\n\t\t\tpadding: 7px 4px;\n\t\t\ttext-align: center;\n\t\t\t&:hover, &.active{\n\t\t\t\tbackground-color:$bg-color3;\n\t\t\t\tborder-color:$bg-color3;\n\t\t\t\tcolor:$font-color4;\n\t\t\t}\n\t\t}\n\t}\n}\n.entry-content{ \n .first-word{\n\t font-size:70px;\n\t color:#b3cefc;\n\t line-height:28.8px;\n }\n img{\n\t margin-bottom:$inner-30;\n\t width:100%;\n }\n .list-dot{\n\t li:before{\n\t\t font-family: \"Font Awesome 5 Free\"; \n\t\t font-weight: 400; \n\t\t content: \"\\f111\";\t \n margin-right:15px;\n font-size:12px;\n color:$font-color3;\t\t \n\t }\n }\n\tblockquote{\n\t\t @include font-size($h5-font-size);\n\t\t font-style:italic;\n\t\t margin:$inner-30 0;\n\t\t \n\t}\n}\n\n.blog-share-tags{\n display:table;\n width:100%;\n box-shadow:$box-shadow;\n padding:10px 25px;\n border-radius:$border-radius;\n border:$form-border4;\n .blog-author-tags{\n float:left;\n\t @include laptop{\n\t\t float:none;\n\t }@include tablet{\n\t\t float:none;\n\t }\n\t ul{\n\t margin:0;\n\t\t li{\n\t\t &:first-child{\n\t\t\t color:$font-color2;\n\t\t\t font-weight:$font-weight-semibold;\n\t\t\t}\n\t\t\ta{\n\t\t\t color:$font-color-base;\n\t\t\t &:hover{\n\t\t\t color:$font-color3;\n\t\t\t } \n\t\t\t}\n\t\t }\n\t }\n }\n .blog-author-share{\n float:right;\n\t \n\t @include tablet{\n\t\t float:none;\n\t\t margin-top:10px;\n\t }\n\t @include laptop{\n\t\t float:none;\n\t\t margin-top:10px;\n\t }\n\t ul{\n\t margin:0;\n\t\tli{\n\t\t margin-right:15px;\n\t\t &:last-child{\n\t\t margin:0;\n\t\t }\n\t\t a{\n\t\t color:$font-color-base;\n\t\t\t @include font-size($small-font-size);\n\t\t\t &:hover{\n\t\t\t color:$font-color3;\n\t\t\t }\n\t\t }\n\t\t}\n\t }\n }\n}\n\n.blog-author-admin{\n display:table;\n\twidth:100%;\n .author-avatar{\n width:135px;\n\t height:135px;\n\t float:left;\n }\n .author-info{\n width:calc(100% - 135px);\n\t\tpadding-left:25px;\n\t\tfloat:left;\n\t\t.social-link{\n\t\t margin:0;\n\t\t\t\n\t\t\tli a{\n\t\t\t color:$font-color-base;\n\t\t\t @include font-size($small-font-size);\n\t\t\t \n\t\t\t}\n\t\t }\n }\n}\n\n.page-pagination{\n .pagination{\n margin:0;\n\twidth:100%;\n .prev,.next{\n\t border-radius:$border-radius;\n\t\t padding:15px 30px;\n\t\t box-shadow:$box-shadow;\n\t\t border:$form-border4;\n\t\t color:$font-color2;\n\t }\n }\n}\n\n.latest-slider{\n position:relative;\n .blog-latest{\n .latest-img{\n\t img{\n\t\t width:100%;\n\t\t }\n\t }\n\t .latest-content{\n\t transition:$transition-base;\n\t text-align:center;\n\t padding:20px;\n\t\t box-shadow:$box-shadow;\n\t\t border-bottom-left-radius:$border-radius;\n\t\t border-bottom-right-radius:$border-radius;\n\t\t border:$form-border4;\n\t\t \n\t }\n }\n .blog-latest:hover{\n .read-more-btn{\n\t color:$font-color2;\n\t }\n }\n .owl-nav{\n position: absolute;\n left: 0;\n right: 0;\n bottom: 0;\n top: 0;\n height: 40px;\n margin: auto;\n\t\n }\n .owl-nav button.owl-prev span,\n .owl-nav button.owl-next span{\n font-size:30px;\n\t line-height: 30px;\n }\n .owl-nav button.owl-prev{\n border:transparent;\n\t background-color:$bg-color3;\n\t color:$font-color4;\n\t width:40px;\n\t height:40px;\n\t margin-left:15px;\n\t float:left;\n\t border-radius:$round-radius;\n\t box-shadow:$box-shadow;\n } \n .owl-nav button.owl-next{\n border:transparent;\n\t background-color:$bg-color3;\n\t color:$font-color4;\n\t width:40px;\n\t height:40px;\n\t float:right;\n\t margin-right:15px;\n\t border-radius:$round-radius;\n\t box-shadow:$box-shadow;\n }\n\n}\n\n.comment-wrapper{\n .comments-box{\n display:table;\n\t width:100%;\n\t \n .comment-avatar{\n\t width:65px;\n\t\theight:65px;\n\t\tobject-fit:cover;\n\t\tfloat:left;\n\t\timg{\n\t\t border-radius:$round-radius;\n\t\t}\n\t }\n\t .comment-content{\n\t width:calc(100% - 65px);\n\t\t padding-left:15px;\n\t\t float:left;\n\t\t .comment-date{\n\t\t @include font-size($small-font-size);\n\t\t\tfont-weight:$font-weight-normal;\n\t\t\tcolor:$font-color-base;\n\t\t }\n\t }\n }\n}\n\n#watch-video{\n\tbackground-color:rgba(255,255, 255, 0.1);\n\n\t.modal-content{\n\t\tborder:0;\n\t\tbox-shadow:$box-shadow;\n\t}\n .modal-header{\n\t border:0;\n\t padding-bottom:0;\n }\n .modal-body{\n\t \n }\n [type=\"button\"]{\n\t &:hover{\n\t\t border:0;\n\t }\n }\n}\n.blog-spacing{\n margin-bottom:$inner-60;\n\t\n\t@include laptop{\n\t margin-bottom:$inner-30;\n\t}\n\t@include tablet{\n\t margin-bottom:$inner-30;\n\t}\n}\n.modal-backdrop.show {\n opacity: 1;\n background: $bg-color1;\n}\n\n\n/* ==============================================\n\n15. Sidebar Area\n\n============================================== */\n.sidebar-title{\n margin-bottom:$inner-30;\n}\n\n.sidebar-form{\n form{\n\t border:$form-border4;\n\t border-radius:$border-radius;\n\t}\n input{\n\t @include form-size(\n\t\t $form-size,$form-space-v + 5 ,$form-space-h,none\n\t ) ;\n\t@include form-variant(\n\t\t $form-color2,transparent,none, $form-color2,transparent,none\n\t );\n}\nbutton{\n\t@include form-variant(\n\t\t $form-color2,transparent,none, $form-color2,transparent,none\n\t );\n\t @include form-size(\n\t\t $form-size,$form-space-v,$form-space-h,$form-radius\n\t ) ;\n}\n}\n\n.sidebar-list{\n ul{\n li{\n\t padding-left:0;\n\t border:0;\n\t\t border-top:$form-border4;\n\t\t border-bottom:$form-border4;\n\t\t &:first-child{\n\t\t border-top:0;\n\t\t\tpadding-top:0;\n\t\t } &:last-child{\n\t\t border-bottom:0;\n\t\t\tpadding-bottom:0;\n\t\t }\n\t\t a{\n\t\t color:$font-color-base;\n\t\t }\n\t }\n }\n}\n.sidebar-blog{\n .sidebar-latest{\n\t display:table;\n\t\twidth:100%;\n\t .latest-img{\n\t width:65px;\n\t\t height:65px;\n\t\t float:left;\n\t\t img{\n\t\t object-fit:cover;\n\t\t }\n\t }\n\t .latest-content{\n\t width:calc(100% - 65px);\n\t\t padding-left:15px;\n\t\t float:left;\n\t }\n\t}\n}\n.sidebar-social-link{\n ul{\n margin:0;\n li{ \n\t text-align:center;\n\t\t border:$form-border4;\n\t\t border-radius:$border-radius;\n\t\t padding:15px 20px;\n\t\t margin-bottom:10px;\n\t a{\n\t\t display:inline-block;\n\t\t }\n\t\t i{\n\t\t font-size:25px;\n\t\t }\n\t\t p{\n\t\t margin:0;\n\t\t\tfont-size:18px;\n\t\t\tcolor:$font-color2;\n\t\t\tline-height: 24px;\n\t\t\tfont-weight:$font-weight-semibold;\n\t\t\tspan{\n\t\t\t display:block;\n\t\t\t color:$font-color-base;\n\t\t\t font-weight:$font-weight-normal;\n\t\t\t font-size:16px;\n\t\t\t}\n\t\t }\n\t\t \n\t\t @include laptop{\n\t\t padding: 5px 10px;\n\t\t }\n\t \n\t }\n }\n}\n.sidebar-widget{\n margin-bottom:$inner-30;\n \n @include tablet{\n margin-bottom:$inner-30;\n }\n @include laptop{\n margin-bottom:$inner-30;\n }\n \n}\n.sidebar-right{\n @include tablet{\n\t margin-top:$inner-60;\n\t}\n}\n.sidebar-left{\n @include tablet{\n\t margin-bottom:$inner-60;\n\t}\n}\n/* ==============================================\n\n16. community Area\n\n============================================== */\n.community-form{\n\tbox-shadow:$box-shadow-deep;\n\tpadding:$inner-40;\n\tbackground-color:$bg-color1;\n\tborder-radius:$border-radius;\n @include laptop{\n\t padding:$inner-30;\n\t} \n\t@include tablet{\n\t padding:$inner-30;\n\t}\n}\n.community-img{\n img{\n\t max-width:600px;\n @include laptop{\n\t max-width:400px;\n\t } \n\t @include desktop{\n\t max-width:500px;\n\t }@include laptop{\n\t max-width:400px;\n\t }@include tablet{\n\t max-width:100%;\n\t\t margin-bottom:30px;\n\t }\n }\n}\n\n\n/* ==============================================\n\n18. Contact Area\n\n============================================== */\n.contact-info{\n\ttext-align:center;\n\tpadding:0 30px;\n\t.info-logo{\n\t\tposition:relative;\n\t\twidth:90px;\n\t\theight:90px;\n\t\tborder-radius:$round-radius;\n\t\tbox-shadow:$box-shadow;\n\t\tmargin:auto;\n\t\tmargin-bottom:25px;\n\t\t\n\t\timg{\n\t\t\t\n\t\tbottom: 0;\n\t\twidth: 30px;\n\t\theight: 30px;\n\t\tobject-fit: cover;\n\t\ttop: 0;\n\t\tleft: 0;\n\t\tright: 0;\n\t\tmargin: auto;\n\t\tposition: absolute;\n\t\t}\n\t}\n\t.info-content{\n\t\th5{\n\t\t\tmargin-bottom:15px;\n\t\t}\n\t\tp{\n\t\t\ta{\n\t\t\tcolor:$font-color-base;\n\t\t}\n\t\t}\n\t\t\n\t}\n\t@include tablet{\n\t\tpadding-left:0;\n\t\tmargin-bottom:$inner-30;\n\t\ttext-align:left;\n\t\t.info-logo{\n\t\t\tmargin-left:0;\n\t\t}\n\t}\n}\n.contact-image{\n\t\n\timg{\n\t\t@include tablet{\n\t\t\tmax-width:100%;\n\t\t\tmargin-top:$inner-30;\n\t\t}\n\t}\n}\n\n\n\n\n/* ==============================================\n\n19. Footer Area\n\n============================================== */\n\n.scrollToTop {\n margin: 0 15px 15px 0;\n text-align: center;\n text-decoration: none;\n position: fixed;\n bottom: 0;\n background: $bg-color1;\n right: 0;\n width: 40px;\n height: 40px;\n border-radius: 50px;\n text-align: center;\n line-height: 40px;\n\tbox-shadow:$box-shadow;\n\tz-index:111;\n}\n\n.scrollToTop:hover {\n text-decoration: none;\n}\n\n.footer-wrapper {\n\toverflow: hidden;\n}\n\n.footer-area{\n margin-top:210px;\n\t&:before{\n content: \"\";\n height: 700px;\n border-top-left-radius: 270px;\n border-top-right-radius: 160px;\n background: $bg-color2;\n display: block;\n position: absolute;\n transform: skewY(6deg);\n\tleft: -50px;\n right: -70px;\n top:-130px;\n\tz-index:2;\n\t@include desktop{\n\t border-top-left-radius: 130px;\n border-top-right-radius: 210px;\n\t\ttransform: rotate(3deg);\n\t\ttop: -106px;\n\t}\n\t@include laptop{\n\t display:none;\n\t}\n\t@include tablet{\n\t display:none;\n\t}\n }\n @include desktop{\n \n\t\tmargin-top: 133px;\n } \n @include tablet{\n margin-top:0;\n\t padding-top:$inner-90;\n } \n @include laptop{\n margin-top:0;\n\t padding-top:$inner-90;\n }\n}\n.footer-widget-wrapper{\n padding-bottom:$inner-60;\n\t\n\t@include laptop{\n\t\tpadding-bottom:$inner-40;\n\t}\n\t@include tablet{\n\t\tpadding-bottom:$inner-40;\n\t}\n}\n.footer-logo{\n\tmargin-bottom:15px;\n\tdisplay:block;\n\t\n\timg{\n\t position:relative;\n\t\tz-index:3;\n\t}\n}\n.footer-widget{\n margin-bottom:$inner-30;\n\tposition:relative;\n\tz-index:2;\n .widget-title{\n\t\tmargin-bottom:10px;\n\t\th5{\n\t\t\tmargin:0;\n\t\t\tcolor:rgba($font-color4, 0.9);\n\t\t}\n\t}\n\tp{\n\t\tcolor:rgba($font-color4, 0.9);\n\t}\n\t.widget-list{\n\t\tmargin:0;\n\t\tli{\n\t\t\tmargin-bottom:5px;\n\t\t}\n\t\tli a{\n\t\t\tcolor:rgba($font-color4, 0.9);\n\t\t\t\n\t\t\t&:hover{\n\t\t\t text-decoration:underline;\n\t\t\t} \n\t\t}\n\t}\n .social-link{\n\t\tli{\n\t\t\tborder-top:1px solid transparent;\n\t\t}\n\t\tli a{\n\t\t\tfont-size:20px;\n\t\t\tcolor:rgba($font-color4, 0.9);\n\t\t\t\n\t\t\t&:hover{\n\t\t\t color:rgba($font-color4, 1);\n\t\t }\n\t\t}\n\t\tli:hover{\n\t\t\tborder-top:$form-border2;\n\t\t}\n\t}\n\tform{\n\t\t@include placeholder {\n\t\tcolor: $font-color4;\n\t}\n\t\tinput{\n\t\t\t @include form-size(\n\t\t\t\t $form-size,$form-space-v,$form-space-h - 15,$form-radius\n\t\t\t ) ;\n\t\t\t@include form-variant(\n\t\t\t\t $form-color,$form-bg2,$form-border2, $form-color,$form-bg2,$form-border2\n\t\t\t );\n\t\t}\n\t\tbutton{\n\t\t\t@include form-variant(\n\t\t\t\t $form-color2,$form-bg3,$form-border2, $form-change-color,transparent,$form-change-border\n\t\t\t );\n\t\t\t @include form-size(\n\t\t\t\t $form-size,$form-space-v,$form-space-h,$form-radius\n\t\t\t ) ;\n\t\t}\n\t}\n}\n\n.footer-copyright-wrapper{\n padding-bottom:30px;\n position:relative;\n\tz-index:2;\n\tp,a{\n\t\tmargin:0;\n\t\tcolor:rgba($font-color4, 0.9);\n\t}\n\ta:hover{\n\t &:hover{\n\t\t color:rgba($font-color4, 1);\n\t }\n\t}\n}\n\n.footer-shape{\n position:absolute;\n\twidth:100%;\n\t.left{\n\t\tposition:absolute;\n\t\tbottom:-40px;\n\t\tleft:-40px;\n\t\t\n\t\timg{\n\t\t z-index:2;\n\t\t\tposition:relative;\n\t\t\t@include desktop{\n\t\t\t\tmax-width:300px;\n\t\t\t}@include laptop{\n\t\t\t\tmax-width:300px;\n\t\t\t}\n\t\t}\n\t}\n\t.right{\n\t\tposition: absolute;\n\t\tright: -90px;\n\t\tbottom: -120px;\n\t\timg{\n\t\t z-index:2;\n\t\t\tposition:relative;\n\t\t\t@include desktop{\n\t\t\t\tmax-width:300px;\n\t\t\t}@include laptop{\n\t\t\t\tmax-width:300px;\n\t\t\t}\n\t\t}\n\t}\n\t@include tablet{\n\t display:none;\n\t}\n}\n\n.list-inline-item {\n\tcolor: $font-color2;\n\tfont-weight: 600;\n}\n.blog-author-tags {\n\ta {\n\t\tcolor: $placeholder-color;\n\t\ttext-transform: capitalize;\n\t\tmargin: 0 5px;\n\t\ttransition: all .4s linear 0s;\n\t\t&:hover {\n\t\t\tcolor: $bg-color2;\n\t\t}\n\t}\n}\n.footer-widget {\n\tz-index: 5;\n}\n\n\n\n.swiper-slide-duplicate-prev img {\n border: 11px solid $bg-color1;\n}\n.swiper-slide-duplicate-prev {\n border: 11px solid $bg-color1;\n}\n\n\n\n\n/* ==============================================\n\n\tText Generic\n\n============================================== */\n\n.font-color2 {\n\tcolor: $font-color2;\n}\n\n.font-color3 {\n\tcolor: $font-color3;\n}\n\n.font-color5 {\n\tcolor: $font-color5;\n}\n\n\n"," \n \n/* 0. Normalize */\n\nbody,html {\n -ms-text-size-adjust: 100%; \n -webkit-text-size-adjust: 100%; \n}\narticle,\naside,\ndetails,\nfigcaption,\nfigure,\nfooter,\nheader,\nhgroup,\nmain,\nmenu,\nnav,\nsection,\nsummary {\n display: block;\n position:relative;\n}\n\naudio,\ncanvas,\nprogress,\nvideo {\n display: inline-block; \n vertical-align: baseline; \n}\naudio:not([controls]) {\n display: none;\n height: 0;\n}\n\n[hidden],\ntemplate {\n display: none;\n}\na {\n background-color: transparent;\n}\na{\n transition:$transition-base;\n}\na:active,\na:hover {\n outline: 0;\n text-decoration: none;\n color:$link-color;\n}\nabbr[title] {\n border-bottom: 1px dotted;\n}\nol, ul{\n padding-left:20px;\n}\nb,\nstrong {\n font-weight: bold;\n}\ndfn {\n font-style: italic;\n}\n\n\nmark {\n background: #ff0;\n color: #000;\n}\n\nsmall {\n font-size: 80%;\n}\n\nsub,\nsup {\n font-size: 75%;\n line-height: 0;\n position: relative;\n vertical-align: baseline;\n}\n\nsup {\n top: -0.5em;\n}\n\nsub {\n bottom: -0.25em;\n}\ni, cite, em, var, address, dfn{\n font-style:normal;\n}\nimg {\n border: 0;\n}\n\nsvg:not(:root) {\n overflow: hidden;\n}\n\nfigure {\n margin: 1em 40px;\n}\n\nhr {\n -moz-box-sizing: content-box;\n box-sizing: content-box;\n height: 0;\n}\npre {\n overflow: auto;\n}\n\ncode,\nkbd,\npre,\nsamp {\n font-size: inherit;\n}\n.form-control{\n height:auto;\n}\nbutton,\ninput,\noptgroup,\nselect,\ntextarea {\n color: inherit; \n font: inherit; \n margin: 0; \n}\n textarea:focus,\n textarea:active,\n button:focus,\n button:active,\n input:active,\n input:focus,\n .btn:focus,\n .btn.active {\n background-image: none !important;\n outline: 0;\n -webkit-box-shadow: none !important;\n box-shadow: none !important;\n }\n.page-link:focus {\n outline: 0;\n box-shadow: none;\n}\nbutton,\nselect {\n text-transform: none;\n}\n\nbutton,\nhtml input[type=\"button\"], \ninput[type=\"reset\"],\ninput[type=\"submit\"] {\n -webkit-appearance: button; \n cursor: pointer; \n}\n\nbutton[disabled],\nhtml input[disabled] {\n cursor: default;\n}\n\nbutton::-moz-focus-inner,\ninput::-moz-focus-inner {\n border: 0;\n padding: 0;\n}\ninput[type=\"checkbox\"],\ninput[type=\"radio\"] {\n box-sizing: border-box;\n padding: 0; \n}\n\ninput[type=\"number\"]::-webkit-inner-spin-button,\ninput[type=\"number\"]::-webkit-outer-spin-button {\n height: auto;\n}\ninput[type=\"search\"] {\n -webkit-appearance: textfield; \n -moz-box-sizing: content-box;\n -webkit-box-sizing: content-box; \n box-sizing: content-box;\n}\n\ninput[type=\"search\"]::-webkit-search-cancel-button,\ninput[type=\"search\"]::-webkit-search-decoration {\n -webkit-appearance: none;\n}\nlegend {\n border: 0; \n padding: 0;\n}\n\ntextarea {\n overflow: auto;\n}\n\noptgroup {\n font-weight: bold;\n}\n\ntable {\n border-collapse: collapse;\n border-spacing: 0;\n}\n\ntd,\nth {\n padding: 0;\n}","// Global Variables\n\n\n// Background Colors\n\n$bg-color1: #ffffff !default;\n$bg-color2: #216ae6;\n$bg-color3: #4986ee ;\n$bg-color4: #fafcff ; \n$bg-overlay: #216ae6 !default;\n\n\n// Spacing \n\n$sectionspace: (100,130,140); \n$innerspace: (30, 40,50,60,70, 80,90); \n$sides: (top, bottom, left, right);\n$sides2: (top, bottom);\n\n$section-100: 100px;\n$section-130: 130px;\n$section-140: 140px;\n$inner-30: 30px;\n$inner-40: 40px;\n$inner-50: 50px;\n$inner-60: 60px;\n$inner-70: 70px;\n$inner-80: 80px;\n$inner-90: 90px;\n\n// Links\n\n$link-color: #216ae6 !default;\n\n\n// Fonts Color\n\n$font-color-base: #0d1b33 !default;\n$font-color2: #041e49 ;\n$font-color3: #216ae6 ;\n$font-color4: #ffffff ;\n$font-color5: #4de5ff ;\n$font-color6: #3b7ef1 ;\n$font-color7: #1c55b6 ;\n$font-color8: #1c55b6 ;\n\n$placeholder-color: #777777 !default;\n\n// Social Color\n\n$social-color1: #3c5a98;\n$social-color2: #4f7ea6;\n$social-color3: #29a8eb;\n$social-color4: #563acc;\n\n\n\n// Typography\n\n$font-family-base: 'Poppins', sans-serif !default; \n$font-size-base: 1.6 !default; \n$small-font-size: 1.4 ;\n$font-weight-light: 300;\n$font-weight-normal: 400 !default;\n$font-weight-medium: 500 ;\n$font-weight-semibold: 600 ;\n$font-weight-bold: 700 !default;\n$line-height-base: 1.6 !default;\n$h1-font-size: $font-size-base * 2.5;\n$h2-font-size: $font-size-base * 2;\n$h3-font-size: $font-size-base * 1.75;\n$h4-font-size: $font-size-base * 1.5;\n$h5-font-size: $font-size-base * 1.25;\n$h6-font-size: $font-size-base ;\n$headings-color: $font-color2;\n$headings-font-family: $font-family-base;\n$headings-line-height: 1.4 !default;\n$big-line-height: 1.2 ;\n\n\n$big-size1: $font-size-base * 3.75;\n$big-size2: $font-size-base * 3.0;\n$big-size3: $font-size-base * 2.5;\n$big-size4: $font-size-base * 1.5;\n\n\n// Form \n\n\n$form-bg: #ffffff !default;\n$form-bg2: #2e75d8 ;\n$form-bg3: #f5f5f5;\n$form-bg4: #000000;\n\n$form-size: 16px !default;\n$form-size2: 20px;\n$form-size3: 24px;\n\n\n$form-color: #ffffff !default;\n$form-color2: #216ae6;\n$form-color3: #0d1b33;\n\n$form-border: 1px solid #e3e3e3 !default;\n$form-border2: 1px solid #216ae6 ;\n$form-border3: 1px solid #ffffff ;\n$form-border4: 1px solid #f5f5f5 ;\n$form-border5: 1px solid #000000 ;\n \n$form-radius: 4px !default; \n\n$form-space-v: 10px !default;\n$form-space-h: 30px !default;\n\n// Form Change\n\n\n$form-change-bg: #ffffff !default;\n$form-change-bg2: #216ae6 ;\n$form-change-bg3: #f5f5f5;\n$form-change-bg4: #000000;\n\n$form-change-color: #ffffff !default;\n$form-change-color2: #216ae6;\n$form-change-color3: #0d1b33;\n\n$form-change-border: 1px solid #e3e3e3 !default;\n$form-change-border2: 1px solid #216ae6 ;\n$form-change-border3: 1px solid #ffffff ;\n$form-change-border4: 1px solid #000000 ;\n\n// Component\n\n$border-radius: 5px !default;\n$round-radius: 50px !default;\n$box-shadow: 0 0 20px 0 rgba(25, 100, 227, 0.06) !default;\n$box-shadow-deep: 0 0 10px 0 rgba(25, 100, 227, 0.10) !default;\n$box-shadow-spead: 0 0 30px 0px rgba(25, 100, 227, 0.07) !default;\n$transition-base: all 500ms ease !default;\n\n\n\n// Responsive Layout\n\n$desktop-device: 1200px !default;\n$laptop-device: 992px;\n$tablet-device: 768px;\n$mobile-device: 576px;\n\n\n\n","// Global Functions\n\n// Responsive Layout\n\n@mixin desktop {\n @media (min-width: #{$laptop-device}) and (max-width: #{$desktop-device}) {\n @content;\n }\n}\n\n@mixin laptop {\n @media (min-width: #{$tablet-device}) and (max-width: #{$laptop-device}) {\n @content;\n }\n}\n\n@mixin tablet {\n @media (max-width: #{$tablet-device}) {\n @content;\n }\n}\n\n@mixin mobile {\n @media (max-width: #{$mobile-device}) {\n @content;\n }\n}\n\n// Font Size\n@mixin font-size($font-size-base) {\n font-size: ($font-size-base * 10) + px;\n}\n@mixin placeholder {\n ::-webkit-input-placeholder {@content}\n :-moz-placeholder {@content}\n ::-moz-placeholder {@content}\n :-ms-input-placeholder {@content} \n}\n// Section Spacing\n@each $space in $sectionspace{\n @each $sides2 in $sides2 {\n .p-#{str-slice($sides2, 0, 1)}-#{$space} {\n padding-#{$sides2}: #{$space}px;\n }\n \n }\n}\n@include laptop{\n@each $space in $sectionspace{\n @each $sides2 in $sides2 {\n .p-#{str-slice($sides2, 0, 1)}-#{$space} {\n padding-#{$sides2}: #{$space - 40}px;\n }\n \n }\n}\n}\n@include tablet{\n@each $space in $sectionspace{\n @each $sides2 in $sides2 {\n .p-#{str-slice($sides2, 0, 1)}-#{$space} {\n padding-#{$sides2}: #{$space - 40}px;\n }\n \n }\n}\n}\n// Inner Spacing\n\n@each $space in $innerspace{\n @each $side in $sides {\n .m-#{str-slice($side, 0, 1)}-#{$space} {\n margin-#{$side}: #{$space}px;\n }\n \n }\n}\n\n@include laptop{\n@each $space in $innerspace{\n @each $side in $sides {\n .m-#{str-slice($side, 0, 1)}-#{$space} {\n margin-#{$side}: #{$space - 20}px;\n }\n \n }\n}\n}\n@include tablet{\n@each $space in $innerspace{\n @each $side in $sides {\n .m-#{str-slice($side, 0, 1)}-#{$space} {\n margin-#{$side}: #{$space - 20}px;\n }\n \n }\n}\n}\n// Color Opacity\n\n@mixin background-opacity($color, $background) {\n $percent: alpha($color) * 100%;\n $opaque: opacify($color, 1);\n $solid-color: mix($opaque, $background, $percent);\n background-color: $solid-color;\n background-color: $color;\n}\n@mixin color-opacity($color, $background) {\n $percent: alpha($color) * 100%;\n $opaque: opacify($color, 1);\n $solid-color: mix($opaque, $background, $percent);\n color: $solid-color;\n color: $color;\n}\n\n\n\n// Form Handle\n@mixin form-size($font-size,$space-vertical, $space-horizontal,$border-radius) { \n font-size:$font-size;\n padding: $space-vertical $space-horizontal;\n border-radius:$border-radius;\n}\n@mixin form-variant($color, $background, $border,$change-color,$change-background,$change-border) {\n color: $color;\n background-color: $background;\n border: $border;\n &:focus,\n &:hover,\n &:active{\n color: $change-color;\n background-color: $change-background;\n border: $change-border;\n }\n}\n","// Global Typography\nbody {\n font-family: $font-family-base; \n @include font-size($font-size-base);\n line-height: $line-height-base;\n font-weight: $font-weight-normal;\n color:$font-color-base; \n}\n// Placeholder\n@include placeholder {\n font-size:$font-size-base;\n\t line-height:$line-height-base;\n color: $placeholder-color;\n font-weight:$font-weight-normal;\n}\n// Heading Font\n\nh1, .heading-1 { \n\t@include font-size($h1-font-size); \n\t@include tablet{\n\t @include font-size($h1-font-size - 1.5); \n\t}\n}\nh2, .heading-2 { \n @include font-size($h2-font-size); \n\t@include tablet{\n\t @include font-size($h2-font-size - 1); \n\t}\n}\nh3, .heading-3 { \n\t@include font-size($h3-font-size);\n\t@include tablet{\n\t\t@include font-size($h3-font-size - 1); \n\t\tfont-weight:$font-weight-bold;\n\t}; \n}\nh4, .heading-4 {\n\t@include font-size($h4-font-size); \n\t@include tablet{\n\t\t@include font-size($h4-font-size - 0.7); \n\t\tfont-weight:$font-weight-bold;\n\t}; \n}\nh5, .heading-5 { \n\t@include font-size($h5-font-size); \n\t@include tablet{\n\t\t@include font-size($h5-font-size - 0.5); \n\t\tfont-weight:$font-weight-bold;\n\t}; \n}\nh6, .heading-6 { \n\t@include font-size($h6-font-size); \n}\nh1, h2, h3, h4, h5, h6 ,\n.heading-1, .heading-2, \n.heading-3, .heading-4, \n.heading-5, .heading-6{\n line-height:$headings-line-height;\n color:$headings-color;\n}\nh1, h2, h3, h4, h5, h6 {\n font-family: $headings-font-family;\n font-weight: $font-weight-normal;\n}\n\n.heading-1, .heading-2, \n.heading-3, .heading-4, \n.heading-5, .heading-6 {\n font-family: $headings-font-family;\n font-weight: $font-weight-semibold;\n}\nh1,h2,h3,h4,h5,h6{\n a{\n color:$font-color2;\n }\n}\n// Big Font\n\n.big-font1,.big-font2,.big-font3{ \n line-height:$big-line-height;\n\tfont-weight:$font-weight-bold;\n}\n.big-font1 { \n\t@include font-size($big-size1);\n\t@include desktop{\n\t @include font-size($big-size1 - 1.5); \n\t}\t\n\t@include laptop{\n\t @include font-size($big-size1 - 2); \n\t}\n\t@include tablet{\n\t @include font-size($big-size1 - 2.5); \n\t}\n}\n.big-font2 { \n\t@include font-size($big-size2); \n\t@include desktop{\n\t @include font-size($big-size2 - 1.5); \n\t}\t\n\t@include laptop{\n\t @include font-size($big-size2 - 2); \n\t}\n\t@include tablet{\n\t @include font-size($big-size2 - 2); \n\t}\n}\n.big-font3 { \n\t@include font-size($big-size3);\n\t@include desktop{\n\t\t@include font-size($big-size3 - 1.5); \n\t}\n\t@include laptop{\n\t\t@include font-size($big-size3 - 1.5); \n\t}\t\t\n\t@include tablet{\n\t\t@include font-size($big-size3 - 1.5); \n\t}\t\n}\n.big-font4 { \n\t@include font-size($big-size4); \n\t@include desktop{\n\t @include font-size($big-size4 - 1.5); \n\t}\n\t@include laptop{\n\t @include font-size($big-size4 - 2); \n\t}\n\t@include tablet{\n\t @include font-size($big-size4 - 2); \n\t}\n}\n\n// Small Font\n\nsmall,\n.small {\n @include font-size($small-font-size);\n font-weight: $font-weight-normal;\n}\n\n// Font Weight\n\n.font-weight-bold{\n font-weight:$font-weight-bold !important;\n}\n.weight-semibold{\n font-weight:$font-weight-semibold !important;\n}\n.weight-medium{\n font-weight:$font-weight-medium !important;\n}\n.weight-normal{\n font-weight:$font-weight-normal !important;\n}\n.weight-light{\n font-weight:$font-weight-light !important;\n}\n\n\n// Invert Color\n\n\n.white-all{\n h1,h2,h3,h4,h5,h6,p,a,span,label,input,textarea,em,b,*{\n color:$font-color4 !important;\n }\n}\n.white-text{\n color:$font-color4 !important;\n \n}\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n"],"file":"style.css"} \ No newline at end of file diff --git a/assets/css/style.min.css b/assets/css/style.min.css new file mode 100644 index 000000000..cc7cd2d10 --- /dev/null +++ b/assets/css/style.min.css @@ -0,0 +1,2779 @@ +/* +Theme Name: Applin +Theme URI: https://cutter.com/applin/ +Author: cutter team +Author URI: https://cutter.com/ +Description: applin theme is a free apps theme. +Version: 1.0 +License: GNU General Public License v2 or later +License URI: http://www.gnu.org/licenses/gpl-2.0.html +Text Domain: +Tags: apps, hosting,business etc. +*/ +/* +=========================== +TABLE INDEX +1. Bg Color +2. Bg Image +3. Form & Button +4. Section & Inner Title +5. Shape Animation +6. Header Area +7. Service Area +8. Feature Area +9. Watch Video Area +10. Apps Screenshot Area +11. Apps Store Area +12. Testimonial Area +13. Price Plan Area +14. Blog Area +15. Sidebar Area +16. community Area +17. Footer Area +=========================== +*/ +/* 0. Normalize */ +body, html { + -ms-text-size-adjust: 100%; + -webkit-text-size-adjust: 100%; } + +article, +aside, +details, +figcaption, +figure, +footer, +header, +hgroup, +main, +menu, +nav, +section, +summary { + display: block; + position: relative; } + +audio, +canvas, +progress, +video { + display: inline-block; + vertical-align: baseline; } + +audio:not([controls]) { + display: none; + height: 0; } + +[hidden], +template { + display: none; } + +a { + background-color: transparent; } + +a { + -webkit-transition: all 500ms ease; + -o-transition: all 500ms ease; + transition: all 500ms ease; } + +a:active, +a:hover { + outline: 0; + text-decoration: none; + color: #216ae6; } + +abbr[title] { + border-bottom: 1px dotted; } + +ol, ul { + padding-left: 20px; } + +b, +strong { + font-weight: bold; } + +dfn { + font-style: italic; } + +mark { + background: #ff0; + color: #000; } + +small { + font-size: 80%; } + +sub, +sup { + font-size: 75%; + line-height: 0; + position: relative; + vertical-align: baseline; } + +sup { + top: -0.5em; } + +sub { + bottom: -0.25em; } + +i, cite, em, var, address, dfn { + font-style: normal; } + +img { + border: 0; } + +svg:not(:root) { + overflow: hidden; } + +figure { + margin: 1em 40px; } + +hr { + -webkit-box-sizing: content-box; + box-sizing: content-box; + height: 0; } + +pre { + overflow: auto; } + +code, +kbd, +pre, +samp { + font-size: inherit; } + +.form-control { + height: auto; } + +button, +input, +optgroup, +select, +textarea { + color: inherit; + font: inherit; + margin: 0; } + +textarea:focus, +textarea:active, +button:focus, +button:active, +input:active, +input:focus, +.btn:focus, +.btn.active { + background-image: none !important; + outline: 0; + -webkit-box-shadow: none !important; + box-shadow: none !important; } + +.page-link:focus { + outline: 0; + -webkit-box-shadow: none; + box-shadow: none; } + +button, +select { + text-transform: none; } + +button, +html input[type="button"], +input[type="reset"], +input[type="submit"] { + -webkit-appearance: button; + cursor: pointer; } + +button[disabled], +html input[disabled] { + cursor: default; } + +button::-moz-focus-inner, +input::-moz-focus-inner { + border: 0; + padding: 0; } + +input[type="checkbox"], +input[type="radio"] { + -webkit-box-sizing: border-box; + box-sizing: border-box; + padding: 0; } + +input[type="number"]::-webkit-inner-spin-button, +input[type="number"]::-webkit-outer-spin-button { + height: auto; } + +input[type="search"] { + -webkit-appearance: textfield; + -webkit-box-sizing: content-box; + box-sizing: content-box; } + +input[type="search"]::-webkit-search-cancel-button, +input[type="search"]::-webkit-search-decoration { + -webkit-appearance: none; } + +legend { + border: 0; + padding: 0; } + +textarea { + overflow: auto; } + +optgroup { + font-weight: bold; } + +table { + border-collapse: collapse; + border-spacing: 0; } + +td, +th { + padding: 0; } + +.p-t-100 { + padding-top: 100px; } + +.p-b-100 { + padding-bottom: 100px; } + +.p-t-130 { + padding-top: 130px; } + +.p-b-130 { + padding-bottom: 130px; } + +.p-t-140 { + padding-top: 140px; } + +.p-b-140 { + padding-bottom: 140px; } + +@media (min-width: 768px) and (max-width: 992px) { + .p-t-100 { + padding-top: 60px; } + .p-b-100 { + padding-bottom: 60px; } + .p-t-130 { + padding-top: 90px; } + .p-b-130 { + padding-bottom: 90px; } + .p-t-140 { + padding-top: 100px; } + .p-b-140 { + padding-bottom: 100px; } } + +@media (max-width: 768px) { + .p-t-100 { + padding-top: 60px; } + .p-b-100 { + padding-bottom: 60px; } + .p-t-130 { + padding-top: 90px; } + .p-b-130 { + padding-bottom: 90px; } + .p-t-140 { + padding-top: 100px; } + .p-b-140 { + padding-bottom: 100px; } } + +.m-t-30 { + margin-top: 30px; } + +.m-b-30 { + margin-bottom: 30px; } + +.m-l-30 { + margin-left: 30px; } + +.m-r-30 { + margin-right: 30px; } + +.m-t-40 { + margin-top: 40px; } + +.m-b-40 { + margin-bottom: 40px; } + +.m-l-40 { + margin-left: 40px; } + +.m-r-40 { + margin-right: 40px; } + +.m-t-50 { + margin-top: 50px; } + +.m-b-50 { + margin-bottom: 50px; } + +.m-l-50 { + margin-left: 50px; } + +.m-r-50 { + margin-right: 50px; } + +.m-t-60 { + margin-top: 60px; } + +.m-b-60 { + margin-bottom: 60px; } + +.m-l-60 { + margin-left: 60px; } + +.m-r-60 { + margin-right: 60px; } + +.m-t-70 { + margin-top: 70px; } + +.m-b-70 { + margin-bottom: 70px; } + +.m-l-70 { + margin-left: 70px; } + +.m-r-70 { + margin-right: 70px; } + +.m-t-80 { + margin-top: 80px; } + +.m-b-80 { + margin-bottom: 80px; } + +.m-l-80 { + margin-left: 80px; } + +.m-r-80 { + margin-right: 80px; } + +.m-t-90 { + margin-top: 90px; } + +.m-b-90 { + margin-bottom: 90px; } + +.m-l-90 { + margin-left: 90px; } + +.m-r-90 { + margin-right: 90px; } + +@media (min-width: 768px) and (max-width: 992px) { + .m-t-30 { + margin-top: 10px; } + .m-b-30 { + margin-bottom: 10px; } + .m-l-30 { + margin-left: 10px; } + .m-r-30 { + margin-right: 10px; } + .m-t-40 { + margin-top: 20px; } + .m-b-40 { + margin-bottom: 20px; } + .m-l-40 { + margin-left: 20px; } + .m-r-40 { + margin-right: 20px; } + .m-t-50 { + margin-top: 30px; } + .m-b-50 { + margin-bottom: 30px; } + .m-l-50 { + margin-left: 30px; } + .m-r-50 { + margin-right: 30px; } + .m-t-60 { + margin-top: 40px; } + .m-b-60 { + margin-bottom: 40px; } + .m-l-60 { + margin-left: 40px; } + .m-r-60 { + margin-right: 40px; } + .m-t-70 { + margin-top: 50px; } + .m-b-70 { + margin-bottom: 50px; } + .m-l-70 { + margin-left: 50px; } + .m-r-70 { + margin-right: 50px; } + .m-t-80 { + margin-top: 60px; } + .m-b-80 { + margin-bottom: 60px; } + .m-l-80 { + margin-left: 60px; } + .m-r-80 { + margin-right: 60px; } + .m-t-90 { + margin-top: 70px; } + .m-b-90 { + margin-bottom: 70px; } + .m-l-90 { + margin-left: 70px; } + .m-r-90 { + margin-right: 70px; } } + +@media (max-width: 768px) { + .m-t-30 { + margin-top: 10px; } + .m-b-30 { + margin-bottom: 10px; } + .m-l-30 { + margin-left: 10px; } + .m-r-30 { + margin-right: 10px; } + .m-t-40 { + margin-top: 20px; } + .m-b-40 { + margin-bottom: 20px; } + .m-l-40 { + margin-left: 20px; } + .m-r-40 { + margin-right: 20px; } + .m-t-50 { + margin-top: 30px; } + .m-b-50 { + margin-bottom: 30px; } + .m-l-50 { + margin-left: 30px; } + .m-r-50 { + margin-right: 30px; } + .m-t-60 { + margin-top: 40px; } + .m-b-60 { + margin-bottom: 40px; } + .m-l-60 { + margin-left: 40px; } + .m-r-60 { + margin-right: 40px; } + .m-t-70 { + margin-top: 50px; } + .m-b-70 { + margin-bottom: 50px; } + .m-l-70 { + margin-left: 50px; } + .m-r-70 { + margin-right: 50px; } + .m-t-80 { + margin-top: 60px; } + .m-b-80 { + margin-bottom: 60px; } + .m-l-80 { + margin-left: 60px; } + .m-r-80 { + margin-right: 60px; } + .m-t-90 { + margin-top: 70px; } + .m-b-90 { + margin-bottom: 70px; } + .m-l-90 { + margin-left: 70px; } + .m-r-90 { + margin-right: 70px; } } + +body { + font-family: "Poppins", sans-serif; + font-size: 16px; + line-height: 1.6; + font-weight: 400; + color: #0d1b33; } + +::-webkit-input-placeholder { + font-size: 1.6; + line-height: 1.6; + color: #777777; + font-weight: 400; } + +:-moz-placeholder { + font-size: 1.6; + line-height: 1.6; + color: #777777; + font-weight: 400; } + +::-moz-placeholder { + font-size: 1.6; + line-height: 1.6; + color: #777777; + font-weight: 400; } + +:-ms-input-placeholder { + font-size: 1.6; + line-height: 1.6; + color: #777777; + font-weight: 400; } + +h1, .heading-1 { + font-size: 40px; } + @media (max-width: 768px) { + h1, .heading-1 { + font-size: 25px; } } + +h2, .heading-2 { + font-size: 32px; } + @media (max-width: 768px) { + h2, .heading-2 { + font-size: 17px; } } + +h3, .heading-3 { + font-size: 28px; } + +h4, .heading-4 { + font-size: 24px; } + +h5, .heading-5 { + font-size: 20px; } + +h6, .heading-6 { + font-size: 16px; } + +h1, h2, h3, h4, h5, h6, +.heading-1, .heading-2, +.heading-3, .heading-4, +.heading-5, .heading-6 { + line-height: 1.4; + color: #041e49; } + +h1, h2, h3, h4, h5, h6 { + font-family: "Poppins", sans-serif; + font-weight: 400; } + +.heading-1, .heading-2, +.heading-3, .heading-4, +.heading-5, .heading-6 { + font-family: "Poppins", sans-serif; + font-weight: 600; } + +h1 a, h2 a, h3 a, h4 a, h5 a, h6 a { + color: #041e49; } + +.big-font1, .big-font2, .big-font3 { + line-height: 1.2; + font-weight: 700; } + +.big-font1 { + font-size: 60px; } + @media (min-width: 992px) and (max-width: 1200px) { + .big-font1 { + font-size: 45px; } } + @media (min-width: 768px) and (max-width: 992px) { + .big-font1 { + font-size: 40px; } } + @media (max-width: 768px) { + .big-font1 { + font-size: 35px; } } + +.big-font2 { + font-size: 48px; } + @media (min-width: 992px) and (max-width: 1200px) { + .big-font2 { + font-size: 33px; } } + @media (min-width: 768px) and (max-width: 992px) { + .big-font2 { + font-size: 28px; } } + @media (max-width: 768px) { + .big-font2 { + font-size: 28px; } } + +.big-font3 { + font-size: 40px; } + @media (min-width: 992px) and (max-width: 1200px) { + .big-font3 { + font-size: 25px; } } + @media (min-width: 768px) and (max-width: 992px) { + .big-font3 { + font-size: 25px; } } + @media (max-width: 768px) { + .big-font3 { + font-size: 25px; } } + +.big-font4 { + font-size: 24px; } + @media (min-width: 992px) and (max-width: 1200px) { + .big-font4 { + font-size: 9px; } } + @media (min-width: 768px) and (max-width: 992px) { + .big-font4 { + font-size: 4px; } } + @media (max-width: 768px) { + .big-font4 { + font-size: 4px; } } + +small, +.small { + font-size: 14px; + font-weight: 400; } + +.font-weight-bold { + font-weight: 700 !important; } + +.weight-semibold { + font-weight: 600 !important; } + +.weight-medium { + font-weight: 500 !important; } + +.weight-normal { + font-weight: 400 !important; } + +.weight-light { + font-weight: 300 !important; } + +.white-all h1, .white-all h2, .white-all h3, .white-all h4, .white-all h5, .white-all h6, .white-all p, .white-all a, .white-all span, .white-all label, .white-all input, .white-all textarea, .white-all em, .white-all b, .white-all * { + color: #ffffff !important; } + +.white-text { + color: #ffffff !important; } + +/* ============================================== + +1. Bg Color + +============================================== */ +.bg-color1 { + background-color: #ffffff; } + +.bg-color2 { + background-color: #216ae6; } + +.bg-color3 { + background-color: #4986ee; } + +.bg-color4 { + background-color: #fafcff; } + +.bg-overlay:before { + content: ''; + position: absolute; + left: 0; + right: 0; + top: 0; + bottom: 0; + background-color: #216ae6; + opacity: 0.95; + z-index: 1; } + +.social-color1 { + color: #3c5a98; } + +.social-color2 { + color: #4f7ea6; } + +.social-color3 { + color: #29a8eb; } + +.social-color4 { + color: #563ACC; } + +div[class*="-wrapper"] { + position: relative; + z-index: 3; } + +/* ============================================== + +2. Bg Image + +============================================== */ +.bg-image1 { + background: #ffffff url("../images/watch-video-bg.jpg") no-repeat fixed center/cover; } + +.bg-image2 { + background: #ffffff url("../images/bg-image1.jpg") no-repeat fixed center/cover; } + +.bg-image3 { + background: #ffffff url("../images/watch-video-bg.jpg") no-repeat fixed center/cover; } + +/* ============================================== + +3. Form & Button + +============================================== */ +form, +fieldset { + padding: 0; + margin: 0; } + +input[type='text'], +input[type='tel'], +input[type='email'], +input[type='search'], +input[type='password'], +textarea[class], select { + -webkit-transition: all 500ms ease; + -o-transition: all 500ms ease; + transition: all 500ms ease; + font-size: inherit; + padding: 15px 20px; + border-radius: 4px; + color: inherit; + background-color: transparent; + border: 1px solid #e3e3e3; } + input[type='text']:focus, input[type='text']:hover, input[type='text']:active, + input[type='tel']:focus, + input[type='tel']:hover, + input[type='tel']:active, + input[type='email']:focus, + input[type='email']:hover, + input[type='email']:active, + input[type='search']:focus, + input[type='search']:hover, + input[type='search']:active, + input[type='password']:focus, + input[type='password']:hover, + input[type='password']:active, + textarea[class]:focus, + textarea[class]:hover, + textarea[class]:active, select:focus, select:hover, select:active { + color: inherit; + background-color: #ffffff; + border: 1px solid #216ae6; } + +button, +input[type='button'], +input[type='reset'], +input[type='file'], +input[type='submit'] { + -webkit-transition: all 500ms ease; + -o-transition: all 500ms ease; + transition: all 500ms ease; + font-size: 16px; + padding: 10px 30px; + border-radius: 4px; + color: #ffffff; + background-color: #2e75d8; + border: 1px solid #216ae6; } + button:focus, button:hover, button:active, + input[type='button']:focus, + input[type='button']:hover, + input[type='button']:active, + input[type='reset']:focus, + input[type='reset']:hover, + input[type='reset']:active, + input[type='file']:focus, + input[type='file']:hover, + input[type='file']:active, + input[type='submit']:focus, + input[type='submit']:hover, + input[type='submit']:active { + color: #216ae6; + background-color: #f5f5f5; + border: 1px solid #216ae6; } + +/* ============================================== + +4. Section & Inner Title + +============================================== */ +.section-title { + position: relative; + bottom: 9px; } + .section-title h2 { + margin-bottom: 30px; + font-weight: 600; } + @media (min-width: 768px) and (max-width: 992px) { + .section-title h2 { + margin-bottom: 20px; } } + @media (max-width: 768px) { + .section-title h2 { + margin-bottom: 20px; } } + @media (min-width: 992px) and (max-width: 1200px) { + .section-title { + bottom: 5px; } } + @media (min-width: 768px) and (max-width: 992px) { + .section-title { + bottom: 2px; } } + @media (max-width: 768px) { + .section-title { + bottom: 0px; } } + +.inner-title { + margin-bottom: 20px; } + .inner-title h3, .inner-title h4, .inner-title h5, .inner-title h6 { + margin: 0; } + +/* ============================================== + +5. Shape Animation + +============================================== */ +.cutter-ani .shape-one { + position: absolute; + left: 9%; + top: 28%; + -webkit-animation: animationFramesOne 25s alternate infinite linear; + animation: animationFramesOne 25s alternate infinite linear; } + +.cutter-ani .shape-two { + position: absolute; + left: 38%; + bottom: 25%; + -webkit-animation: animationFramesTwo 35s alternate infinite linear; + animation: animationFramesTwo 35s alternate infinite linear; } + +.cutter-ani .shape-tree { + position: absolute; + bottom: 60%; + right: 10%; + -webkit-animation: animationFramesFour 20s infinite linear; + animation: animationFramesFour 20s infinite linear; } + +.cutter-ani .shape-four { + position: absolute; + bottom: 10%; + right: 40%; + -webkit-animation: rotated 20s infinite linear; + animation: rotated 20s infinite linear; } + +.cutter-ani .shape-five { + position: absolute; + bottom: 20%; + left: 10%; + -webkit-animation: animationFramesFive 20s infinite linear; + animation: animationFramesFive 20s infinite linear; } + +.cutter-ani .shape-six { + position: absolute; + -webkit-animation: rotated 50s infinite linear; + animation: rotated 50s infinite linear; } + +@media (max-width: 768px) { + .cutter-ani { + display: none; } } + +/* ============================================== + +6. Header Area + +============================================== */ +.main-area { + overflow: hidden; } + +.header-area { + margin-bottom: 455px; } + .header-area:before { + content: ""; + height: 700px; + border-bottom-left-radius: 220px; + border-bottom-right-radius: 270px; + background: #216ae6; + display: block; + position: absolute; + -webkit-transform: skewY(6deg); + -ms-transform: skewY(6deg); + transform: skewY(6deg); + left: -50px; + right: -70px; + bottom: -250px; + z-index: 1; } + @media (min-width: 992px) and (max-width: 1200px) { + .header-area:before { + bottom: -190px; + border-bottom-left-radius: 200px; + border-bottom-right-radius: 200px; } } + @media (min-width: 768px) and (max-width: 992px) { + .header-area:before { + display: none; } } + @media (max-width: 768px) { + .header-area:before { + display: none; } } + .header-area .header-banner { + padding: 180px 50px 0px 0px; + z-index: 3; + position: relative; } + @media (min-width: 992px) and (max-width: 1200px) { + .header-area .header-banner { + padding: 100px 0px 0px 0px; } } + @media (min-width: 768px) and (max-width: 992px) { + .header-area .header-banner { + padding: 70px 0px 100px 0px; } } + @media (max-width: 768px) { + .header-area .header-banner { + padding: 60px 0px 80px 0px; } } + @media (min-width: 992px) and (max-width: 1200px) { + .header-area { + margin-bottom: 228px; } } + @media (min-width: 768px) and (max-width: 992px) { + .header-area { + margin: 0; } } + @media (max-width: 768px) { + .header-area { + margin: 0; } } + +.page-area { + margin-bottom: 205px; } + @media (min-width: 992px) and (max-width: 1200px) { + .page-area { + margin-bottom: 213px; } } + @media (min-width: 768px) and (max-width: 992px) { + .page-area { + margin: 0; } } + @media (max-width: 768px) { + .page-area { + margin: 0; } } + .page-area:before { + bottom: -130px; + border-bottom-left-radius: 170px; + border-bottom-right-radius: 150px; } + @media (min-width: 992px) and (max-width: 1200px) { + .page-area:before { + bottom: -170px; } } + @media (min-width: 768px) and (max-width: 992px) { + .page-area:before { + bottom: -170px; } } + @media (max-width: 768px) { + .page-area:before { + bottom: -170px; } } + .page-area .header-page-title { + padding-top: 100px; } + @media (min-width: 768px) and (max-width: 992px) { + .page-area .header-page-title { + padding-top: 70px; } } + @media (max-width: 768px) { + .page-area .header-page-title { + padding-top: 50px; } } + .page-area .header-shape .left { + left: -190px; + top: -770px; } + @media (min-width: 992px) and (max-width: 1200px) { + .page-area .header-shape .left { + left: -100px; + top: -305px; + width: 470px; } } + @media (min-width: 768px) and (max-width: 992px) { + .page-area .header-shape .left { + left: -120px; + top: -300px; + width: 470px; } } + @media (max-width: 768px) { + .page-area .header-shape .left { + left: -140px; + top: -220px; + width: 470px; } } + .page-area .header-shape .right { + right: -670px; + top: -610px; } + @media (min-width: 992px) and (max-width: 1200px) { + .page-area .header-shape .right { + right: -250px; + top: -90px; + width: 480px; } } + @media (min-width: 768px) and (max-width: 992px) { + .page-area .header-shape .right { + right: -250px; + top: -180px; + width: 480px; } } + @media (max-width: 768px) { + .page-area .header-shape .right { + right: -250px; + top: -90px; + width: 480px; } } + +.header-shape { + position: absolute; + left: 0; + right: 0; + top: 0; + z-index: 2; } + .header-shape .left { + position: absolute; + left: -190px; + top: -690px; } + @media (min-width: 992px) and (max-width: 1200px) { + .header-shape .left { + left: -140px; + top: -220px; + width: 470px; } } + @media (min-width: 768px) and (max-width: 992px) { + .header-shape .left { + left: -80px; + top: -220px; + width: 400px; } } + .header-shape .right { + position: absolute; + right: -640px; + top: -610px; } + @media (min-width: 992px) and (max-width: 1200px) { + .header-shape .right { + right: -295px; + top: -90px; + width: 600px; } } + @media (min-width: 768px) and (max-width: 992px) { + .header-shape .right { + right: -250px; + top: -90px; + width: 480px; } } + .header-shape img { + max-width: 100%; } + @media (min-width: 768px) and (max-width: 992px) { + .header-shape img { + max-width: 80%; } } + @media (max-width: 768px) { + .header-shape img { + max-width: 80%; } } + @media (max-width: 768px) { + .header-shape { + display: none; } } + +.header-nav { + padding-top: 70px; + display: table; + width: 100%; + position: relative; + z-index: 10; } + @media (min-width: 768px) and (max-width: 992px) { + .header-nav { + padding-top: 30px; } } + @media (max-width: 768px) { + .header-nav { + padding-top: 30px; } } + .header-nav .cutter-navbar { + padding: 0; } + .header-nav .header-logo { + padding: 15px 0; + float: left; } + .header-nav .cutter-navbar { + float: right; } + @media (min-width: 768px) and (max-width: 992px) { + .header-nav .cutter-navbar { + float: none; } } + @media (max-width: 768px) { + .header-nav .cutter-navbar { + float: none; } } + @media (min-width: 768px) and (max-width: 992px) { + .header-nav .main-menu { + position: absolute; + left: 0; + right: 0; + background-color: #ffffff; + -webkit-box-shadow: 0 0 20px 0 rgba(25, 100, 227, 0.06); + box-shadow: 0 0 20px 0 rgba(25, 100, 227, 0.06); + border-radius: 5px; + top: 0; } } + @media (max-width: 768px) { + .header-nav .main-menu { + position: absolute; + left: 0; + right: 0; + background-color: #ffffff; + -webkit-box-shadow: 0 0 20px 0 rgba(25, 100, 227, 0.06); + box-shadow: 0 0 20px 0 rgba(25, 100, 227, 0.06); + border-radius: 5px; + top: 0; } } + .header-nav .main-menu li { + border: 0 !important; + background-color: transparent; } + .header-nav .main-menu li a { + padding: 15px 15px 15px 15px; + color: #ffffff; } + @media (min-width: 768px) and (max-width: 992px) { + .header-nav .main-menu li a { + color: #0d1b33; } } + @media (max-width: 768px) { + .header-nav .main-menu li a { + color: #0d1b33; } } + .header-nav .main-menu li.has-submenu a { + padding: 15px 30px 15px 15px; } + .header-nav .main-menu li.has-submenu ul li { + background-color: #ffffff; } + .header-nav .main-menu li.has-submenu ul li a { + color: #0d1b33; + padding: 15px 15px; + -webkit-transition: all 500ms ease; + -o-transition: all 500ms ease; + transition: all 500ms ease; } + .header-nav .main-menu li.has-submenu ul li a:hover { + text-indent: 2px; + color: #216ae6; } + .header-nav .main-menu li.has-submenu > ul:before { + content: ""; + background-color: #ffffff; + width: 15px; + height: 15px; + display: block; + position: relative; + left: 10px; + top: 10px; + -webkit-transform: rotate(45deg); + -ms-transform: rotate(45deg); + transform: rotate(45deg); } + @media (min-width: 768px) and (max-width: 992px) { + .header-nav .main-menu li.has-submenu > ul:before { + display: none; } } + @media (max-width: 768px) { + .header-nav .main-menu li.has-submenu > ul:before { + display: none; } } + .header-nav .main-menu li .sub-toggle { + background: transparent; + width: 20px; } + .header-nav .main-menu li .sub-toggle i:before { + font-family: "Font Awesome 5 Free"; + font-weight: 900; + content: "\f107"; + position: absolute; + color: #ffffff; + font-style: normal; } + @media (max-width: 768px) { + .header-nav .main-menu li .sub-toggle i:before { + color: #041e49; } } + @media (min-width: 768px) and (max-width: 992px) { + .header-nav .main-menu li .sub-toggle i:before { + color: #041e49; } } + @media (min-width: 768px) and (max-width: 992px) { + .header-nav .main-menu li .sub-toggle { + width: 45px; + height: 100% !important; } } + @media (max-width: 768px) { + .header-nav .main-menu li .sub-toggle { + width: 45px; + height: 100% !important; } } + .header-nav .main-menu li a:hover, .header-nav .main-menu li a:focus { + background-color: transparent; + color: #ffffff; } + @media (min-width: 768px) and (max-width: 992px) { + .header-nav .main-menu li a:hover, .header-nav .main-menu li a:focus { + color: #216ae6; } } + @media (max-width: 768px) { + .header-nav .main-menu li a:hover, .header-nav .main-menu li a:focus { + color: #216ae6; } } + .header-nav .main-menu li .sub-toggle i { + color: transparent; + position: relative; } + .header-nav .main-menu li.has-submenu ul { + position: absolute; + min-width: 180px; } + .header-nav .main-menu li.has-submenu ul li { + float: none; + display: block; } + .header-nav .menu-collapser .collapse-button { + top: -38px; } + .header-nav .menu-collapser .collapse-button .icon-bar { + background-color: #ffffff; } + @media (min-width: 768px) and (max-width: 992px) { + .header-nav .col-lg-10 { + position: static; } } + @media (max-width: 768px) { + .header-nav .col-lg-10 { + position: static; } } + +@-webkit-keyframes banner-mockup { + 0% { + -webkit-transform: translateY(8px); + transform: translateY(8px); } + 50% { + -webkit-transform: translateY(4px); + transform: translateY(4px); } + 100% { + -webkit-transform: translateY(8px); + transform: translateY(8px); } } + +@keyframes banner-mockup { + 0% { + -webkit-transform: translateY(8px); + transform: translateY(8px); } + 50% { + -webkit-transform: translateY(4px); + transform: translateY(4px); } + 100% { + -webkit-transform: translateY(8px); + transform: translateY(8px); } } + +@-webkit-keyframes banner-mockup-sink { + 100% { + -webkit-transform: translateY(8px); + transform: translateY(8px); } } + +@keyframes banner-mockup-sink { + 100% { + -webkit-transform: translateY(8px); + transform: translateY(8px); } } + +.header-banner .banner-content { + padding-right: 30px; + position: relative; + z-index: 2; } + @media (min-width: 768px) and (max-width: 992px) { + .header-banner .banner-content { + padding-right: 0; } } + @media (max-width: 768px) { + .header-banner .banner-content { + padding-right: 0; } } + +.header-banner .banner-mockup { + z-index: 2; + position: absolute; + -webkit-animation-name: banner-mockup-sink, banner-mockup; + animation-name: banner-mockup-sink, banner-mockup; + -webkit-animation-duration: .3s, 1.5s; + animation-duration: .3s, 1.5s; + -webkit-animation-delay: 0s, .3s; + animation-delay: 0s, .3s; + -webkit-animation-timing-function: ease-out, ease-in-out; + animation-timing-function: ease-out, ease-in-out; + -webkit-animation-iteration-count: 1, infinite; + animation-iteration-count: 1, infinite; + -webkit-animation-fill-mode: forwards; + animation-fill-mode: forwards; + -webkit-animation-direction: normal, alternate; + animation-direction: normal, alternate; } + @media (max-width: 768px) { + .header-banner .banner-mockup { + display: none; } } + @media (min-width: 992px) and (max-width: 1200px) { + .header-banner .banner-mockup { + margin: 0; } + .header-banner .banner-mockup img { + max-width: 100%; } } + @media (min-width: 768px) and (max-width: 992px) { + .header-banner .banner-mockup { + margin: 0; } + .header-banner .banner-mockup img { + max-width: 100%; } } + +.header-banner .banner-btn li { + margin-right: 20px; + margin-bottom: 10px; } + .header-banner .banner-btn li:last-child { + margin: 0; } + @media (max-width: 576px) { + .header-banner .banner-btn li { + display: block; + margin-right: 0; } + .header-banner .banner-btn li a { + display: block; } } + +.header-page-title { + position: relative; + z-index: 3; + padding-top: 160px; } + .header-page-title .page-post-date { + margin: 0; } + .header-page-title .page-post-date li { + margin-right: 20px; } + .header-page-title .page-post-date li img { + margin-right: 10px; + width: 15px; + height: 15px; + -o-object-fit: contain; + object-fit: contain; } + .header-page-title .author-name img { + width: 65px; + height: 65px; + border-radius: 50px; + margin-bottom: 20px; + -o-object-fit: cover; + object-fit: cover; } + .header-page-title .author-name .social-link { + margin: 0; + margin-top: 10px; } + @media (max-width: 768px) { + .header-page-title { + padding-top: 60px; + padding-bottom: 90px; } } + @media (min-width: 768px) and (max-width: 992px) { + .header-page-title { + padding-top: 80px; + padding-bottom: 100px; } } + +.dwn-btn1 { + font-size: 20px; + padding: 16px 20px; + border-radius: 4px; + color: #216ae6; + background-color: #ffffff; + border: 1px solid #ffffff; } + .dwn-btn1:focus, .dwn-btn1:hover, .dwn-btn1:active { + color: #216ae6; + background-color: #f5f5f5; + border: 1px solid #ffffff; } + .dwn-btn1 span { + margin-left: 10px; } + .dwn-btn1 img { + height: 20px; + width: 20px; + -o-object-fit: contain; + object-fit: contain; } + +.dwn-btn2 { + font-size: 20px; + padding: 15px 20px; + border-radius: 4px; + color: #ffffff; + background-color: transparent; + border: 1px solid #ffffff; } + .dwn-btn2:focus, .dwn-btn2:hover, .dwn-btn2:active { + color: #ffffff; + background-color: #000000; + border: 1px solid #000000; } + .dwn-btn2 span { + margin-left: 10px; + vertical-align: middle; } + .dwn-btn2 img { + height: 20px; + width: 20px; + -o-object-fit: contain; + object-fit: contain; } + +/* ============================================== + +7. Service Area + +============================================== */ +.line-color1 { + background-color: #fec2c2; } + +.line-color2 { + background-color: #b0ffca; } + +.line-color3 { + background-color: #d8c8fc; } + +.service-box { + text-align: center; + margin-bottom: 30px; } + .service-box .service-logo { + padding: 21px 5px; + width: 85px; + height: 85px; + border-radius: 50px; + -webkit-box-shadow: 0 0 10px 0 rgba(25, 100, 227, 0.1); + box-shadow: 0 0 10px 0 rgba(25, 100, 227, 0.1); + display: block; + text-align: center; + vertical-align: middle; + margin: auto auto 30px; + -webkit-transition: all 500ms ease; + -o-transition: all 500ms ease; + transition: all 500ms ease; } + .service-box .service-content h5, .service-box .service-content h4, .service-box .service-content h3 { + margin-bottom: 20px; } + .service-box .service-content p { + margin-bottom: 30px; } + .service-box .service-line { + position: relative; + width: 2px; + height: 70px; + display: block; + top: 0; + margin: auto auto 0; + -webkit-transition: all 500ms ease; + -o-transition: all 500ms ease; + transition: all 500ms ease; } + .service-box:hover .service-logo { + -webkit-box-shadow: 0 0 20px 0 rgba(25, 100, 227, 0.06); + box-shadow: 0 0 20px 0 rgba(25, 100, 227, 0.06); } + .service-box:hover .service-line { + top: -15px; } + +/* ============================================== + +8. Feature Area + +============================================== */ +.feature-box { + overflow: hidden; + position: relative; + -webkit-box-shadow: 0 0 20px 0 rgba(25, 100, 227, 0.06); + box-shadow: 0 0 20px 0 rgba(25, 100, 227, 0.06); + padding: 90px 30px 70px; + margin-bottom: 30px; + text-align: center; + border-radius: 5px; + -webkit-transition: all 500ms ease; + -o-transition: all 500ms ease; + transition: all 500ms ease; } + .feature-box .feature-logo { + width: 85px; + height: 85px; + -webkit-box-shadow: 0 0 10px 0 rgba(25, 100, 227, 0.1); + box-shadow: 0 0 10px 0 rgba(25, 100, 227, 0.1); + border-radius: 50px; + margin: auto auto 30px; + padding: 21px 5px; + -webkit-transition: all 500ms ease; + -o-transition: all 500ms ease; + transition: all 500ms ease; } + .feature-box:after { + content: ""; + width: 170px; + height: 1px; + display: block; + background: #6d49bf; + opacity: 0.14; + position: absolute; + top: 50px; + left: 30px; } + @media (min-width: 768px) and (max-width: 992px) { + .feature-box:after { + display: none; } } + .feature-box:before { + content: ""; + width: 1px; + height: 170px; + display: block; + background: #6d49bf; + opacity: 0.14; + position: absolute; + top: 30px; + left: 50px; } + @media (min-width: 768px) and (max-width: 992px) { + .feature-box:before { + display: none; } } + .feature-box .feature-content h3, .feature-box .feature-content h4, .feature-box .feature-content h5 { + margin-bottom: 20px; } + .feature-box .feature-content p { + margin: 0; } + .feature-box .feature-shape { + width: 100%; + height: 110px; + background: #ffffff; + opacity: 0.03; + display: block; + border-radius: 50px; + position: absolute; + top: -8px; + right: -140px; + -webkit-transform: rotate(-55deg); + -ms-transform: rotate(-55deg); + transform: rotate(-55deg); } + .feature-box:hover { + background-color: #216ae6; } + .feature-box:hover * { + color: #ffffff; } + .feature-box:hover .feature-logo { + background-color: #ffffff; } + .feature-box:hover:before { + background-color: #ffffff; + opacity: 0.15; } + .feature-box:hover:after { + background-color: #ffffff; + opacity: 0.15; } + @media (min-width: 768px) and (max-width: 992px) { + .feature-box { + padding: 40px 15px; } } + +.feature-img { + margin-bottom: 30px; } + @media (min-width: 768px) and (max-width: 992px) { + .feature-img .image-mockup { + max-width: 500px; } } + @media (max-width: 768px) { + .feature-img .image-mockup { + max-width: 380px; } } + +/* ============================================== + +9. Watch Video Area + +============================================== */ +.watch-video-play { + position: relative; + margin-top: 240px; } + .watch-video-play img { + max-width: 100%; + border-radius: 5px; } + @media (min-width: 768px) and (max-width: 992px) { + .watch-video-play { + margin-top: 0; + margin-bottom: 30px; + padding-right: 15px; } } + @media (max-width: 768px) { + .watch-video-play { + margin-top: 0; + margin-bottom: 30px; + padding-right: 15px; } } + .watch-video-play .play-btn { + padding: 29px 10px; + display: block; + text-align: center; + width: 90px; + height: 90px; + border-radius: 50px; + background: #ffffff; + cursor: pointer; + -webkit-box-shadow: 0 0 0 rgba(255, 255, 255, 0.8); + box-shadow: 0 0 0 rgba(255, 255, 255, 0.8); + -webkit-animation: play-btn 1.5s infinite; + animation: play-btn 1.5s infinite; + position: absolute; + top: 0; + right: 0; + left: 0; + bottom: 0; + margin: auto; } + .watch-video-play .play-btn i { + font-size: 32px; } + .watch-video-play .play-btn:hover { + -webkit-animation: none; + animation: none; } + +@-webkit-keyframes play-btn { + 0% { + -webkit-box-shadow: 0 0 0 0 rgba(255, 255, 255, 0.4); + box-shadow: 0 0 0 0 rgba(255, 255, 255, 0.4); } + 70% { + -webkit-box-shadow: 0 0 0 15px rgba(255, 255, 255, 0); + box-shadow: 0 0 0 15px rgba(255, 255, 255, 0); } + 100% { + -webkit-box-shadow: 0 0 0 0 rgba(255, 255, 255, 0); + box-shadow: 0 0 0 0 rgba(255, 255, 255, 0); } } + +@keyframes play-btn { + 0% { + -webkit-box-shadow: 0 0 0 0 rgba(255, 255, 255, 0.4); + box-shadow: 0 0 0 0 rgba(255, 255, 255, 0.4); } + 70% { + -webkit-box-shadow: 0 0 0 15px rgba(255, 255, 255, 0); + box-shadow: 0 0 0 15px rgba(255, 255, 255, 0); } + 100% { + -webkit-box-shadow: 0 0 0 0 rgba(255, 255, 255, 0); + box-shadow: 0 0 0 0 rgba(255, 255, 255, 0); } } + +.watch-video-content .watch-video-top { + background-color: #4986ee; + border-top-left-radius: 5px; + border-top-right-radius: 5px; + padding: 30px; } + .watch-video-content .watch-video-top h2 { + margin: 0; } + @media (min-width: 768px) and (max-width: 992px) { + .watch-video-content .watch-video-top { + padding: 20px; } } + @media (max-width: 768px) { + .watch-video-content .watch-video-top { + padding: 20px; } } + +.watch-video-content .watch-video-bottom { + border-bottom-left-radius: 5px; + border-bottom-right-radius: 5px; + background-color: #ffffff; + padding: 30px; } + .watch-video-content .watch-video-bottom p { + margin: 0; } + @media (min-width: 768px) and (max-width: 992px) { + .watch-video-content .watch-video-bottom { + padding: 30px; } } + @media (max-width: 768px) { + .watch-video-content .watch-video-bottom { + padding: 30px; } } + +@media (min-width: 768px) and (max-width: 992px) { + .watch-video-content { + padding-left: 15px; } } + +@media (max-width: 768px) { + .watch-video-content { + padding-left: 15px; } } + +.watch-arrow { + margin: 20px; } + @media (min-width: 768px) and (max-width: 992px) { + .watch-arrow { + display: none; } } + @media (max-width: 768px) { + .watch-arrow { + display: none; } } + +/* ============================================== + +10. Apps Screenshot Area + +============================================== */ +.apps-screenshot-img img { + position: relative; + max-width: 100%; } + @media (min-width: 992px) and (max-width: 1200px) { + .apps-screenshot-img img { + margin-left: 0; + max-width: 100%; } } + @media (min-width: 768px) and (max-width: 992px) { + .apps-screenshot-img img { + margin-left: 0; + max-width: 100%; + margin-bottom: 30px; } } + @media (max-width: 768px) { + .apps-screenshot-img img { + margin-left: 0; + max-width: 100%; + margin-bottom: 30px; } } + +.screenshot-list { + position: relative; } + .screenshot-list li { + padding-left: 25px; + margin-bottom: 5px; } + .screenshot-list li:before { + font-family: "Font Awesome 5 Free"; + font-weight: 900; + content: "\f068"; + position: absolute; + left: 0; + color: #216ae6; } + +.screenshot-content { + margin-bottom: 30px; } + +.swiper-container { + margin-bottom: 30px; } + +.apps-download-link p { + color: #041e49; } + +/* ============================================== + +11. Apps Store Area + +============================================== */ +.download-list { + position: relative; } + .download-list li { + padding-left: 20px; + margin-bottom: 5px; } + .download-list li:before { + font-family: "Font Awesome 5 Free"; + font-weight: 900; + content: "\f111"; + font-size: 8px; + position: absolute; + line-height: 30px; + left: 0; + color: #216ae6; } + +.cutter-graph-img img { + z-index: 2; + position: relative; } + @media (min-width: 992px) and (max-width: 1200px) { + .cutter-graph-img img { + max-width: 380px; } } + @media (min-width: 768px) and (max-width: 992px) { + .cutter-graph-img img { + max-width: 380px; } } + @media (max-width: 768px) { + .cutter-graph-img img { + max-width: 380px; } } + +@media (max-width: 768px) { + .cutter-graph-img { + margin-bottom: 30px; } } + +.download-btn li { + margin-top: 10px; } + @media (max-width: 576px) { + .download-btn li { + display: block; + float: none; + margin-right: 0 !important; } + .download-btn li a { + width: 100%; } } + +.shape-six { + bottom: 0; + right: -650px; } + @media (min-width: 992px) and (max-width: 1200px) { + .shape-six { + right: -350px; + max-width: 480px; } } + @media (min-width: 768px) and (max-width: 992px) { + .shape-six { + right: -407px; + max-width: 480px; } } + +/* ============================================== + +12. Testimonial Area + +============================================== */ +.testimonial-thumbs { + width: 100%; + height: 100%; + position: relative; + margin: 0; + min-height: 350px; } + .testimonial-thumbs li { + width: 100%; + -o-object-fit: cover; + object-fit: cover; + width: 80px; + height: 80px; + border-radius: 50px; + overflow: hidden; + position: absolute; + top: 0; + left: 0; + bottom: 0; + right: 0; + margin: auto; + cursor: pointer; + -webkit-box-shadow: 0 0 10px 0 rgba(25, 100, 227, 0.1); + box-shadow: 0 0 10px 0 rgba(25, 100, 227, 0.1); } + .testimonial-thumbs li img { + -o-object-fit: cover; + object-fit: cover; + width: 80px; + height: 80px; } + .testimonial-thumbs li:before { + content: ""; + position: absolute; + top: 0; + left: 0; + bottom: 0; + right: 0; + z-index: 2; + background: #216ae6; + opacity: 0; + -webkit-transition: all 500ms ease; + -o-transition: all 500ms ease; + transition: all 500ms ease; } + .testimonial-thumbs .active:before { + opacity: 0.5; } + .testimonial-thumbs li:nth-child(1) { + left: -270px; + top: -267px; } + @media (min-width: 768px) and (max-width: 992px) { + .testimonial-thumbs li:nth-child(1) { + left: -150px; } } + .testimonial-thumbs li:nth-child(2) { + left: 270px; + top: -180px; } + @media (min-width: 768px) and (max-width: 992px) { + .testimonial-thumbs li:nth-child(2) { + left: 180px; } } + .testimonial-thumbs li:nth-child(3) { + left: -270px; + top: 120px; } + @media (min-width: 768px) and (max-width: 992px) { + .testimonial-thumbs li:nth-child(3) { + left: -145px; + top: 220px; } } + .testimonial-thumbs li:nth-child(4) { + right: -210px; + top: 270px; } + .testimonial-thumbs li:nth-child(5) { + width: 60px; + height: 60px; } + .testimonial-thumbs li:nth-child(5) img { + width: 60px; + height: 60px; } + +.testimonial-slider .author-content { + position: relative; + -webkit-box-shadow: 0 0 30px 0px rgba(25, 100, 227, 0.07); + box-shadow: 0 0 30px 0px rgba(25, 100, 227, 0.07); + padding: 60px 70px 70px 70px; + margin: 30px 0; } + .testimonial-slider .author-content:before { + content: ""; + background-image: url(../images/quote-top.png); + width: 90px; + height: 76px; + background-size: cover; + display: block; + position: absolute; + top: -30px; + left: 0; + opacity: 0.3; + z-index: 2; } + .testimonial-slider .author-content:after { + content: ""; + background-image: url(../images/quote-bottom.png); + width: 90px; + height: 75px; + background-size: cover; + display: block; + position: absolute; + bottom: -30px; + right: 0; + opacity: 0.3; + z-index: 2; } + @media (min-width: 768px) and (max-width: 992px) { + .testimonial-slider .author-content { + padding: 30px 30px; + -webkit-box-shadow: 0 0 20px 0 rgba(25, 100, 227, 0.06); + box-shadow: 0 0 20px 0 rgba(25, 100, 227, 0.06); } } + @media (max-width: 768px) { + .testimonial-slider .author-content { + padding: 30px 30px; + -webkit-box-shadow: 0 0 20px 0 rgba(25, 100, 227, 0.06); + box-shadow: 0 0 20px 0 rgba(25, 100, 227, 0.06); } } + +.testimonial-slider .author-desc h2 { + margin-bottom: 40px; + font-weight: 600; } + @media (min-width: 768px) and (max-width: 992px) { + .testimonial-slider .author-desc h2 { + margin-bottom: 30px; } } + @media (max-width: 768px) { + .testimonial-slider .author-desc h2 { + margin-bottom: 30px; } } + +.testimonial-slider .author-desc p { + margin-bottom: 40px; } + +.testimonial-slider .author-name h4, .testimonial-slider .author-name h5 { + margin: 0; } + +.testimonial-slider .author-name a { + color: #041e49; + font-weight: 600; + display: block; + margin-bottom: 5px; } + .testimonial-slider .author-name a:hover { + color: #216ae6; } + +.testimonial-slider .author-name span { + display: block; + font-size: 14px; + font-weight: 400; + color: #0d1b33; } + +.testimonial-slider .owl-dots { + text-align: left; + margin-top: 30px; + margin-bottom: 30px; + padding-left: 15px; } + .testimonial-slider .owl-dots .owl-dot { + width: 15px; + height: 15px; + margin-right: 10px; + border-radius: 50px; + background-color: #fafcff; } + .testimonial-slider .owl-dots .owl-dot.active { + background-color: #216ae6; } + @media (min-width: 992px) and (max-width: 1200px) { + .testimonial-slider .owl-dots { + display: none; } } + @media (min-width: 768px) and (max-width: 992px) { + .testimonial-slider .owl-dots { + display: none; } } + +@media (min-width: 768px) and (max-width: 992px) { + .testimonial-slider { + margin-bottom: 30px; } } + +/* ============================================== + +13. Price Plan Area + +============================================== */ +.price-plan-title { + position: relative; + bottom: 10px; } + .price-plan-title h2 { + font-weight: 600; + margin-bottom: 30px; } + .price-plan-title p { + margin-bottom: 50px; } + @media (min-width: 768px) and (max-width: 992px) { + .price-plan-title p { + margin-bottom: 30px; } } + @media (max-width: 768px) { + .price-plan-title p { + margin-bottom: 30px; } } + @media (min-width: 768px) and (max-width: 992px) { + .price-plan-title { + margin-bottom: 40px; + bottom: 0px; } } + @media (max-width: 768px) { + .price-plan-title { + margin-bottom: 40px; + bottom: 0px; } } + +.price-plan-box { + -webkit-box-shadow: 0 0 10px 0 rgba(25, 100, 227, 0.1); + box-shadow: 0 0 10px 0 rgba(25, 100, 227, 0.1); + border-radius: 5px; + overflow: hidden; + margin-bottom: 30px; } + .price-plan-box .price-title { + display: table; + width: 100%; } + .price-plan-box .price-title .price-curency { + width: 140px; + height: 120px; + background-color: #216ae6; + float: left; } + .price-plan-box .price-title .price-curency p { + font-size: 60px; + font-weight: 300; + color: #ffffff; + margin: 6px 0px; } + .price-plan-box .price-title .price-curency p sup { + font-size: 30px; + top: -25px; + margin-right: 5px; } + @media (min-width: 768px) and (max-width: 992px) { + .price-plan-box .price-title .price-curency p { + font-size: 40px; + margin: 30px 0px; } } + @media (min-width: 768px) and (max-width: 992px) { + .price-plan-box .price-title .price-curency { + width: 100px; } } + .price-plan-box .price-title .price-package { + width: calc(100% - 140px); + height: 120px; + background-color: #fafcff; + float: left; } + .price-plan-box .price-title .price-package h5 { + font-size: 20px; + color: #041e49; + margin: 0; } + @media (min-width: 768px) and (max-width: 992px) { + .price-plan-box .price-title .price-package { + width: calc(100% - 100px); } } + .price-plan-box .price-content { + background-color: #ffffff; + padding: 50px 30px 60px; } + .price-plan-box .price-content .price-list { + margin-bottom: 50px; } + .price-plan-box .price-content .price-list li { + margin-bottom: 15px; } + .price-plan-box .price-content .price-btn { + font-size: 16px; + padding: 15px 40px; + border-radius: 4px; + color: #ffffff; + background-color: #2e75d8; + border: 1px solid #216ae6; } + .price-plan-box .price-content .price-btn:focus, .price-plan-box .price-content .price-btn:hover, .price-plan-box .price-content .price-btn:active { + color: #216ae6; + background-color: #ffffff; + border: 1px solid #216ae6; } + @media (max-width: 576px) { + .price-plan-box .price-content .price-btn { + width: 100%; } } + @media (min-width: 768px) and (max-width: 992px) { + .price-plan-box .price-content { + padding: 30px 15px; } } + @media (max-width: 768px) { + .price-plan-box { + margin-top: 0; } } + +/* ============================================== + +14. Blog Area + +============================================== */ +.blog-area .all-view-btn { + position: absolute; + right: 15px; } + @media (max-width: 768px) { + .blog-area .all-view-btn { + display: none; } } + +.blog-media img { + width: 100%; } + +.blog-post { + margin-bottom: 30px; } + .blog-post .post-img img { + width: 100%; } + .blog-post .post-content { + overflow: hidden; + position: relative; + padding: 60px 50px; + -webkit-box-shadow: 0 0 10px 0 rgba(25, 100, 227, 0.1); + box-shadow: 0 0 10px 0 rgba(25, 100, 227, 0.1); + -webkit-transition: all 500ms ease; + -o-transition: all 500ms ease; + transition: all 500ms ease; + background-color: #ffffff; + width: calc(100% - 60px); + top: 0; + right: -30px; + margin-top: -150px; } + @media (max-width: 768px) { + .blog-post .post-content { + margin: 0; + position: relative; + width: 100%; + margin-top: 0; + padding: 30px 15px; + right: 0; } } + @media (min-width: 768px) and (max-width: 992px) { + .blog-post .post-content { + margin: 0; + position: relative; + width: 100%; + margin-top: 0; + padding: 30px 15px; + right: 0; } } + @media (min-width: 992px) and (max-width: 1200px) { + .blog-post .post-content { + margin: 0; + position: relative; + width: 100%; + margin-top: 0; + padding: 30px 15px; + right: 0; } } + .blog-post .post-content:hover { + -webkit-box-shadow: 0 0 20px 0 rgba(25, 100, 227, 0.06); + box-shadow: 0 0 20px 0 rgba(25, 100, 227, 0.06); } + .blog-post .post-date { + width: 76px; + background-color: #216ae6; + display: block; + position: absolute; + top: 0; + font-weight: 300; + right: 0; + font-size: 40px; + line-height: 30px; + color: #ffffff; + text-align: center; + padding: 15px 10px 10px; } + .blog-post .post-date span { + display: block; + font-size: 16px; } + .blog-post .meta-info { + margin: 0; + margin-top: 10px; } + .blog-post .meta-info li { + font-weight: 300; + margin-right: 20px; + font-size: 14px; } + .blog-post .meta-info li a { + font-size: 14px; + color: #0d1b33; } + .blog-post .meta-info li i { + margin-right: 5px; } + .blog-post .post-author { + display: table; + width: 100%; + margin-bottom: 30px; } + .blog-post .post-author .author-img { + width: 40px; + height: 40px; + border-radius: 30px; + overflow: hidden; + float: left; } + .blog-post .post-author .author-img img { + width: 40px; + height: 40px; + -o-object-fit: cover; + object-fit: cover; } + .blog-post .post-author .author-content { + width: calc(100% - 40px); + padding-left: 10px; + line-height: 18px; + font-weight: 500; + float: left; } + .blog-post .post-author .author-content > a { + display: inline-block; + color: #041e49; + font-weight: 600; } + .blog-post .post-author .author-content > a:hover { + color: #216ae6; } + .blog-post .post-author .author-content span { + font-size: 14px; + font-weight: 400; } + .blog-post .post-desc h5 { + margin-bottom: 30px; } + .blog-post .post-desc p { + margin-bottom: 30px; } + .blog-post .post-desc .post-btn { + color: #216ae6; + padding: 0; + font-weight: 600; } + .blog-post .post-desc .post-btn:hover { + color: #041e49; } + +.reverse-loop > .row > .col-md-6:nth-child(4n + 2) .blog-post, +.reverse-loop > .row > .col-md-6:nth-child(4n + 3) .blog-post { + width: 100%; + height: calc(100% - 30px); } + .reverse-loop > .row > .col-md-6:nth-child(4n + 2) .blog-post .post-img, + .reverse-loop > .row > .col-md-6:nth-child(4n + 3) .blog-post .post-img { + position: absolute; + bottom: 0; } + @media (min-width: 992px) and (max-width: 1200px) { + .reverse-loop > .row > .col-md-6:nth-child(4n + 2) .blog-post .post-img, + .reverse-loop > .row > .col-md-6:nth-child(4n + 3) .blog-post .post-img { + position: relative; } } + @media (min-width: 768px) and (max-width: 992px) { + .reverse-loop > .row > .col-md-6:nth-child(4n + 2) .blog-post .post-img, + .reverse-loop > .row > .col-md-6:nth-child(4n + 3) .blog-post .post-img { + position: relative; } } + @media (max-width: 768px) { + .reverse-loop > .row > .col-md-6:nth-child(4n + 2) .blog-post .post-img, + .reverse-loop > .row > .col-md-6:nth-child(4n + 3) .blog-post .post-img { + position: relative; } } + .reverse-loop > .row > .col-md-6:nth-child(4n + 2) .blog-post .post-content, + .reverse-loop > .row > .col-md-6:nth-child(4n + 3) .blog-post .post-content { + margin-top: 0; + margin-bottom: 150px; } + @media (min-width: 992px) and (max-width: 1200px) { + .reverse-loop > .row > .col-md-6:nth-child(4n + 2) .blog-post .post-content, + .reverse-loop > .row > .col-md-6:nth-child(4n + 3) .blog-post .post-content { + margin-bottom: 0; } } + @media (min-width: 768px) and (max-width: 992px) { + .reverse-loop > .row > .col-md-6:nth-child(4n + 2) .blog-post .post-content, + .reverse-loop > .row > .col-md-6:nth-child(4n + 3) .blog-post .post-content { + margin-bottom: 0; } } + @media (max-width: 768px) { + .reverse-loop > .row > .col-md-6:nth-child(4n + 2) .blog-post .post-content, + .reverse-loop > .row > .col-md-6:nth-child(4n + 3) .blog-post .post-content { + margin-bottom: 0; } } + +.all-view-btn { + display: inline-block; + font-size: inherit; + padding: 15px 40px; + border-radius: 4px; + -webkit-box-shadow: 0 0 10px 0 rgba(25, 100, 227, 0.1); + box-shadow: 0 0 10px 0 rgba(25, 100, 227, 0.1); + color: #216ae6; + background-color: #ffffff; + border: 1px solid #f5f5f5; } + .all-view-btn:focus, .all-view-btn:hover, .all-view-btn:active { + color: inherit; + background-color: #ffffff; + border: 1px solid #216ae6; } + +.author-post { + text-align: center; + margin-bottom: 60px; } + .author-post .author-img { + width: 100px; + height: 100px; + border-radius: 50px; + overflow: hidden; + -webkit-box-shadow: 0 0 10px 0 rgba(25, 100, 227, 0.1); + box-shadow: 0 0 10px 0 rgba(25, 100, 227, 0.1); + -webkit-transition: all 500ms ease; + -o-transition: all 500ms ease; + transition: all 500ms ease; + margin: auto; + margin-bottom: 20px; } + .author-post .author-img img { + width: 100px; + height: 100px; + width: 100%; + -o-object-fit: cover; + object-fit: cover; } + .author-post .author-content h6 { + margin: 0; } + .author-post:hover .author-img { + -webkit-box-shadow: 0 0 20px 0 rgba(25, 100, 227, 0.06); + box-shadow: 0 0 20px 0 rgba(25, 100, 227, 0.06); } + @media (max-width: 768px) { + .author-post { + margin-bottom: 30px; } } + @media (min-width: 768px) and (max-width: 992px) { + .author-post { + margin-bottom: 30px; } } + +.page-navigation .pagination { + margin: 0; } + +.page-navigation li:first-child a, +.page-navigation li:last-child a { + border-radius: 0 !important; } + +.page-navigation li a { + border: 1px solid #f7f7f7; + width: 40px; + height: 40px; + background-color: #fafcff; + margin-right: 20px; + font-size: 20px; + padding: 7px 4px; + text-align: center; } + .page-navigation li a:hover, .page-navigation li a.active { + background-color: #4986ee; + border-color: #4986ee; + color: #ffffff; } + +.entry-content .first-word { + font-size: 70px; + color: #b3cefc; + line-height: 28.8px; } + +.entry-content img { + margin-bottom: 30px; + width: 100%; } + +.entry-content .list-dot li:before { + font-family: "Font Awesome 5 Free"; + font-weight: 400; + content: "\f111"; + margin-right: 15px; + font-size: 12px; + color: #216ae6; } + +.entry-content blockquote { + font-size: 20px; + font-style: italic; + margin: 30px 0; } + +.blog-share-tags { + display: table; + width: 100%; + -webkit-box-shadow: 0 0 20px 0 rgba(25, 100, 227, 0.06); + box-shadow: 0 0 20px 0 rgba(25, 100, 227, 0.06); + padding: 10px 25px; + border-radius: 5px; + border: 1px solid #f5f5f5; } + .blog-share-tags .blog-author-tags { + float: left; } + @media (min-width: 768px) and (max-width: 992px) { + .blog-share-tags .blog-author-tags { + float: none; } } + @media (max-width: 768px) { + .blog-share-tags .blog-author-tags { + float: none; } } + .blog-share-tags .blog-author-tags ul { + margin: 0; } + .blog-share-tags .blog-author-tags ul li:first-child { + color: #041e49; + font-weight: 600; } + .blog-share-tags .blog-author-tags ul li a { + color: #0d1b33; } + .blog-share-tags .blog-author-tags ul li a:hover { + color: #216ae6; } + .blog-share-tags .blog-author-share { + float: right; } + @media (max-width: 768px) { + .blog-share-tags .blog-author-share { + float: none; + margin-top: 10px; } } + @media (min-width: 768px) and (max-width: 992px) { + .blog-share-tags .blog-author-share { + float: none; + margin-top: 10px; } } + .blog-share-tags .blog-author-share ul { + margin: 0; } + .blog-share-tags .blog-author-share ul li { + margin-right: 15px; } + .blog-share-tags .blog-author-share ul li:last-child { + margin: 0; } + .blog-share-tags .blog-author-share ul li a { + color: #0d1b33; + font-size: 14px; } + .blog-share-tags .blog-author-share ul li a:hover { + color: #216ae6; } + +.blog-author-admin { + display: table; + width: 100%; } + .blog-author-admin .author-avatar { + width: 135px; + height: 135px; + float: left; } + .blog-author-admin .author-info { + width: calc(100% - 135px); + padding-left: 25px; + float: left; } + .blog-author-admin .author-info .social-link { + margin: 0; } + .blog-author-admin .author-info .social-link li a { + color: #0d1b33; + font-size: 14px; } + +.page-pagination .pagination { + margin: 0; + width: 100%; } + .page-pagination .pagination .prev, .page-pagination .pagination .next { + border-radius: 5px; + padding: 15px 30px; + -webkit-box-shadow: 0 0 20px 0 rgba(25, 100, 227, 0.06); + box-shadow: 0 0 20px 0 rgba(25, 100, 227, 0.06); + border: 1px solid #f5f5f5; + color: #041e49; } + +.latest-slider { + position: relative; } + .latest-slider .blog-latest .latest-img img { + width: 100%; } + .latest-slider .blog-latest .latest-content { + -webkit-transition: all 500ms ease; + -o-transition: all 500ms ease; + transition: all 500ms ease; + text-align: center; + padding: 20px; + -webkit-box-shadow: 0 0 20px 0 rgba(25, 100, 227, 0.06); + box-shadow: 0 0 20px 0 rgba(25, 100, 227, 0.06); + border-bottom-left-radius: 5px; + border-bottom-right-radius: 5px; + border: 1px solid #f5f5f5; } + .latest-slider .blog-latest:hover .read-more-btn { + color: #041e49; } + .latest-slider .owl-nav { + position: absolute; + left: 0; + right: 0; + bottom: 0; + top: 0; + height: 40px; + margin: auto; } + .latest-slider .owl-nav button.owl-prev span, + .latest-slider .owl-nav button.owl-next span { + font-size: 30px; + line-height: 30px; } + .latest-slider .owl-nav button.owl-prev { + border: transparent; + background-color: #4986ee; + color: #ffffff; + width: 40px; + height: 40px; + margin-left: 15px; + float: left; + border-radius: 50px; + -webkit-box-shadow: 0 0 20px 0 rgba(25, 100, 227, 0.06); + box-shadow: 0 0 20px 0 rgba(25, 100, 227, 0.06); } + .latest-slider .owl-nav button.owl-next { + border: transparent; + background-color: #4986ee; + color: #ffffff; + width: 40px; + height: 40px; + float: right; + margin-right: 15px; + border-radius: 50px; + -webkit-box-shadow: 0 0 20px 0 rgba(25, 100, 227, 0.06); + box-shadow: 0 0 20px 0 rgba(25, 100, 227, 0.06); } + +.comment-wrapper .comments-box { + display: table; + width: 100%; } + .comment-wrapper .comments-box .comment-avatar { + width: 65px; + height: 65px; + -o-object-fit: cover; + object-fit: cover; + float: left; } + .comment-wrapper .comments-box .comment-avatar img { + border-radius: 50px; } + .comment-wrapper .comments-box .comment-content { + width: calc(100% - 65px); + padding-left: 15px; + float: left; } + .comment-wrapper .comments-box .comment-content .comment-date { + font-size: 14px; + font-weight: 400; + color: #0d1b33; } + +#watch-video .modal-content { + border: 0; + -webkit-box-shadow: 0 0 20px 0 rgba(25, 100, 227, 0.06); + box-shadow: 0 0 20px 0 rgba(25, 100, 227, 0.06); } + +#watch-video .modal-header { + border: 0; + padding-bottom: 0; } + +#watch-video [type="button"]:hover { + border: 0; } + +.blog-spacing { + margin-bottom: 60px; } + @media (min-width: 768px) and (max-width: 992px) { + .blog-spacing { + margin-bottom: 30px; } } + @media (max-width: 768px) { + .blog-spacing { + margin-bottom: 30px; } } + +.modal-backdrop.show { + opacity: 1; + background: #ffffff; } + +/* ============================================== + +15. Sidebar Area + +============================================== */ +.sidebar-title { + margin-bottom: 30px; } + +.sidebar-form form { + border: 1px solid #f5f5f5; + border-radius: 5px; } + +.sidebar-form input { + font-size: 16px; + padding: 15px 30px; + border-radius: none; + color: #216ae6; + background-color: transparent; + border: none; } + .sidebar-form input:focus, .sidebar-form input:hover, .sidebar-form input:active { + color: #216ae6; + background-color: transparent; + border: none; } + +.sidebar-form button { + color: #216ae6; + background-color: transparent; + border: none; + font-size: 16px; + padding: 10px 30px; + border-radius: 4px; } + .sidebar-form button:focus, .sidebar-form button:hover, .sidebar-form button:active { + color: #216ae6; + background-color: transparent; + border: none; } + +.sidebar-list ul li { + padding-left: 0; + border: 0; + border-top: 1px solid #f5f5f5; + border-bottom: 1px solid #f5f5f5; } + .sidebar-list ul li:first-child { + border-top: 0; + padding-top: 0; } + .sidebar-list ul li:last-child { + border-bottom: 0; + padding-bottom: 0; } + .sidebar-list ul li a { + color: #0d1b33; } + +.sidebar-blog .sidebar-latest { + display: table; + width: 100%; } + .sidebar-blog .sidebar-latest .latest-img { + width: 65px; + height: 65px; + float: left; } + .sidebar-blog .sidebar-latest .latest-img img { + -o-object-fit: cover; + object-fit: cover; } + .sidebar-blog .sidebar-latest .latest-content { + width: calc(100% - 65px); + padding-left: 15px; + float: left; } + +.sidebar-social-link ul { + margin: 0; } + .sidebar-social-link ul li { + text-align: center; + border: 1px solid #f5f5f5; + border-radius: 5px; + padding: 15px 20px; + margin-bottom: 10px; } + .sidebar-social-link ul li a { + display: inline-block; } + .sidebar-social-link ul li i { + font-size: 25px; } + .sidebar-social-link ul li p { + margin: 0; + font-size: 18px; + color: #041e49; + line-height: 24px; + font-weight: 600; } + .sidebar-social-link ul li p span { + display: block; + color: #0d1b33; + font-weight: 400; + font-size: 16px; } + @media (min-width: 768px) and (max-width: 992px) { + .sidebar-social-link ul li { + padding: 5px 10px; } } + +.sidebar-widget { + margin-bottom: 30px; } + @media (max-width: 768px) { + .sidebar-widget { + margin-bottom: 30px; } } + @media (min-width: 768px) and (max-width: 992px) { + .sidebar-widget { + margin-bottom: 30px; } } + +@media (max-width: 768px) { + .sidebar-right { + margin-top: 60px; } } + +@media (max-width: 768px) { + .sidebar-left { + margin-bottom: 60px; } } + +/* ============================================== + +16. community Area + +============================================== */ +.community-form { + -webkit-box-shadow: 0 0 10px 0 rgba(25, 100, 227, 0.1); + box-shadow: 0 0 10px 0 rgba(25, 100, 227, 0.1); + padding: 40px; + background-color: #ffffff; + border-radius: 5px; } + @media (min-width: 768px) and (max-width: 992px) { + .community-form { + padding: 30px; } } + @media (max-width: 768px) { + .community-form { + padding: 30px; } } + +.community-img img { + max-width: 600px; } + @media (min-width: 768px) and (max-width: 992px) { + .community-img img { + max-width: 400px; } } + @media (min-width: 992px) and (max-width: 1200px) { + .community-img img { + max-width: 500px; } } + @media (min-width: 768px) and (max-width: 992px) { + .community-img img { + max-width: 400px; } } + @media (max-width: 768px) { + .community-img img { + max-width: 100%; + margin-bottom: 30px; } } + +/* ============================================== + +18. Contact Area + +============================================== */ +.contact-info { + text-align: center; + padding: 0 30px; } + .contact-info .info-logo { + position: relative; + width: 90px; + height: 90px; + border-radius: 50px; + -webkit-box-shadow: 0 0 20px 0 rgba(25, 100, 227, 0.06); + box-shadow: 0 0 20px 0 rgba(25, 100, 227, 0.06); + margin: auto; + margin-bottom: 25px; } + .contact-info .info-logo img { + bottom: 0; + width: 30px; + height: 30px; + -o-object-fit: cover; + object-fit: cover; + top: 0; + left: 0; + right: 0; + margin: auto; + position: absolute; } + .contact-info .info-content h5 { + margin-bottom: 15px; } + .contact-info .info-content p a { + color: #0d1b33; } + @media (max-width: 768px) { + .contact-info { + padding-left: 0; + margin-bottom: 30px; + text-align: left; } + .contact-info .info-logo { + margin-left: 0; } } + +@media (max-width: 768px) { + .contact-image img { + max-width: 100%; + margin-top: 30px; } } + +/* ============================================== + +19. Footer Area + +============================================== */ +.scrollToTop { + margin: 0 15px 15px 0; + text-align: center; + text-decoration: none; + position: fixed; + bottom: 0; + background: #ffffff; + right: 0; + width: 40px; + height: 40px; + border-radius: 50px; + text-align: center; + line-height: 40px; + -webkit-box-shadow: 0 0 20px 0 rgba(25, 100, 227, 0.06); + box-shadow: 0 0 20px 0 rgba(25, 100, 227, 0.06); + z-index: 111; } + +.scrollToTop:hover { + text-decoration: none; } + +.footer-area { + margin-top: 210px; } + .footer-area:before { + content: ""; + height: 700px; + border-top-left-radius: 270px; + border-top-right-radius: 160px; + background: #216ae6; + display: block; + position: absolute; + -webkit-transform: skewY(6deg); + -ms-transform: skewY(6deg); + transform: skewY(6deg); + left: -50px; + right: -70px; + top: -130px; + z-index: 2; } + @media (min-width: 992px) and (max-width: 1200px) { + .footer-area:before { + border-top-left-radius: 130px; + border-top-right-radius: 210px; + -webkit-transform: rotate(3deg); + -ms-transform: rotate(3deg); + transform: rotate(3deg); + top: -106px; } } + @media (min-width: 768px) and (max-width: 992px) { + .footer-area:before { + display: none; } } + @media (max-width: 768px) { + .footer-area:before { + display: none; } } + @media (min-width: 992px) and (max-width: 1200px) { + .footer-area { + margin-top: 133px; } } + @media (max-width: 768px) { + .footer-area { + margin-top: 0; + padding-top: 90px; } } + @media (min-width: 768px) and (max-width: 992px) { + .footer-area { + margin-top: 0; + padding-top: 90px; } } + +.footer-widget-wrapper { + padding-bottom: 60px; } + @media (min-width: 768px) and (max-width: 992px) { + .footer-widget-wrapper { + padding-bottom: 40px; } } + @media (max-width: 768px) { + .footer-widget-wrapper { + padding-bottom: 40px; } } + +.footer-logo { + margin-bottom: 15px; + display: block; } + .footer-logo img { + position: relative; + z-index: 3; } + +.footer-widget { + margin-bottom: 30px; + position: relative; + z-index: 2; } + .footer-widget .widget-title { + margin-bottom: 10px; } + .footer-widget .widget-title h5 { + margin: 0; + color: rgba(255, 255, 255, 0.9); } + .footer-widget p { + color: rgba(255, 255, 255, 0.9); } + .footer-widget .widget-list { + margin: 0; } + .footer-widget .widget-list li { + margin-bottom: 5px; } + .footer-widget .widget-list li a { + color: rgba(255, 255, 255, 0.9); } + .footer-widget .widget-list li a:hover { + text-decoration: underline; } + .footer-widget .social-link li { + border-top: 1px solid transparent; } + .footer-widget .social-link li a { + font-size: 20px; + color: rgba(255, 255, 255, 0.9); } + .footer-widget .social-link li a:hover { + color: white; } + .footer-widget .social-link li:hover { + border-top: 1px solid #216ae6; } + .footer-widget form ::-webkit-input-placeholder { + color: #ffffff; } + .footer-widget form :-moz-placeholder { + color: #ffffff; } + .footer-widget form ::-moz-placeholder { + color: #ffffff; } + .footer-widget form :-ms-input-placeholder { + color: #ffffff; } + .footer-widget form input { + font-size: 16px; + padding: 10px 15px; + border-radius: 4px; + color: #ffffff; + background-color: #2e75d8; + border: 1px solid #216ae6; } + .footer-widget form input:focus, .footer-widget form input:hover, .footer-widget form input:active { + color: #ffffff; + background-color: #2e75d8; + border: 1px solid #216ae6; } + .footer-widget form button { + color: #216ae6; + background-color: #f5f5f5; + border: 1px solid #216ae6; + font-size: 16px; + padding: 10px 30px; + border-radius: 4px; } + .footer-widget form button:focus, .footer-widget form button:hover, .footer-widget form button:active { + color: #ffffff; + background-color: transparent; + border: 1px solid #e3e3e3; } + +.footer-copyright-wrapper { + padding-bottom: 30px; + position: relative; + z-index: 2; } + .footer-copyright-wrapper p, .footer-copyright-wrapper a { + margin: 0; + color: rgba(255, 255, 255, 0.9); } + .footer-copyright-wrapper a:hover:hover { + color: white; } + +.footer-shape { + position: absolute; + width: 100%; } + .footer-shape .left { + position: absolute; + bottom: -40px; + left: -40px; } + .footer-shape .left img { + z-index: 2; + position: relative; } + @media (min-width: 992px) and (max-width: 1200px) { + .footer-shape .left img { + max-width: 300px; } } + @media (min-width: 768px) and (max-width: 992px) { + .footer-shape .left img { + max-width: 300px; } } + .footer-shape .right { + position: absolute; + right: -90px; + bottom: -120px; } + .footer-shape .right img { + z-index: 2; + position: relative; } + @media (min-width: 992px) and (max-width: 1200px) { + .footer-shape .right img { + max-width: 300px; } } + @media (min-width: 768px) and (max-width: 992px) { + .footer-shape .right img { + max-width: 300px; } } + @media (max-width: 768px) { + .footer-shape { + display: none; } } + +.swiper-slide-duplicate-prev img { + border: 11px solid #fff; } + +.swiper-slide-duplicate-prev { + border: 11px solid #fff; } + .list-inline-item { + color: #041e49; + font-weight: 600; +} + +.blog-author-tags a { + color: #777777; + text-transform: capitalize; + margin: 0 5px; + transition: all .4s linear 0s; +} + +.blog-author-tags a:hover { + color: #216ae6; +} +.footer-widget { + z-index: 5; +} + +/*# sourceMappingURL=style.min.css.map */ diff --git a/assets/css/style.min.css.map b/assets/css/style.min.css.map new file mode 100644 index 000000000..efa792865 --- /dev/null +++ b/assets/css/style.min.css.map @@ -0,0 +1 @@ +{"version":3,"sources":["style.min.css","base/reset.scss","base/variables.scss","base/functions.scss","base/typography.scss"],"names":[],"mappings":"AAAA;;;;;;;;;;;EAWE;AAEF;;;;;;;;;;;;;;;;;;;;;EAqBE;AChCF,oBAAoB;AAEpB;EACE,2BAA0B;EAC1B,+BAA8B,EAC/B;;AACD;;;;;;;;;;;;;EAaE,eAAc;EACd,mBAAiB,EAClB;;AAED;;;;EAIE,sBAAqB;EACrB,yBAAwB,EACzB;;AACD;EACE,cAAa;EACb,UAAS,EACV;;AD+BD;;EC3BE,cAAa,EACd;;AACD;EACE,8BAA6B,EAC9B;;AACD;EACG,mCCuFyC;EDvFzC,8BCuFyC;EDvFzC,2BCuFyC,EDtF3C;;AACD;;EAEE,WAAU;EACV,sBAAqB;EACrB,eCnB+C,EDoBhD;;AACD;EACE,0BAAyB,EAC1B;;AACD;EACG,mBAAiB,EACnB;;AACD;;EAEE,kBAAiB,EAClB;;AACD;EACE,mBAAkB,EACnB;;AAGD;EACE,iBAAgB;EAChB,YAAW,EACZ;;AAED;EACE,eAAc,EACf;;AAED;;EAEE,eAAc;EACd,eAAc;EACd,mBAAkB;EAClB,yBAAwB,EACzB;;AAED;EACE,YAAW,EACZ;;AAED;EACE,gBAAe,EAChB;;AACD;EACG,mBAAiB,EACnB;;AACD;EACE,UAAS,EACV;;AAED;EACE,iBAAgB,EACjB;;AAED;EACE,iBAAgB,EACjB;;AAED;EAEE,gCAAuB;UAAvB,wBAAuB;EACvB,UAAS,EACV;;AACD;EACE,eAAc,EACf;;AAED;;;;EAIE,mBAAkB,EACnB;;AACD;EACG,aAAW,EACb;;AACD;;;;;EAKE,eAAc;EACd,cAAa;EACb,UAAS,EACV;;AACA;;;;;;;;EAQE,kCAAiC;EACjC,WAAU;EACV,oCAAmC;EACnC,4BAA2B,EAC5B;;AACF;EACI,WAAU;EACV,yBAAgB;UAAhB,iBAAgB,EACnB;;AACD;;EAEE,qBAAoB,EACrB;;AAED;;;;EAIE,2BAA0B;EAC1B,gBAAe,EAChB;;AAED;;EAEE,gBAAe,EAChB;;AAED;;EAEE,UAAS;EACT,WAAU,EACX;;AACD;;EAEE,+BAAsB;UAAtB,uBAAsB;EACtB,WAAU,EACX;;AAED;;EAEE,aAAY,EACb;;AACD;EACE,8BAA6B;EAE7B,gCAA+B;EAC/B,wBAAuB,EACxB;;AAED;;EAEE,yBAAwB,EACzB;;AACD;EACE,UAAS;EACT,WAAU,EACX;;AAED;EACE,eAAc,EACf;;AAED;EACE,kBAAiB,EAClB;;AAED;EACE,0BAAyB;EACzB,kBAAiB,EAClB;;AAED;;EAEE,WAAU,EACX;;AE/KG;EACE,mBAA4B,EAC7B;;AAFD;EACE,sBAA4B,EAC7B;;AAFD;EACE,mBAA4B,EAC7B;;AAFD;EACE,sBAA4B,EAC7B;;AAFD;EACE,mBAA4B,EAC7B;;AAFD;EACE,sBAA4B,EAC7B;;AAhCH;EAuCE;IACE,kBAA4B,EAC7B;EAFD;IACE,qBAA4B,EAC7B;EAFD;IACE,kBAA4B,EAC7B;EAFD;IACE,qBAA4B,EAC7B;EAFD;IACE,mBAA4B,EAC7B;EAFD;IACE,sBAA4B,EAC7B,EAAA;;AAnCH;EA2CE;IACE,kBAA4B,EAC7B;EAFD;IACE,qBAA4B,EAC7B;EAFD;IACE,kBAA4B,EAC7B;EAFD;IACE,qBAA4B,EAC7B;EAFD;IACE,mBAA4B,EAC7B;EAFD;IACE,sBAA4B,EAC7B,EAAA;;AASD;EACE,iBAAwB,EACzB;;AAFD;EACE,oBAAwB,EACzB;;AAFD;EACE,kBAAwB,EACzB;;AAFD;EACE,mBAAwB,EACzB;;AAFD;EACE,iBAAwB,EACzB;;AAFD;EACE,oBAAwB,EACzB;;AAFD;EACE,kBAAwB,EACzB;;AAFD;EACE,mBAAwB,EACzB;;AAFD;EACE,iBAAwB,EACzB;;AAFD;EACE,oBAAwB,EACzB;;AAFD;EACE,kBAAwB,EACzB;;AAFD;EACE,mBAAwB,EACzB;;AAFD;EACE,iBAAwB,EACzB;;AAFD;EACE,oBAAwB,EACzB;;AAFD;EACE,kBAAwB,EACzB;;AAFD;EACE,mBAAwB,EACzB;;AAFD;EACE,iBAAwB,EACzB;;AAFD;EACE,oBAAwB,EACzB;;AAFD;EACE,kBAAwB,EACzB;;AAFD;EACE,mBAAwB,EACzB;;AAFD;EACE,iBAAwB,EACzB;;AAFD;EACE,oBAAwB,EACzB;;AAFD;EACE,kBAAwB,EACzB;;AAFD;EACE,mBAAwB,EACzB;;AAFD;EACE,iBAAwB,EACzB;;AAFD;EACE,oBAAwB,EACzB;;AAFD;EACE,kBAAwB,EACzB;;AAFD;EACE,mBAAwB,EACzB;;AA9DH;EAsEE;IACE,iBAAwB,EACzB;EAFD;IACE,oBAAwB,EACzB;EAFD;IACE,kBAAwB,EACzB;EAFD;IACE,mBAAwB,EACzB;EAFD;IACE,iBAAwB,EACzB;EAFD;IACE,oBAAwB,EACzB;EAFD;IACE,kBAAwB,EACzB;EAFD;IACE,mBAAwB,EACzB;EAFD;IACE,iBAAwB,EACzB;EAFD;IACE,oBAAwB,EACzB;EAFD;IACE,kBAAwB,EACzB;EAFD;IACE,mBAAwB,EACzB;EAFD;IACE,iBAAwB,EACzB;EAFD;IACE,oBAAwB,EACzB;EAFD;IACE,kBAAwB,EACzB;EAFD;IACE,mBAAwB,EACzB;EAFD;IACE,iBAAwB,EACzB;EAFD;IACE,oBAAwB,EACzB;EAFD;IACE,kBAAwB,EACzB;EAFD;IACE,mBAAwB,EACzB;EAFD;IACE,iBAAwB,EACzB;EAFD;IACE,oBAAwB,EACzB;EAFD;IACE,kBAAwB,EACzB;EAFD;IACE,mBAAwB,EACzB;EAFD;IACE,iBAAwB,EACzB;EAFD;IACE,oBAAwB,EACzB;EAFD;IACE,kBAAwB,EACzB;EAFD;IACE,mBAAwB,EACzB,EAAA;;AAlEH;EA0EE;IACE,iBAAwB,EACzB;EAFD;IACE,oBAAwB,EACzB;EAFD;IACE,kBAAwB,EACzB;EAFD;IACE,mBAAwB,EACzB;EAFD;IACE,iBAAwB,EACzB;EAFD;IACE,oBAAwB,EACzB;EAFD;IACE,kBAAwB,EACzB;EAFD;IACE,mBAAwB,EACzB;EAFD;IACE,iBAAwB,EACzB;EAFD;IACE,oBAAwB,EACzB;EAFD;IACE,kBAAwB,EACzB;EAFD;IACE,mBAAwB,EACzB;EAFD;IACE,iBAAwB,EACzB;EAFD;IACE,oBAAwB,EACzB;EAFD;IACE,kBAAwB,EACzB;EAFD;IACE,mBAAwB,EACzB;EAFD;IACE,iBAAwB,EACzB;EAFD;IACE,oBAAwB,EACzB;EAFD;IACE,kBAAwB,EACzB;EAFD;IACE,mBAAwB,EACzB;EAFD;IACE,iBAAwB,EACzB;EAFD;IACE,oBAAwB,EACzB;EAFD;IACE,kBAAwB,EACzB;EAFD;IACE,mBAAwB,EACzB;EAFD;IACE,iBAAwB,EACzB;EAFD;IACE,oBAAwB,EACzB;EAFD;IACE,kBAAwB,EACzB;EAFD;IACE,mBAAwB,EACzB,EAAA;;AC5FL;EACE,mCFmDiD;ECvBjD,gBAAsC;EC1BtC,iBFyD+B;EExD/B,iBFoD+B;EEnD/B,eF+B8B,EE9B/B;;AD0BC;ECvBG,eF4C4B;EE3C/B,iBFkD+B;EEjD7B,eF6B+B;EE5B/B,iBF4C6B,ECxBQ;;AACvC;ECxBG,eF4C4B;EE3C/B,iBFkD+B;EEjD7B,eF6B+B;EE5B/B,iBF4C6B,ECvBQ;;AACvC;ECzBG,eF4C4B;EE3C/B,iBFkD+B;EEjD7B,eF6B+B;EE5B/B,iBF4C6B,ECtBQ;;AACvC;EC1BG,eF4C4B;EE3C/B,iBFkD+B;EEjD7B,eF6B+B;EE5B/B,iBF4C6B,ECrBQ;;ACnBzC;EDaE,gBAAsC,ECRvC;EDLC;ICAF;MDaE,gBAAsC,ECRvC,EAAA;;AACD;EDOE,gBAAsC,ECFvC;EDXC;ICMF;MDOE,gBAAsC,ECFvC,EAAA;;AACD;EDCE,gBAAsC,ECCvC;;AACD;EDFE,gBAAsC,ECIvC;;AACD;EDLE,gBAAsC,ECOvC;;AACD;EDRE,gBAAsC,ECUvC;;AACD;;;;EAIE,iBFyB+B;EExB/B,eFR8B,EES/B;;AACD;EACE,mCFIiD;EEHjD,iBFO+B,EENhC;;AAED;;;EAGE,mCFHiD;EEIjD,iBFE+B,EEDhC;;AACD;EAEM,eFvB0B,EEwB5B;;AAIJ;EACI,iBFI6B;EEHhC,iBFRgC,EEShC;;AACD;EDxCE,gBAAsC,ECmDvC;ED5EC;ICiEF;MDxCE,gBAAsC,ECmDvC,EAAA;EDtEC;IC2DF;MDxCE,gBAAsC,ECmDvC,EAAA;EDhEC;ICqDF;MDxCE,gBAAsC,ECmDvC,EAAA;;AACD;EDpDE,gBAAsC,EC+DvC;EDxFC;IC6EF;MDpDE,gBAAsC,EC+DvC,EAAA;EDlFC;ICuEF;MDpDE,gBAAsC,EC+DvC,EAAA;ED5EC;ICiEF;MDpDE,gBAAsC,EC+DvC,EAAA;;AACD;EDhEE,gBAAsC,EC2EvC;EDpGC;ICyFF;MDhEE,gBAAsC,EC2EvC,EAAA;ED9FC;ICmFF;MDhEE,gBAAsC,EC2EvC,EAAA;EDxFC;IC6EF;MDhEE,gBAAsC,EC2EvC,EAAA;;AACD;ED5EE,gBAAsC,ECuFvC;EDhHC;ICqGF;MD5EE,eAAsC,ECuFvC,EAAA;ED1GC;IC+FF;MD5EE,eAAsC,ECuFvC,EAAA;EDpGC;ICyFF;MD5EE,eAAsC,ECuFvC,EAAA;;AAID;;ED3FE,gBAAsC;EC8FtC,iBFnE+B,EEoEhC;;AAID;EACG,4BAAwC,EAC1C;;AACD;EACG,4BAA4C,EAC9C;;AACD;EACG,4BAA0C,EAC5C;;AACD;EACG,4BAA0C,EAC5C;;AACD;EACG,4BAAyC,EAC3C;;AAMD;EAEK,0BAA6B,EAC9B;;AAEJ;EACK,0BAA6B,EAEjC;;AJlHD;;;;iDAIiD;AACjD;EACG,0BE5CmC,EF6CrC;;AACD;EACG,0BE9CkC,EF+CpC;;AACD;EACG,0BEhDkC,EFiDpC;;AACD;EACG,0BElDkC,EFmDpC;;AACD;EACC,YAAU;EACP,mBAAiB;EACpB,QAAM;EACN,SAAO;EACP,OAAK;EACL,UAAQ;EACR,0BE1DoC;EF2DpC,cAAY;EACZ,WAAS,EACT;;AACD;EACI,eE3B8B,EF4BjC;;AACD;EACI,eE7B8B,EF8BjC;;AACD;EACI,eE/B8B,EFgCjC;;AACD;EACC,mBAAiB;EACjB,WAAS,EACT;;AACD;;;;iDAIiD;AACjD;EACG,qFAAuF,EACzF;;AAED;EACG,gFAAkF,EACpF;;AAED;EACG,qFAAuF,EACzF;;AAID;;;;iDAIiD;AACjD;;EAEG,WAAS;EACT,UAAQ,EACV;;AAED;;;;;;EAMG,mCEYyC;EFZzC,8BEYyC;EFZzC,2BEYyC;ECb1C,mBHGW;EGFX,mBHEoD;EGDpD,mBDlB0B;ECqB1B,eHCW;EGAX,8BHAuB;EGCvB,0BD7BwC,EF8BzC;EAbD;;;;;;;;;;;;;;;;IGgBI,eHL2C;IGM3C,0BDpBoC;ICqBpC,0BDX6C,ECY9C;;AHHH;;;;;EAKE,mCEH0C;EFG1C,8BEH0C;EFG1C,2BEH0C;ECb1C,gBD/B4B;ECgC5B,mBDd8B;ECe9B,mBDlB0B;ECqB1B,eD/B8B;ECgC9B,0BDzC+B;EC0C/B,0BD5BwC,EF6CzC;EAbD;;;;;;;;;;;;;IGAI,eDbmC;ICcnC,0BDlBoC;ICmBpC,0BDX6C,ECY9C;;AHaH;;;;iDAIiD;AACjD;EACI,mBAAkB;EAClB,YAAW,EAqBd;EAvBD;IAIE,oBErIc;IFsId,iBEjG+B,EFyG/B;IGzJA;MH4IF;QAQM,oBAAkB,EAKtB,EAAA;IGnJA;MHsIF;QAWM,oBAAkB,EAEtB,EAAA;EG/JA;IHkJF;MAgBG,YAAU,EAOZ,EAAA;EGnKC;IH4IF;MAkBG,YAAU,EAKZ,EAAA;EG7JC;IHsIF;MAqBG,YAAU,EAEZ,EAAA;;AACD;EACI,oBAA8B,EAIjC;EALD;IAGI,UAAQ,EACV;;AAIF;;;;iDAIiD;AACjD;EAEE,mBAAkB;EAChB,SAAQ;EACR,SAAQ;EACR,oEAA2D;UAA3D,4DAA2D,EAC7D;;AANF;EAQM,mBAAkB;EACpB,UAAS;EACT,YAAW;EACX,oEAA2D;UAA3D,4DAA2D,EAC7D;;AAZF;EAcM,mBAAkB;EACpB,YAAW;EACX,WAAU;EACV,4DAAmD;UAAnD,oDAAmD,EACrD;;AAlBF;EAoBE,mBAAkB;EACZ,YAAW;EACf,WAAU;EACV,gDAAuC;UAAvC,wCAAuC,EACzC;;AAxBF;EA0BE,mBAAkB;EAChB,YAAW;EACX,UAAS;EACT,4DAAmD;UAAnD,oDAAmD,EACrD;;AA9BF;EAgCE,mBAAkB;EAChB,gDAAuC;UAAvC,wCAAuC,EACzC;;AG7MA;EH2KF;IAoCI,cAAY,EAEf,EAAA;;AACD;;;;iDAIiD;AACjD;EACG,iBAAe,EACjB;;AACD;EACI,qBAAoB,EAiDvB;EAlDD;IAGI,YAAW;IACX,cAAa;IACb,iCAAgC;IAChC,kCAAiC;IACjC,oBE5OiC;IF6OjC,eAAc;IACd,mBAAkB;IAClB,+BAAsB;QAAtB,2BAAsB;YAAtB,uBAAsB;IACzB,YAAW;IACR,aAAY;IACZ,eAAc;IACjB,WAAS,EAYP;IGhQD;MHsOF;QAgBK,eAAc;QACjB,iCAAgC;QAC1B,kCAAiC,EAQtC,EAAA;IG1PD;MHgOF;QAqBI,cAAY,EAKb,EAAA;IGpPD;MH0NF;QAwBG,cAAY,EAEZ,EAAA;EA1BH;IA4BK,4BAA0B;IAC7B,WAAU;IACP,mBAAkB,EAUpB;IG9QD;MHsOF;QAgCK,2BAAyB,EAQ3B,EAAA;IGxQD;MHgOF;QAmCK,4BAA0B,EAK5B,EAAA;IGlQD;MH0NF;QAsCK,2BAAyB,EAE3B,EAAA;EG9QD;IHsOF;MA0CM,qBAAmB,EAQxB,EAAA;EGlRC;IHgOF;MA6CO,UAAQ,EAKd,EAAA;EG5QC;IH0NF;MAgDO,UAAQ,EAEd,EAAA;;AACD;EAEG,qBAAmB,EA+ErB;EG1WC;IHyRF;MAIQ,qBAAoB,EA6E3B,EAAA;EGpWC;IHmRF;MAOM,UAAQ,EA0Eb,EAAA;EG9VC;IH6QF;MAUM,UAAQ,EAuEb,EAAA;EAjFD;IAcI,eAAc;IACd,iCAAgC;IAChC,kCAAiC,EAUlC;IGnTD;MHyRF;QAkBK,eAAc,EAQhB,EAAA;IG7SD;MHmRF;QAqBK,eAAc,EAKhB,EAAA;IGvSD;MH6QF;QAwBK,eAAc,EAEhB,EAAA;EA1BH;IA6BO,mBAAiB,EAOpB;IGvTF;MHmRF;QA+BO,kBAAiB,EAKpB,EAAA;IGjTF;MH6QF;QAkCO,kBAAiB,EAEpB,EAAA;EApCJ;IAyCE,aAAY;IACZ,YAAW,EAkBX;IGrVA;MHyRF;QA6CI,aAAY;QACZ,YAAW;QACX,aAAY,EAad,EAAA;IG/UA;MHmRF;QAkDI,aAAY;QACZ,YAAW;QACX,aAAY,EAQd,EAAA;IGzUA;MH6QF;QAuDK,aAAY;QACd,YAAW;QACX,aAAY,EAGb,EAAA;EA5DF;IA8DI,cAAa;IACb,YAAW,EAgBb;IGxWA;MHyRF;QAiEG,cAAa;QACb,WAAU;QACV,aAAY,EAYb,EAAA;IGlWA;MHmRF;QAsEI,cAAa;QACb,YAAW;QACX,aAAY,EAOd,EAAA;IG5VA;MH6QF;QA2EG,cAAa;QACb,WAAU;QACV,aAAY,EAEb,EAAA;;AAGF;EACC,mBAAiB;EACjB,QAAM;EACN,SAAO;EACP,OAAK;EACL,WAAS,EAgDT;EArDD;IAOC,mBAAiB;IACd,aAAY;IACZ,YAAW,EAab;IGjYA;MH2WF;QAYI,aAAY;QACZ,YAAW;QACX,aAAY,EAQd,EAAA;IG3XA;MHqWF;QAkBS,YAAW;QAChB,YAAW;QACX,aAAY,EAEd,EAAA;EAtBF;IAwBC,mBAAiB;IACd,cAAa;IACb,YAAW,EAWb;IGhZA;MH2WF;QA4BI,cAAa;QACb,WAAU;QACV,aAAY,EAOd,EAAA;IG1YA;MHqWF;QAiCI,cAAa;QACb,WAAU;QACV,aAAY,EAEd,EAAA;EArCF;IAwCK,gBAAc,EAQjB;IGrZA;MHqWF;QA2CG,eAAa,EAKd,EAAA;IG/YA;MH+VF;QA8CG,eAAa,EAEd,EAAA;EG/YA;IH+VF;MAmDK,cAAY,EAEhB,EAAA;;AACD;EACG,kBE7Ya;EFqZb,eAAa;EACb,YAAU;EACV,mBAAiB;EACjB,YAAU,EA6JZ;EGpkBC;IH2ZF;MAIM,kBEpZU,EFyjBf,EAAA;EG9jBC;IHqZF;MAOM,kBEvZU,EFyjBf,EAAA;EAzKD;IAcI,WAAS,EACX;EAfF;IAkBI,gBAAc;IACd,YAAU,EACZ;EApBF;IAuBM,aAAW,EAOb;IGzbF;MH2ZF;QAyBO,YAAU,EAKb,EAAA;IGnbF;MHqZF;QA4BO,YAAU,EAEb,EAAA;EGzbF;IH2ZF;MAkCG,mBAAiB;MACjB,QAAM;MACN,SAAO;MACP,0BEtcmC;MFucnC,wDE3U8D;cF2U9D,gDE3U8D;MF4U9D,mBE9U8B;MF+U9B,OAAM,EAgHR,EAAA;EG7iBC;IHqZF;MA2CG,mBAAiB;MACjB,QAAM;MACN,SAAO;MACP,0BE/cmC;MFgdnC,wDEpV8D;cFoV9D,gDEpV8D;MFqV9D,mBEvV8B;MFwV9B,OAAM,EAuGR,EAAA;EAxJD;IAqDG,qBAAoB;IACrB,8BAA6B,EAgG3B;IAtJJ;MAwDI,6BAA4B;MAC5B,eEvb6B,EF+b9B;MG5dD;QH2ZF;UA4DI,eE7b4B,EFkc7B,EAAA;MGtdD;QHqZF;UA+DI,eEhc4B,EFkc7B,EAAA;IAjEH;MAmEI,6BAA4B,EAC7B;IApEH;MAiFM,0BElfgC,EFmfjC;MAlFL;QAwEQ,eEzcwB;QF0cxB,mBAAkB;QAExB,mCE7W0C;QF6W1C,8BE7W0C;QF6W1C,2BE7W0C,EFkXrC;QAhFP;UA6EU,iBAAgB;UAChB,eE7cuB,EF8cxB;IA/ET;MAoFM,YAAW;MACX,0BEtfgC;MFufhC,YAAW;MACX,aAAY;MACZ,eAAc;MACd,mBAAkB;MAClB,WAAU;MACV,UAAS;MACT,iCAAwB;UAAxB,6BAAwB;cAAxB,yBAAwB,EAKzB;MG5fH;QH2ZF;UA6FI,cAAY,EAIX,EAAA;MGtfH;QHqZF;UA+FI,cAAY,EAEX,EAAA;IAjGL;MAoGI,wBAAuB;MACvB,YAAU,EAuBX;MA5HH;QAuGM,mCAAkC;QAClC,iBAAgB;QAChB,iBAAgB;QAChB,mBAAkB;QAClB,eEze2B;QF0e3B,mBAAkB,EAOnB;QGxgBH;UHqZF;YA8GO,eE9eyB,EFmf3B,EAAA;QG9gBH;UH2ZF;YAiHO,eEjfyB,EFmf3B,EAAA;MG9gBH;QH2ZF;UAqHK,YAAW;UACR,wBAAuB,EAM5B,EAAA;MGjhBD;QHqZF;UAyHK,YAAW;UACR,wBAAuB,EAE5B,EAAA;IA5HH;MA+HM,8BAA6B;MAC7B,eE9f2B,EFsgB5B;MGniBH;QH2ZF;UAmIM,eEzgB2C,EF8gB5C,EAAA;MG7hBH;QHqZF;UAsIM,eE5gB2C,EF8gB5C,EAAA;IAxIL;MA2II,mBAAkB;MAClB,mBAAkB,EACnB;IA7IH;MA+II,mBAAkB;MAClB,iBAAgB,EAKjB;MArJH;QAkJM,YAAW;QACX,eAAc,EACf;EApJL;IA2JS,WAAU,EAIf;IA/JJ;MA6JM,0BE9jBgC,EF+jBlC;EGzjBF;IH2ZF;MAmKM,iBAAe,EAKpB,EAAA;EG7jBC;IHqZF;MAsKM,iBAAe,EAEpB,EAAA;;AAED;EACE;IACE,mCAAkC;IAClC,2BAA0B,EAAA;EAE5B;IACE,mCAAkC;IAClC,2BAA0B,EAAA;EAE5B;IACE,mCAAkC;IAClC,2BAA0B,EAAA,EAAA;;AAG9B;EACE;IACE,mCAAkC;IAClC,2BAA0B,EAAA;EAE5B;IACE,mCAAkC;IAClC,2BAA0B,EAAA;EAE5B;IACE,mCAAkC;IAClC,2BAA0B,EAAA,EAAA;;AAG9B;EACE;IACE,mCAAkC;IAClC,2BAA0B,EAAA,EAAA;;AAG9B;EACE;IACE,mCAAkC;IAClC,2BAA0B,EAAA,EAAA;;AAG9B;EAEI,oBEpmBY;EFqmBZ,mBAAiB;EACjB,WAAS,EAQX;EGznBA;IH6mBF;MAOO,iBAAe,EAKpB,EAAA;EGnnBA;IHumBF;MAUO,iBAAe,EAEpB,EAAA;;AAZF;EAeG,WAAS;EACR,mBAAiB;EACnB,0DAAiD;UAAjD,kDAAiD;EACjD,sCAA6B;UAA7B,8BAA6B;EAC7B,iCAAwB;UAAxB,yBAAwB;EACxB,yDAAgD;UAAhD,iDAAgD;EAChD,+CAAsC;UAAtC,uCAAsC;EACtC,sCAA6B;UAA7B,8BAA6B;EAC7B,+CAAsC;UAAtC,uCAAsC,EAiBtC;EG/oBA;IHumBF;MA0BG,cAAY,EAcb,EAAA;EG3pBA;IHmnBF;MA8BI,UAAQ,EAUV;MAxCF;QAgCQ,gBAAc,EACjB,EAAA;EG9oBH;IH6mBF;MAmCI,UAAQ,EAKV;MAxCF;QAqCQ,gBAAc,EACjB,EAAA;;AAtCL;EA2CO,mBAAiB;EACpB,oBAAkB,EAYjB;EAxDL;IA8CO,UAAQ,EACV;EGhpBH;IHimBF;MAkDK,eAAa;MACb,gBAAc,EAKd;MAxDL;QAqDM,eAAa,EACb,EAAA;;AAKN;EACC,mBAAiB;EACjB,WAAS;EACT,mBAAiB,EAmCjB;EAtCD;IAKI,UAAQ,EAWV;IAhBF;MAOK,mBAAiB,EAQjB;MAfL;QASO,mBAAkB;QACrB,YAAW;QACX,aAAY;QACZ,uBAAmB;WAAnB,oBAAmB,EAEjB;EAdN;IAmBM,YAAU;IACb,aAAW;IACX,oBExkB8B;IFykB9B,oBAAkB;IAClB,qBAAgB;OAAhB,kBAAgB,EAChB;EAxBH;IA0BK,UAAQ;IACR,iBAAe,EACjB;EG9rBD;IHkqBF;MA+BK,kBAAgB;MAChB,qBAAmB,EAMvB,EAAA;EG9sBC;IHwqBF;MAmCK,kBAAgB;MAChB,sBAAoB,EAExB,EAAA;;AAED;EGpmBE,gBD9B4B;EC+B5B,mBHqmBqD;EGpmBrD,mBDlB0B;ECqB1B,eD9B8B;EC+B9B,0BD1C+B;EC2C/B,0BD3BwC,EFuoBzC;EAfD;IGzlBI,eDbmC;ICcnC,0BD9C6B;IC+C7B,0BDV6C,ECW9C;EHslBH;IAQK,kBAAgB,EAClB;EATH;IAWG,aAAW;IACX,YAAU;IACV,uBAAkB;OAAlB,oBAAkB,EAClB;;AAEH;EGpnBE,gBD9B4B;EC+B5B,mBHqnBqD;EGpnBrD,mBDlB0B;ECqB1B,eD/B8B;ECgC9B,8BHmnB2B;EGlnB3B,0BD3BwC,EFwpBzC;EAhBD;IGzmBI,eDdmC;ICenC,0BDjBoC;ICkBpC,0BDT6C,ECU9C;EHsmBH;IAQK,kBAAgB;IACnB,uBAAsB,EACrB;EAVH;IAYG,aAAW;IACX,YAAU;IACV,uBAAkB;OAAlB,oBAAkB,EAClB;;AAIH;;;;iDAIiD;AACjD;EACC,0BAAwB,EACxB;;AACD;EACC,0BAAwB,EACxB;;AAAA;EACA,0BAAwB,EACxB;;AACD;EACC,mBAAiB;EACjB,oBEvvBe,EF2xBf;EAtCD;IAIE,kBAAgB;IAChB,YAAU;IACV,aAAW;IACX,oBElpB+B;IFmpB/B,uDEjpB+D;YFipB/D,+CEjpB+D;IFkpB/D,eAAa;IACP,mBAAiB;IACjB,uBAAqB;IACrB,uBEjwBQ;IFkwBd,mCEppB0C;IFopB1C,8BEppB0C;IFopB1C,2BEppB0C,EFqpB1C;EAdF;IAiBW,oBAAkB,EAAG;EAjBhC;IAkBK,oBEvwBW,EFuwBgB;EAlBhC;IAqBE,mBAAkB;IAClB,WAAS;IACT,aAAW;IACX,eAAa;IACb,OAAK;IACL,oBAAkB;IAClB,mCElqB0C;IFkqB1C,8BElqB0C;IFkqB1C,2BElqB0C,EFmqB1C;EA5BF;IA+BG,wDEzqB8D;YFyqB9D,gDEzqB8D,EF2qB9D;EAjCH;IAmCG,WAAU,EACV;;AAIH;;;;iDAIiD;AAGjD;EACC,iBAAe;EACf,mBAAiB;EACjB,wDE5rBgE;UF4rBhE,gDE5rBgE;EF6rBhE,wBEpyBe;EFqyBf,oBEzyBe;EF0yBf,mBAAiB;EACjB,mBElsBgC;EFmsBhC,mCE9rB2C;EF8rB3C,8BE9rB2C;EF8rB3C,2BE9rB2C,EF8wB3C;EAxFD;IAUE,YAAU;IACV,aAAW;IACX,uDEpsB+D;YFosB/D,+CEpsB+D;IFqsB/D,oBEvsB+B;IFwsB/B,uBElzBc;IFmzBd,kBAAgB;IAChB,mCEtsB0C;IFssB1C,8BEtsB0C;IFssB1C,2BEtsB0C,EFusB1C;EAjBF;IAmBE,YAAU;IACV,aAAW;IACX,YAAU;IACV,eAAa;IACb,oBAAkB;IAClB,cAAY;IACZ,mBAAiB;IACjB,UAAQ;IACR,WAAS,EAKT;IG/0BA;MH+yBF;QA8BM,cAAY,EAEhB,EAAA;EAhCF;IAkCE,YAAU;IACV,WAAS;IACT,cAAY;IACZ,eAAa;IACb,oBAAkB;IAClB,cAAY;IACZ,mBAAiB;IACjB,UAAQ;IACR,WAAS,EAIT;IG71BA;MH+yBF;QA4CM,cAAY,EAEhB,EAAA;EA9CF;IAkDG,oBAA4B,EAC5B;EAnDH;IAqDG,UAAQ,EACR;EAtDH;IAyDE,YAAW;IACX,cAAa;IACb,oBEh3BoC;IFi3BpC,cAAY;IACZ,eAAc;IACd,oBExvB+B;IFyvB/B,mBAAkB;IACZ,UAAS;IACT,cAAa;IACnB,kCAAyB;QAAzB,8BAAyB;YAAzB,0BAAyB,EACxB;EAnEH;IAqEG,0BEz3BkC,EFw4BlC;IApFH;MAuEI,eEz1B6B,EF01B7B;IAxEJ;MA0EI,0BE/3BkC,EFg4BlC;IA3EJ;MA6EI,0BEl4BkC;MFm4BlC,cAAY,EACZ;IA/EJ;MAiFI,0BEt4BkC;MFu4BlC,cAAY,EACZ;EGl4BF;IH+yBF;MAsFM,mBAAuB,EAE5B,EAAA;;AACD;EACI,oBAAkB,EAYrB;EGr5BC;IHw4BF;MAMI,iBAAe,EAKjB,EAAA;EG74BA;IHk4BF;MASI,iBAAe,EAEjB,EAAA;;AAKF;;;;iDAIiD;AAEjD;EACC,mBAAiB;EAChB,kBAAgB,EAsDjB;EAxDD;IAIE,gBAAc;IACf,mBE/yBgC,EFgzB/B;EGp6BA;IH85BF;MAQI,cAAY;MACZ,oBAAkB;MAClB,oBAAkB,EA8CrB,EAAA;EGh9BC;IHw5BF;MAaI,cAAY;MACZ,oBAAkB;MAClB,oBAAkB,EAyCrB,EAAA;EAxDD;IAkBE,mBAAiB;IACjB,eAAc;IACd,mBAAiB;IACjB,YAAW;IACX,aAAY;IACZ,oBEh0B+B;IFi0B/B,oBE57BoC;IF67BpC,gBAAe;IACf,mDAA0C;YAA1C,2CAA0C;IAC1C,0CAAiC;YAAjC,kCAAiC;IAC/B,mBAAkB;IAClB,OAAM;IACN,SAAQ;IACR,QAAO;IACP,UAAS;IACT,aAAY,EAQf;IAzCD;MAmCG,gBAAc,EACd;IApCH;MAsCI,wBAAuB;MACvB,gBAAe,EAChB;;AAGH;EACE;IACE,qDAA4C;YAA5C,6CAA4C,EAAA;EAG9C;IACE,sDAA6C;YAA7C,8CAA6C,EAAA;EAG/C;IACE,mDAA0C;YAA1C,2CAA0C,EAAA,EAAA;;AAV9C;EACE;IACE,qDAA4C;YAA5C,6CAA4C,EAAA;EAG9C;IACE,sDAA6C;YAA7C,8CAA6C,EAAA;EAG/C;IACE,mDAA0C;YAA1C,2CAA0C,EAAA,EAAA;;AAI9C;EAGE,0BE99BmC;EF+9BnC,4BEv2B+B;EFw2B/B,6BEx2B+B;EFy2B/B,cEl9Bc,EF49Bd;EAhBF;IAQG,UAAQ,EACR;EGh+BD;IHu9BF;MAWK,cAAsB,EAKzB,EAAA;EGj+BA;IHi9BF;MAcK,cAAsB,EAEzB,EAAA;;AAhBF;EAkBE,+BEr3B+B;EFs3B/B,gCEt3B+B;EFu3B5B,0BEj/BiC;EFk/BpC,cEj+Bc,EF0+Bd;EA9BF;IAsBK,UAAQ,EAAI;EG7+Bf;IHu9BF;MAyBK,cAAY,EAKf,EAAA;EG/+BA;IHi9BF;MA2BK,cAAY,EAGf,EAAA;;AGr/BA;EHu9BF;IAgCI,mBAAiB,EAMpB,EAAA;;AGv/BC;EHi9BF;IAmCI,mBAAiB,EAGpB,EAAA;;AACD;EACC,aAAW,EAQX;EGvgCC;IH8/BF;MAII,cAAY,EAKf,EAAA;EGjgCC;IHw/BF;MAOI,cAAY,EAEf,EAAA;;AAID;;;;iDAIiD;AACjD;EAEM,mBAAkB;EACrB,gBAAe,EAehB;EGxiCA;IHshCF;MAMG,eAAa;MACb,gBAAc,EAWf,EAAA;EGliCA;IHghCF;MASG,eAAa;MACb,gBAAc;MACd,oBEhhCa,EFuhCd,EAAA;EG5hCA;IH0gCF;MAcG,eAAa;MACb,gBAAc;MACd,oBErhCa,EFuhCd,EAAA;;AAEF;EACE,mBAAiB,EAalB;EAdD;IAGE,mBAAiB;IACjB,mBAAiB,EASjB;IAbF;MAMK,mCAAkC;MAClC,iBAAgB;MAChB,iBAAgB;MAChB,mBAAiB;MACjB,QAAM;MACN,eEnhC4B,EFohC9B;;AAGH;EACI,oBEziCY,EF0iCf;;AACD;EACI,oBE5iCY,EF6iCf;;AACD;EAEE,eEhiC8B,EFkiC9B;;AAGF;;;;iDAIiD;AACjD;EACE,mBAAiB,EAelB;EAhBD;IAGE,mBAAiB;IACjB,mBAAiB,EAWjB;IAfF;MAMI,mCAAkC;MAClC,iBAAgB;MAChB,iBAAgB;MAChB,eAAc;MACd,mBAAkB;MAClB,kBAAiB;MACjB,QAAO;MACN,eEtjC4B,EFujC9B;;AAGH;EAEE,WAAS;EACT,mBAAiB,EAajB;EG5mCA;IH4lCF;MAOK,iBAAgB,EASnB,EAAA;EGtmCA;IHslCF;MAUK,iBAAgB,EAMnB,EAAA;EGhmCA;IHglCF;MAcI,iBAAgB,EAElB,EAAA;;AGhmCA;EHglCF;IAkBK,oBE7lCW,EF+lCf,EAAA;;AAED;EAEM,iBAAe,EAUjB;EG5mCF;IHgmCF;MAIM,eAAa;MAChB,YAAU;MACV,2BAAyB,EAMxB;MAZJ;QASM,YAAU,EACZ,EAAA;;AAIJ;EAEI,UAAS;EACT,cAAa,EAUhB;EG7oCC;IHgoCF;MAME,cAAa;MACb,iBAAgB,EAMjB,EAAA;EGvoCC;IH0nCF;MAUE,cAAa;MACb,iBAAgB,EAEjB,EAAA;;AAED;;;;iDAIiD;AACjD;EACC,YAAW;EACR,aAAY;EACf,mBAAiB;EACjB,UAAQ;EACR,kBAAiB,EA6FjB;EAlGD;IAOG,YAAU;IACV,qBAAgB;OAAhB,kBAAgB;IAChB,YAAW;IACL,aAAY;IACnB,oBEpiC+B;IFqiC/B,iBAAe;IACf,mBAAiB;IACjB,OAAK;IACL,QAAM;IACN,UAAQ;IACR,SAAO;IACP,aAAW;IACX,gBAAc;IACd,uDE3iC+D;YF2iC/D,+CE3iC+D,EF8jC/D;IAvCF;MAsBG,qBAAgB;SAAhB,kBAAgB;MAChB,YAAU;MACV,aAAW,EACX;IAzBH;MA2BG,YAAU;MACV,mBAAiB;MAClB,OAAK;MACL,QAAM;MACN,UAAQ;MACR,SAAO;MACP,WAAS;MACT,oBElrCmC;MFmrCnC,WAAS;MACT,mCEzjC0C;MFyjC1C,8BEzjC0C;MFyjC1C,2BEzjC0C,EF0jCzC;EArCH;IA0CG,aAAW,EACX;EA3CH;IA+CI,aAAY;IACZ,YAAW,EAMb;IGpsCA;MH8oCF;QAmDM,aAAY,EAGhB,EAAA;EAtDF;IAyDI,YAAW;IACX,YAAW,EAKb;IG7sCA;MH8oCF;QA4DK,YAAW,EAGd,EAAA;EA/DF;IAkEI,aAAY;IACZ,WAAU,EAOZ;IGxtCA;MH8oCF;QAsEQ,aAAY;QACT,WAAU,EAGnB,EAAA;EA1EF;IA6EI,cAAa;IACb,WAAU,EAIZ;EAlFF;IAqFI,YAAU;IACZ,aAAW,EAQX;IA9FF;MAyFG,YAAU;MACV,aAAW,EACX;;AAQH;EAGE,mBAAiB;EACjB,0DE7nCiE;UF6nCjE,kDE7nCiE;EF8nCjE,6BEvuCc;EFwuCd,eAAa,EAmCb;EAzCF;IAQG,YAAW;IACX,+CAA8C;IAC9C,YAAW;IACX,aAAY;IACZ,uBAAsB;IACtB,eAAc;IACd,mBAAkB;IAClB,WAAU;IACV,QAAO;IACP,aAAW;IACX,WAAS,EACT;EAnBH;IAqBG,YAAW;IACX,kDAAiD;IACjD,YAAW;IACX,aAAY;IACZ,uBAAsB;IACtB,eAAc;IACd,mBAAkB;IAClB,cAAa;IACb,SAAQ;IACR,aAAW;IACX,WAAS,EACT;EGjxCD;IHivCF;MAkCM,mBExwCU;MFywCb,wDE9pC8D;cF8pC9D,gDE9pC8D,EFoqC/D,EAAA;EGpxCA;IH2uCF;MAsCM,mBE5wCU;MF6wCb,wDElqC8D;cFkqC9D,gDElqC8D,EFoqC/D,EAAA;;AAzCF;EA4CG,oBEjxCa;EFkxCb,iBE9uC8B,EFsvC9B;EGtyCD;IHivCF;MAgDI,oBEtxCY,EF2xCb,EAAA;EGhyCD;IH2uCF;MAmDI,oBEzxCY,EF2xCb,EAAA;;AArDH;EAuDG,oBE5xCa,EF6xCb;;AAxDH;EA4DG,UAAQ,EACR;;AA7DH;EA+DG,eErxC6B;EFsxC7B,iBEjwC8B;EFkwC9B,eAAa;EACb,mBAAiB,EAIjB;EAtEH;IAoEM,eEzxC2B,EF0xC7B;;AArEJ;EAwEG,eAAa;EGtyCd,gBAAsC;EHwyCrC,iBE7wC8B;EF8wC9B,eElyC6B,EFmyC7B;;AA5EH;EA+EK,iBAAgB;EACb,iBEtzCQ;EFuzCR,oBEvzCQ;EFwzCd,mBAAiB,EAkBjB;EApGF;IAoFK,YAAU;IACV,aAAW;IACX,mBAAiB;IACjB,oBEntC4B;IFotC5B,0BE50CgC,EF60ClC;EAzFH;IA2FK,0BEj1CgC,EFk1ClC;EGn1CD;IHuvCF;MA+FG,cAAY,EAKb,EAAA;EGr1CA;IHivCF;MAkGG,cAAY,EAEb,EAAA;;AGr1CA;EHivCF;IAuGE,oBE70Cc,EF+0Cf,EAAA;;AAKD;;;;iDAIiD;AACjD;EACI,mBAAiB;EACpB,aAAW,EAsBX;EAxBD;IAIE,iBExzC+B;IFyzC/B,oBE91Cc,EF+1Cd;EANF;IAQK,oBE/1CW,EFs2Cd;IGn3CA;MHo2CF;QAUI,oBEn2CY,EFw2Cd,EAAA;IG72CA;MH81CF;QAaI,oBEt2CY,EFw2Cd,EAAA;EGn3CA;IHo2CF;MAiBG,oBEz2Ca;MF02Cb,YAAU,EAMZ,EAAA;EGt3CC;IH81CF;MAqBG,oBE72Ca;MF82Cb,YAAU,EAEZ,EAAA;;AACD;EACI,uDEvwC6D;UFuwC7D,+CEvwC6D;EFwwC/D,mBE3wC+B;EF4wC/B,iBAAe;EACf,oBEt3Cc,EFm8Cf;EAjFD;IAME,eAAa;IACb,YAAU,EAyCV;IAhDF;MASG,aAAW;MACX,cAAY;MACZ,0BE74CkC;MF84ClC,YAAU,EAmBV;MA/BH;QG12CE,gBAAsC;QHy3CpC,iBE/1C6B;QFg2C7B,eEh3C6B;QFi3C7B,gBAAe,EAUf;QA3BJ;UAmBK,gBAAc;UACd,WAAS;UACT,kBAAiB,EACjB;QGn5CH;UH63CF;YAwBQ,gBAAe;YACH,iBAAgB,EAEhC,EAAA;MGx5CF;QH63CF;UA6BO,aAAW,EAEf,EAAA;IA/BH;MAiCG,0BAAwB;MACxB,cAAY;MACZ,0BEn6CkC;MFo6ClC,YAAU,EAUV;MA9CH;QG12CE,gBAAsC;QHi5CpC,eEz4C4B;QF04C5B,UAAS,EACT;MGt6CF;QH63CF;UA4CO,0BAAyB,EAE7B,EAAA;EA9CH;IAmDM,0BEt7CgC;IFu7CnC,wBEn6Ca,EF47Cd;IA7EF;MAsDG,oBEt6Ca,EF06Cb;MA1DH;QAwDI,oBAAkB,EAClB;IAzDJ;MGjxCE,gBD/B4B;MCgC5B,mBH60CmD;MG50CnD,mBDlB0B;MCqB1B,eD/B8B;MCgC9B,0BDzC+B;MC0C/B,0BD5BwC,EF62CvC;MAvEH;QGtwCI,eDbmC;QCcnC,0BDpBoC;QCqBpC,0BDX6C,ECY9C;MA9GD;QHi3CF;UAqES,YAAU,EAEhB,EAAA;IGp8CD;MH63CF;QA2EM,mBAAkB,EAEtB,EAAA;EGp8CA;IHu3CF;MA+EE,cAAY,EAEb,EAAA;;AAKD;;;;iDAIiD;AACjD;EAII,mBAAkB;EAClB,YAAW,EAKb;EG59CA;IHk9CF;MAQG,cAAY,EAEb,EAAA;;AAEF;EAEI,YAAU,EACZ;;AAEF;EACG,oBE/9Ca,EF2mDf;EA7ID;IAIG,YAAU,EAEV;EANH;IAUE,iBAAe;IACf,mBAAiB;IACjB,mBEx+Cc;IFy+Cd,uDE/3C+D;YF+3C/D,+CE/3C+D;IFg4C/D,mCE93C0C;IF83C1C,8BE93C0C;IF83C1C,2BE93C0C;IFg4C1C,0BE//CoC;IFggDpC,yBAAuB;IACvB,OAAK;IACL,aAAW;IACX,mBAAiB,EAgCjB;IGvhDA;MHm+CF;QAuBM,UAAS;QACZ,mBAAkB;QAClB,YAAW;QACX,cAAa;QACb,mBAAkB;QAClB,SAAO,EAwBR,EAAA;IG7hDA;MHy+CF;QAgCO,UAAS;QACb,mBAAkB;QAClB,YAAW;QACX,cAAa;QACb,mBAAkB;QAClB,SAAO,EAeR,EAAA;IGniDA;MH++CF;QAyCK,UAAS;QACX,mBAAkB;QAClB,YAAW;QACX,cAAa;QACb,mBAAkB;QAClB,SAAO,EAMR,EAAA;IApDF;MAkDK,wDEr6C4D;cFq6C5D,gDEr6C4D,EFs6C9D;EAnDH;IAsDE,YAAU;IACV,0BEriDmC;IFsiDnC,eAAa;IACb,mBAAiB;IACjB,OAAK;IACL,iBEv/C+B;IFw/C/B,SAAO;IACP,gBAAe;IACf,kBAAiB;IACjB,eE3gD+B;IF4gD/B,mBAAkB;IAClB,wBAAuB,EAKvB;IAtEF;MAmEG,eAAa;MACb,gBAAc,EACd;EArEH;IAwEE,UAAQ;IACR,iBAAe,EAaf;IAtFF;MA2EG,iBEvgD8B;MFwgD9B,mBAAiB;MACjB,gBAAc,EAQd;MArFH;QA+EI,gBAAc;QACd,eE/hD4B,EFgiD5B;MAjFJ;QAmFI,kBAAgB,EAChB;EApFJ;IAwFG,eAAa;IACb,YAAU;IACV,oBExjDa,EFwlDd;IA1HF;MA4FG,YAAU;MACV,aAAW;MACX,oBAAkB;MAClB,iBAAe;MACf,YAAU,EAMV;MAtGH;QAkGI,YAAW;QACC,aAAY;QACxB,qBAAgB;WAAhB,kBAAgB,EAChB;IArGJ;MAwGG,yBAAuB;MACvB,mBAAiB;MACjB,kBAAgB;MAChB,iBEriD8B;MFsiD9B,YAAU,EAaV;MAzHH;QA8GI,sBAAoB;QACpB,eE7jD4B;QF8jD5B,iBEziD6B,EF6iD7B;QApHJ;UAkHO,eE/jD0B,EFgkD5B;MAnHL;QGt9CE,gBAAsC;QH6kDpC,iBEljD6B,EFmjD7B;EAxHJ;IA8HG,oBE5lDa,EF6lDb;EA/HH;IAiIG,oBE/lDa,EFgmDb;EAlIH;IAoII,eEjlD6B;IFklD7B,WAAS;IACT,iBE/jD6B,EFmkD9B;IA1IH;MAwIO,eEtlDyB,EFulD3B;;AAKL;;EAEI,YAAW;EACX,0BAAyB,EA4B5B;EA/BD;;IAKQ,mBAAiB;IACvB,UAAS,EAUP;IG7oDF;MH6nDF;;QASM,mBAAiB,EAOnB,EAAA;IGvoDF;MHunDF;;QAWM,mBAAiB,EAKnB,EAAA;IGjoDF;MHinDF;;QAcM,mBAAiB,EAEnB,EAAA;EAhBJ;;IAkBM,cAAY;IACf,qBAAmB,EAWlB;IG3pDF;MH6nDF;;QAqBE,iBAAe,EASb,EAAA;IGrpDF;MHunDF;;QAwBE,iBAAe,EAMb,EAAA;IG/oDF;MHinDF;;QA2BE,iBAAe,EAGb,EAAA;;AAEJ;EACC,sBAAoB;EG5iDnB,mBH8iDW;EG7iDX,mBH6iDoD;EG5iDpD,mBDlB0B;EFgkD5B,uDEriDiE;UFqiDjE,+CEriDiE;ECN/D,eD9B8B;EC+B9B,0BD1C+B;EC2C/B,0BD1BwC,EFwkDzC;EAVD;IGhiDI,eHuiD8C;IGtiD9C,0BDpBoC;ICqBpC,0BDX6C,ECY9C;;AHwiDH;EACI,mBAAiB;EACpB,oBEtpDe,EFurDf;EAnCD;IAIK,aAAW;IACd,cAAY;IACZ,oBEnjD+B;IFojD/B,iBAAe;IACf,uDEnjD+D;YFmjD/D,+CEnjD+D;IFojD/D,mCEljD0C;IFkjD1C,8BEljD0C;IFkjD1C,2BEljD0C;IFmjD1C,aAAW;IACX,oBAAkB,EAOlB;IAlBF;MAaE,aAAW;MACX,cAAY;MACR,YAAU;MACb,qBAAgB;SAAhB,kBAAgB,EAChB;EAjBH;IAqBQ,UAAQ,EACV;EAtBN;IA0BK,wDEtkD4D;YFskD5D,gDEtkD4D,EFukD9D;EGvrDD;IH4pDF;MA8BI,oBErrDY,EF0rDf,EAAA;EGrsDC;IHkqDF;MAiCI,oBExrDY,EF0rDf,EAAA;;AACD;EAEE,UAAQ,EACR;;AAHF;;EAME,4BAA2B,EAC3B;;AAPF;EAUG,0BAAwB;EACxB,YAAU;EACV,aAAW;EACX,0BEttDkC;EFutDlC,mBAAkB;EAClB,gBAAe;EACf,iBAAgB;EAChB,mBAAkB,EAMlB;EAvBH;IAmBI,0BE7tDiC;IF8tDjC,sBE9tDiC;IF+tDjC,eE9rD6B,EF+rD7B;;AAIJ;EAEI,gBAAc;EACd,eAAa;EACb,oBAAkB,EAClB;;AALJ;EAOI,oBE5tDY;EF6tDZ,YAAU,EACV;;AATJ;EAYI,mCAAkC;EAClC,iBAAgB;EAChB,iBAAgB;EACV,mBAAiB;EACjB,gBAAc;EACd,eErtDuB,EFstD5B;;AAlBL;EG7sDE,gBAAsC;EHmuDrC,mBAAiB;EACjB,eAAkB,EAEnB;;AAGF;EACE,eAAa;EACb,YAAU;EACV,wDEzoD+D;UFyoD/D,gDEzoD+D;EF0oD/D,mBAAiB;EACjB,mBE7oD+B;EF8oD/B,0BEzqDwC,EF6tDzC;EA1DD;IAQM,YAAU,EAqBb;IGzxDD;MH4vDF;QAUG,YAAU,EAmBV,EAAA;IGnxDD;MHsvDF;QAYG,YAAU,EAiBV,EAAA;IA7BH;MAeM,UAAQ,EAaV;MA5BJ;QAkBM,eEnvD0B;QFovD1B,iBE/tD2B,EFguD7B;MApBJ;QAsBM,eExvD0B,EF4vD5B;QA1BJ;UAwBS,eExvDwB,EFyvD1B;EAzBP;IA+BK,aAAW,EA0Bb;IG/yDD;MHsvDF;QAkCG,YAAU;QACV,iBAAe,EAsBf,EAAA;IGrzDD;MH4vDF;QAsCG,YAAU;QACV,iBAAe,EAkBf,EAAA;IAzDH;MA0CK,UAAQ,EAcV;MAxDH;QA4CK,mBAAiB,EAWnB;QAvDH;UA8CQ,UAAQ,EACV;QA/CN;UAiDO,eEnxDyB;UCP9B,gBAAsC,EH+xDlC;UAtDN;YAoDO,eEpxD0B,EFqxD5B;;AAOL;EACI,eAAa;EAChB,YAAU,EAoBV;EAtBD;IAIO,aAAW;IACd,cAAY;IACZ,YAAU,EACV;EAPJ;IASQ,0BAAwB;IAC9B,mBAAiB;IACjB,YAAU,EAUR;IArBJ;MAaM,UAAQ,EAOV;MApBJ;QAgBM,eE9yD0B;QCP9B,gBAAsC,EHwzDpC;;AAKJ;EAEI,UAAQ;EACX,YAAU,EAQP;EAXJ;IAKO,mBEjuD0B;IFkuD7B,mBAAiB;IACjB,wDEjuD6D;YFiuD7D,gDEjuD6D;IFkuD7D,0BE/vDsC;IFgwDtC,eE9zD4B,EF+zD5B;;AAIJ;EACI,mBAAiB,EA6DpB;EA9DD;IAKO,YAAU,EACZ;EANL;IASO,mCE9uDqC;IF8uDrC,8BE9uDqC;IF8uDrC,2BE9uDqC;IF+uDpC,mBAAiB;IACjB,cAAY;IACf,wDEpvD4D;YFovD5D,gDEpvD4D;IFqvD5D,+BEvvD4B;IFwvD5B,gCExvD4B;IFyvD5B,0BEpxDqC,EFsxDrC;EAjBL;IAqBQ,eEx1DwB,EFy1D3B;EAtBL;IAyBI,mBAAkB;IAClB,QAAO;IACP,SAAQ;IACR,UAAS;IACT,OAAM;IACN,aAAY;IACZ,aAAY,EAEZ;EAjCJ;;IAoCM,gBAAc;IACjB,kBAAiB,EAChB;EAtCJ;IAwCM,oBAAkB;IACrB,0BE34DkC;IF44DlC,eE32D8B;IF42D9B,YAAU;IACV,aAAW;IACX,kBAAgB;IAChB,YAAU;IACV,oBExxD8B;IFyxD9B,wDExxD8D;YFwxD9D,gDExxD8D,EFyxD7D;EAjDJ;IAmDM,oBAAkB;IACrB,0BEt5DkC;IFu5DlC,eEt3D8B;IFu3D9B,YAAU;IACV,aAAW;IACX,aAAW;IACX,mBAAiB;IACjB,oBEnyD8B;IFoyD9B,wDEnyD8D;YFmyD9D,gDEnyD8D,EFoyD7D;;AAIJ;EAEK,eAAa;EAChB,YAAU,EAqBR;EAxBJ;IAMK,YAAU;IACb,aAAW;IACX,qBAAgB;OAAhB,kBAAgB;IAChB,YAAU,EAIT;IAbH;MAWK,oBEpzD4B,EFqzD9B;EAZH;IAeM,yBAAuB;IAC1B,mBAAiB;IACjB,YAAU,EAMV;IAvBH;MG34DE,gBAAsC;MH+5DrC,iBEp4D8B;MFq4D9B,eEz5D6B,EF05D5B;;AAKJ;EAEE,UAAQ;EACR,wDEt0D+D;UFs0D/D,gDEt0D+D,EFu0D/D;;AAJF;EAMI,UAAQ;EACR,kBAAgB,EAChB;;AARJ;EAcK,UAAQ,EACR;;AAGL;EACI,oBE97DY,EFs8Df;EGp9DC;IH28DF;MAIK,oBEp8DW,EFy8Df,EAAA;EG98DC;IHq8DF;MAOK,oBEv8DW,EFy8Df,EAAA;;AACD;EACI,WAAU;EACV,oBE79DkC,EF89DrC;;AAGD;;;;iDAIiD;AACjD;EACI,oBEt9DY,EFu9Df;;AAED;EAEI,0BE74DsC;EF84DtC,mBEn3D6B,EFo3D/B;;AAJF;EGx3DE,gBD/B4B;ECgC5B,mBDd8B;ECe9B,oBH63DkD;EG13DlD,eD9B8B;EC+B9B,8BH43D0B;EG33D1B,aH23D+B,EAEhC;EAZD;IG72DI,eDpC4B;ICqC5B,8BHs3DuD;IGr3DvD,aHq3D4D,EGp3D7D;;AH02DH;EGn3DE,eD9B8B;EC+B9B,8BHi4D0B;EGh4D1B,aHg4D+B;EGv4D/B,gBD/B4B;ECgC5B,mBDd8B;ECe9B,mBDlB0B,EF45D3B;EApBD;IG72DI,eDpC4B;ICqC5B,8BH23DuD;IG13DvD,aH03D4D,EGz3D7D;;AHi4DH;EAGM,gBAAc;EACd,UAAQ;EACX,8BEv6DuC;EFw6DvC,iCEx6DuC,EFm7DtC;EAjBJ;IAQM,cAAY;IACf,eAAa,EACZ;EAVJ;IAWM,iBAAe;IAClB,kBAAgB,EACf;EAbJ;IAeM,eEh/D0B,EFi/D5B;;AAIJ;EAEK,eAAa;EAChB,YAAU,EAcV;EAjBF;IAKQ,YAAU;IACb,aAAW;IACX,YAAU,EAIV;IAXL;MASQ,qBAAgB;SAAhB,kBAAgB,EAClB;EAVN;IAaO,yBAAuB;IAC1B,mBAAiB;IACjB,YAAU,EACT;;AAGL;EAEM,UAAQ,EAgCV;EAlCJ;IAIM,mBAAiB;IACpB,0BE98DuC;IF+8DvC,mBEp7D8B;IFq7D9B,mBAAiB;IACjB,oBAAkB,EAyBjB;IAjCJ;MAUK,sBAAoB,EACrB;IAXJ;MAaM,gBAAc,EAChB;IAdJ;MAgBM,UAAQ;MACX,gBAAc;MACd,eEzhE6B;MF0hE7B,kBAAiB;MACjB,iBEtgE8B,EF6gE7B;MA3BJ;QAsBM,eAAa;QACb,eE/hE0B;QFgiE1B,iBE5gE2B;QF6gE3B,gBAAc,EAChB;IG5jEF;MHkiEF;QA8BO,kBAAiB,EAGpB,EAAA;;AAGJ;EACG,oBE5jEa,EFqkEf;EG1kEC;IHgkEF;MAIO,oBE/jES,EFqkEf,EAAA;EGhlEC;IHskEF;MAOO,oBElkES,EFqkEf,EAAA;;AG1kEC;EH2kEF;IAEI,iBErkEY,EFukEf,EAAA;;AG/kEC;EHglEF;IAEI,oBE1kEY,EF4kEf,EAAA;;AACD;;;;iDAIiD;AACjD;EACC,uDE1+DgE;UF0+DhE,+CE1+DgE;EF2+DhE,cEtlEe;EFulEf,0BEzmEqC;EF0mErC,mBEh/DgC,EFu/DhC;EG3mEC;IHgmEF;MAMK,cE3lEW,EFgmEf,EAAA;EGrmEC;IH0lEF;MASK,cE9lEW,EFgmEf,EAAA;;AACD;EAEI,iBAAe,EAYf;EG1nEF;IH4mEF;MAIO,iBAAe,EAUlB,EAAA;EGhoEF;IHknEF;MAOO,iBAAe,EAOlB,EAAA;EG1nEF;IH4mEF;MASO,iBAAe,EAKlB,EAAA;EGpnEF;IHsmEF;MAWO,gBAAc;MACjB,oBAAkB,EAElB,EAAA;;AAIJ;;;;iDAIiD;AACjD;EACC,mBAAiB;EACjB,iBAAe,EA0Cf;EA5CD;IAIE,mBAAiB;IACjB,YAAU;IACV,aAAW;IACX,oBErhE+B;IFshE/B,wDErhE+D;YFqhE/D,gDErhE+D;IFshE/D,aAAW;IACX,oBAAkB,EAclB;IAxBF;MAcE,UAAS;MACT,YAAW;MACX,aAAY;MACZ,qBAAiB;SAAjB,kBAAiB;MACjB,OAAM;MACN,QAAO;MACP,SAAQ;MACR,aAAY;MACZ,mBAAkB,EACjB;EAvBH;IA2BG,oBAAkB,EAClB;EA5BH;IA+BG,eExoE6B,EFyoE7B;EG7pED;IH6nEF;MAqCE,gBAAc;MACd,oBE9pEc;MF+pEd,iBAAe,EAKhB;MA5CD;QAyCG,eAAa,EACb,EAAA;;AGvqED;EH0qEF;IAIG,gBAAc;IACd,iBE1qEa,EF4qEd,EAAA;;AAMF;;;;iDAIiD;AAEjD;EACI,sBAAqB;EACrB,mBAAkB;EAClB,sBAAqB;EACrB,gBAAe;EACf,UAAS;EACT,oBE/sEkC;EFgtElC,SAAQ;EACR,YAAW;EACX,aAAY;EACZ,oBAAmB;EACnB,mBAAkB;EAClB,kBAAiB;EACpB,wDE1lEgE;UF0lEhE,gDE1lEgE;EF2lEhE,aAAW,EACX;;AAED;EACE,sBAAqB,EACtB;;AACD;EACI,kBAAgB,EAuCnB;EAxCD;IAGI,YAAW;IACX,cAAa;IACb,8BAA6B;IAC7B,+BAA8B;IAC9B,oBEnuEiC;IFouEjC,eAAc;IACd,mBAAkB;IAClB,+BAAsB;QAAtB,2BAAsB;YAAtB,uBAAsB;IACzB,YAAW;IACR,aAAY;IACZ,YAAU;IACb,WAAS,EAaP;IGxvED;MH6tEF;QAgBK,8BAA6B;QAC1B,+BAA8B;QACpC,gCAAuB;YAAvB,4BAAuB;gBAAvB,wBAAuB;QACvB,YAAW,EAQV,EAAA;IGlvED;MHutEF;QAsBI,cAAY,EAKb,EAAA;IG5uED;MHitEF;QAyBG,cAAY,EAEZ,EAAA;EGxvED;IH6tEF;MA8BE,kBAAiB,EAUlB,EAAA;EGzvEC;IHitEF;MAiCK,cAAY;MACf,kBExuEc,EF8uEf,EAAA;EG/vEC;IHutEF;MAqCK,cAAY;MACf,kBE5uEc,EF8uEf,EAAA;;AACD;EACI,qBEnvEY,EF2vEf;EGzwEC;IHgwEF;MAIE,qBExvEc,EF6vEf,EAAA;EGnwEC;IH0vEF;MAOE,qBE3vEc,EF6vEf,EAAA;;AACD;EACC,oBAAkB;EAClB,eAAa,EAMb;EARD;IAKK,mBAAiB;IACpB,WAAS,EACT;;AAEF;EACI,oBEzwEY;EF0wEf,mBAAiB;EACjB,WAAS,EA6DT;EAhED;IAKE,oBAAkB,EAKlB;IAVF;MAOG,UAAQ;MACR,gCE9vE8B,EF+vE9B;EATH;IAYE,gCElwE+B,EFmwE/B;EAbF;IAeE,UAAQ,EAWR;IA1BF;MAiBG,mBAAiB,EACjB;IAlBH;MAoBG,gCE1wE8B,EF+wE9B;MAzBH;QAuBO,2BAAyB,EAC5B;EAxBJ;IA6BG,kCAAgC,EAChC;EA9BH;IAgCG,gBAAc;IACd,gCEvxE8B,EF4xE9B;IAtCH;MAoCK,aE1xE4B,EF2xE3B;EArCN;IAwCG,8BEpuEuC,EFquEvC;EAzCH;IA6CE,eEnyE+B,ECPQ;EH6vEzC;IA6CE,eEnyE+B,ECNQ;EH4vEzC;IA6CE,eEnyE+B,ECLQ;EH2vEzC;IA6CE,eEnyE+B,ECJQ;EH0vEzC;IGvqEE,gBD/B4B;ICgC5B,mBHutE+C;IGttE/C,mBDlB0B;ICqB1B,eD/B8B;ICgC9B,0BDzC+B;IC0C/B,0BD5BwC,EFkvEvC;IAtDH;MG5pEI,eDrC4B;MCsC5B,0BD/C6B;MCgD7B,0BDlCsC,ECmCvC;EHypEH;IGlqEE,eD9B8B;IC+B9B,0BDxC+B;ICyC/B,0BD5BwC;ICqBxC,gBD/B4B;ICgC5B,mBDd8B;ICe9B,mBDlB0B,EFqvEzB;IA9DH;MG5pEI,eDdmC;MCenC,8BHotEsE;MGntEtE,0BDZ6C,ECa9C;;AH2tEH;EACI,qBAAmB;EACnB,mBAAiB;EACpB,WAAS,EAUT;EAbD;IAKE,UAAQ;IACR,gCE9zE+B,EF+zE/B;EAPF;IAUI,aEl0E6B,EFm0E5B;;AAIL;EACI,mBAAiB;EACpB,YAAU,EAiCV;EAnCD;IAIE,mBAAiB;IACjB,cAAY;IACZ,YAAU,EAWV;IAjBF;MASM,WAAS;MACZ,mBAAiB,EAMjB;MG13ED;QH02EF;UAYI,iBAAe,EAIhB,EAAA;MGp3ED;QHo2EF;UAcI,iBAAe,EAEhB,EAAA;EAhBH;IAmBE,mBAAkB;IAClB,aAAY;IACZ,eAAc,EAUd;IA/BF;MAuBM,WAAS;MACZ,mBAAiB,EAMjB;MGx4ED;QH02EF;UA0BI,iBAAe,EAIhB,EAAA;MGl4ED;QHo2EF;UA4BI,iBAAe,EAEhB,EAAA;EG53ED;IH81EF;MAiCI,cAAY,EAEf,EAAA;;AAOD;EACI,wBAAuB,EAC1B;;AACD;EACI,wBAAuB,EAC1B","file":"style.min.css","sourcesContent":["/*\r\nTheme Name: Applin\r\nTheme URI: https://cutter.com/applin/\r\nAuthor: cutter team\r\nAuthor URI: https://cutter.com/\r\nDescription: applin theme is a free apps theme.\r\nVersion: 1.0\r\nLicense: GNU General Public License v2 or later\r\nLicense URI: http://www.gnu.org/licenses/gpl-2.0.html\r\nText Domain: \r\nTags: apps, hosting,business etc.\r\n*/\r\n\r\n/*\r\n===========================\r\nTABLE INDEX\r\n1. Bg Color\r\n2. Bg Image\r\n3. Form & Button\r\n4. Section & Inner Title\r\n5. Shape Animation\r\n6. Header Area\r\n7. Service Area\r\n8. Feature Area\r\n9. Watch Video Area\r\n10. Apps Screenshot Area\r\n11. Apps Store Area\r\n12. Testimonial Area\r\n13. Price Plan Area\r\n14. Blog Area\r\n15. Sidebar Area\r\n16. community Area\r\n17. Footer Area\r\n===========================\r\n*/\r\n\r\n// All \tSCSS \r\n@import 'base/variables';\r\n@import 'base/reset';\r\n@import 'base/functions';\r\n@import 'base/typography';\r\n \r\n\r\n/* ==============================================\r\n\r\n1. Bg Color\r\n\r\n============================================== */\r\n.bg-color1{\r\n background-color: $bg-color1; \r\n}\r\n.bg-color2{\r\n background-color: $bg-color2; \r\n}\r\n.bg-color3{\r\n background-color: $bg-color3; \r\n}\r\n.bg-color4{\r\n background-color: $bg-color4; \r\n}\r\n.bg-overlay:before{\r\n\tcontent:'';\r\n position:absolute;\r\n\tleft:0;\r\n\tright:0;\r\n\ttop:0;\r\n\tbottom:0;\r\n\tbackground-color:$bg-overlay;\r\n\topacity:0.95;\r\n\tz-index:1;\r\n}\r\n.social-color1{\r\n color:$social-color1;\r\n}\r\n.social-color2{\r\n color:$social-color2;\r\n}\r\n.social-color3{\r\n color:$social-color3;\r\n}\r\n.social-color4{\r\n color:$social-color4;\r\n}\r\ndiv[class*=\"-wrapper\"]{\r\n\tposition:relative;\r\n\tz-index:3;\r\n}\r\n/* ==============================================\r\n\r\n2. Bg Image\r\n\r\n============================================== */\r\n.bg-image1{\r\n background: $bg-color1 url(\"../images/watch-video-bg.jpg\") no-repeat fixed center/cover; \r\n}\r\n\r\n.bg-image2{\r\n background: $bg-color1 url(\"../images/bg-image1.jpg\") no-repeat fixed center/cover; \r\n}\r\n\r\n.bg-image3{\r\n background: $bg-color1 url(\"../images/watch-video-bg.jpg\") no-repeat fixed center/cover; \r\n}\r\n\r\n\r\n\r\n/* ==============================================\r\n\r\n3. Form & Button\r\n\r\n============================================== */\r\nform,\r\nfieldset {\r\n padding:0;\r\n margin:0;\r\n}\r\n\r\ninput[type='text'],\r\ninput[type='tel'],\r\ninput[type='email'],\r\ninput[type='search'], \r\ninput[type='password'], \r\ntextarea[class],select {\r\n transition:$transition-base;\r\n @include form-size(\r\n inherit,($form-space-v + 5),($form-space-h - 10),$form-radius\r\n ) \r\n @include form-variant(\r\n inherit,transparent,$form-border, inherit,$form-change-bg,$form-change-border2\r\n )\r\n}\r\n\r\n\r\nbutton,\r\ninput[type='button'],\r\ninput[type='reset'],\r\ninput[type='file'],\r\ninput[type='submit'] {\r\n transition:$transition-base;\r\n @include form-size(\r\n $form-size,$form-space-v,$form-space-h,$form-radius\r\n ) \r\n @include form-variant(\r\n $form-color,$form-bg2,$form-border2, $form-change-color2,$form-change-bg3,$form-change-border2\r\n )\r\n \r\n}\r\n\r\n\r\n/* ==============================================\r\n\r\n4. Section & Inner Title\r\n\r\n============================================== */\r\n.section-title{ \r\n position: relative;\r\n bottom: 9px;\r\n\th2{\r\n\t\tmargin-bottom:$inner-30;\r\n\t\tfont-weight:$font-weight-semibold;\r\n\t\t\r\n\t\t@include laptop{\r\n\t\t margin-bottom:20px;\r\n\t\t}\r\n\t\t@include tablet{\r\n\t\t margin-bottom:20px;\r\n\t\t}\r\n\t}\r\n\t\r\n\t@include desktop{\r\n\t bottom:5px;\r\n\t}@include laptop{\r\n\t bottom:2px;\r\n\t}\r\n\t@include tablet{\r\n\t bottom:0px;\r\n\t}\r\n}\r\n.inner-title{ \r\n margin-bottom:$inner-30 - 10px;\r\n\th3,h4,h5,h6{\r\n\t margin:0;\r\n\t}\r\n}\r\n\r\n\r\n/* ==============================================\r\n\r\n5. Shape Animation\r\n\r\n============================================== */\r\n.cutter-ani{\r\n\t.shape-one{\r\n\t\tposition: absolute;\r\n left: 9%;\r\n top: 28%;\r\n animation: animationFramesOne 25s alternate infinite linear;\r\n\t}\r\n\t.shape-two{\r\n\t\t position: absolute;\r\n left: 38%;\r\n bottom: 25%;\r\n animation: animationFramesTwo 35s alternate infinite linear;\r\n\t}\r\n\t.shape-tree{\r\n\t\t position: absolute;\r\n bottom: 60%;\r\n right: 10%;\r\n animation: animationFramesFour 20s infinite linear;\r\n\t}\t\r\n\t.shape-four{\r\n\t position: absolute;\r\n bottom: 10%;\r\n right: 40%;\r\n animation: rotated 20s infinite linear;\r\n\t}\r\n\t.shape-five{\r\n\t position: absolute;\r\n bottom: 20%;\r\n left: 10%;\r\n animation: animationFramesFive 20s infinite linear;\r\n\t}\r\n\t.shape-six{\r\n\t position: absolute;\r\n animation: rotated 50s infinite linear;\r\n\t}\r\n\t@include tablet{\r\n\t display:none;\r\n\t}\r\n}\r\n/* ==============================================\r\n\r\n6. Header Area\r\n\r\n============================================== */\r\n.main-area{\r\n overflow:hidden;\r\n}\r\n.header-area{\r\n margin-bottom: 455px;\r\n\t&:before{\r\n content: \"\";\r\n height: 700px;\r\n border-bottom-left-radius: 220px;\r\n border-bottom-right-radius: 270px;\r\n background: $bg-color2;\r\n display: block;\r\n position: absolute;\r\n transform: skewY(6deg);\r\n\tleft: -50px;\r\n right: -70px;\r\n bottom: -250px;\r\n\tz-index:1;\r\n\t@include desktop{\r\n\t bottom: -190px;\r\n\t\tborder-bottom-left-radius: 200px;\r\n border-bottom-right-radius: 200px;\r\n\t}\r\n\t@include laptop{\r\n\t display:none;\r\n\t}\r\n\t@include tablet{\r\n\t display:none;\r\n\t}\r\n }\r\n .header-banner{\r\n padding:180px 50px 0px 0px;\r\n\t z-index: 3;\r\n position: relative;\r\n\t @include desktop{\r\n\t padding:100px 0px 0px 0px;\r\n\t } \r\n\t @include laptop{\r\n\t padding:70px 0px 100px 0px;\r\n\t }\r\n\t @include tablet{\r\n\t padding:60px 0px 80px 0px;\r\n\t }\r\n }\r\n @include desktop{\r\n margin-bottom:228px;\r\n }\r\n @include laptop{\r\n margin:0;\r\n }\r\n @include tablet{\r\n margin:0;\r\n }\r\n}\r\n.page-area{\r\n\r\n margin-bottom:205px;\r\n@include desktop{\r\n margin-bottom: 213px;\r\n }\r\n @include laptop{\r\n margin:0;\r\n } \r\n @include tablet{\r\n margin:0;\r\n }\r\n \r\n&:before{\r\n bottom: -130px;\r\n border-bottom-left-radius: 170px;\r\n border-bottom-right-radius: 150px;\r\n\t@include desktop{\r\n\t bottom: -170px;\r\n\t}\r\n\t@include laptop{\r\n\t bottom: -170px;\r\n\t}\r\n\t@include tablet{\r\n\t bottom: -170px;\r\n\t}\r\n }\r\n \r\n .header-page-title{\r\n padding-top:100px;\r\n @include laptop{\r\n\t padding-top: 70px;\r\n\t }\r\n @include tablet{\r\n\t padding-top: 50px;\r\n\t }\r\n }\r\n \r\n \r\n .header-shape {\r\n .left {\r\n\t\tleft: -190px;\r\n\t\ttop: -770px;\r\n\t\t\r\n\t\t@include desktop{\r\n left: -100px;\r\n top: -305px;\r\n width: 470px;\r\n\t\t}\r\n\t\t@include laptop{\r\n left: -120px;\r\n top: -300px;\r\n width: 470px;\r\n\t\t}\r\n\t\t@include tablet{\r\n\t\t left: -140px;\r\n\t\t\ttop: -220px;\r\n\t\t\twidth: 470px;\r\n\t\t}\r\n\t\t\r\n\t}\r\n\t.right {\r\n right: -670px;\r\n top: -610px;\r\n\t @include desktop{\r\n\t\t\tright: -250px;\r\n\t\t\ttop: -90px;\r\n\t\t\twidth: 480px;\r\n\t\t}\r\n\t\t@include laptop{\r\n right: -250px;\r\n top: -180px;\r\n width: 480px;\r\n\t\t}\r\n\t\t@include tablet{\r\n\t\t\tright: -250px;\r\n\t\t\ttop: -90px;\r\n\t\t\twidth: 480px;\r\n\t\t}\r\n\t}\r\n }\r\n}\r\n.header-shape{\r\n\tposition:absolute;\r\n\tleft:0;\r\n\tright:0;\r\n\ttop:0;\r\n\tz-index:2;\r\n\t.left{\r\n\tposition:absolute;\r\n left: -190px;\r\n top: -690px;\r\n\t\r\n\t@include desktop{\r\n left: -140px;\r\n top: -220px;\r\n width: 470px;\r\n\r\n\t}\r\n\t@include laptop{\r\n\t left: -80px;\r\n top: -220px;\r\n width: 400px;\r\n\t}\r\n\t}\r\n\t.right{\r\n\tposition:absolute;\r\n right: -640px;\r\n top: -610px;\r\n\t@include desktop{\r\n right: -295px;\r\n top: -90px;\r\n width: 600px;\r\n\t}\r\n\t@include laptop{\r\n right: -250px;\r\n top: -90px;\r\n width: 480px;\r\n\t}\r\n\t}\r\n\t\r\n\timg{\r\n\t max-width:100%;\r\n\t\t\r\n\t\t@include laptop{\r\n\t\t\tmax-width:80%;\r\n\t\t}\r\n\t\t@include tablet{\r\n\t\t\tmax-width:80%;\r\n\t\t}\r\n\t}\r\n\t\r\n\t@include tablet{\r\n\t display:none;\r\n\t}\r\n}\r\n.header-nav{\r\n padding-top:$inner-70;\r\n \r\n @include laptop{\r\n padding-top:$inner-30;\r\n }\r\n @include tablet{\r\n padding-top:$inner-30;\r\n }\r\n display:table;\r\n width:100%;\r\n position:relative;\r\n z-index:10;\r\n .cutter-navbar{\r\n\t padding:0;\r\n\t}\r\n\r\n\t.header-logo{\r\n\t padding:15px 0;\r\n\t float:left;\r\n\t}\r\n\t\r\n .cutter-navbar{\r\n float:right;\r\n\t @include laptop{\r\n\t float:none;\r\n\t } \r\n\t @include tablet{\r\n\t float:none;\r\n\t }\r\n }\t\r\n \r\n.main-menu {\r\n @include laptop{\r\n position:absolute;\r\n left:0;\r\n right:0;\r\n background-color:$bg-color1;\r\n box-shadow:$box-shadow;\r\n border-radius:$border-radius;\r\n top: 0;\r\n } \r\n @include tablet{\r\n position:absolute;\r\n left:0;\r\n right:0;\r\n background-color:$bg-color1;\r\n box-shadow:$box-shadow;\r\n border-radius:$border-radius;\r\n top: 0;\r\n }\r\n li{\r\n \r\n border: 0 !important;\r\n background-color: transparent;\r\n a {\r\n padding: 15px 15px 15px 15px;\r\n color: $font-color4;\r\n\t\r\n\t@include laptop{\r\n\t color:$font-color-base;\r\n\t}\t\r\n\t@include tablet{\r\n\t color:$font-color-base;\r\n\t}\r\n }\r\n &.has-submenu a {\r\n padding: 15px 30px 15px 15px;\r\n }\r\n &.has-submenu {\r\n ul li {\r\n a {\r\n color: $font-color-base;\r\n padding: 15px 15px;\r\n\t\t\r\n\t\ttransition:$transition-base;\r\n &:hover {\r\n text-indent: 2px;\r\n color: $font-color3;\r\n }\r\n }\r\n background-color: $bg-color1;\r\n }\r\n > ul:before {\r\n content: \"\";\r\n background-color: $bg-color1;\r\n width: 15px;\r\n height: 15px;\r\n display: block;\r\n position: relative;\r\n left: 10px;\r\n top: 10px;\r\n transform: rotate(45deg);@include laptop{\r\n\t display:none;\r\n\t}@include tablet{\r\n\t display:none;\r\n\t} \r\n }\r\n }\r\n .sub-toggle {\r\n background: transparent;\r\n width:20px;\r\n i:before {\r\n font-family: \"Font Awesome 5 Free\";\r\n font-weight: 900;\r\n content: \"\\f107\";\r\n position: absolute;\r\n color: $font-color4;\r\n font-style: normal;\r\n\t @include tablet{\r\n\t color: $font-color2;\r\n\t }\r\n\t @include laptop{\r\n\t color: $font-color2;\r\n\t }\r\n }\r\n\t@include laptop{\r\n\t width: 45px;\r\n height: 100% !important;\r\n\t}\r\n\t@include tablet{\r\n\t width: 45px;\r\n height: 100% !important;\r\n\t}\r\n }\r\n a {\r\n &:hover, &:focus {\r\n background-color: transparent;\r\n color: $font-color4;\r\n\t \r\n\t @include laptop{\r\n\t color: $link-color;\r\n\t } \r\n\t @include tablet{\r\n\t color: $link-color;\r\n\t } \r\n }\r\n }\r\n .sub-toggle i {\r\n color: transparent;\r\n position: relative;\r\n }\r\n &.has-submenu ul {\r\n position: absolute;\r\n min-width: 180px;\r\n li {\r\n float: none;\r\n display: block;\r\n }\r\n } \r\n }\r\n \r\n}\r\n.menu-collapser{\r\n .collapse-button{\r\n top: -38px;\r\n\t\t .icon-bar{\r\n\t\t background-color:$bg-color1;\r\n\t\t }\r\n }\r\n}\r\n.col-lg-10{\r\n @include laptop{\r\n position:static;\r\n }\r\n @include tablet{\r\n position:static;\r\n }\r\n}\r\n}\r\n@-webkit-keyframes banner-mockup {\r\n 0% {\r\n -webkit-transform: translateY(8px);\r\n transform: translateY(8px);\r\n }\r\n 50% {\r\n -webkit-transform: translateY(4px);\r\n transform: translateY(4px);\r\n }\r\n 100% {\r\n -webkit-transform: translateY(8px);\r\n transform: translateY(8px);\r\n }\r\n}\r\n@keyframes banner-mockup {\r\n 0% {\r\n -webkit-transform: translateY(8px);\r\n transform: translateY(8px);\r\n }\r\n 50% {\r\n -webkit-transform: translateY(4px);\r\n transform: translateY(4px);\r\n }\r\n 100% {\r\n -webkit-transform: translateY(8px);\r\n transform: translateY(8px);\r\n }\r\n}\r\n@-webkit-keyframes banner-mockup-sink {\r\n 100% {\r\n -webkit-transform: translateY(8px);\r\n transform: translateY(8px);\r\n }\r\n}\r\n@keyframes banner-mockup-sink {\r\n 100% {\r\n -webkit-transform: translateY(8px);\r\n transform: translateY(8px);\r\n }\r\n}\r\n.header-banner{\r\n\t.banner-content{\r\n\t padding-right:$inner-30;\r\n\t position:relative;\r\n\t z-index:2;\r\n\t \t \r\n\t @include laptop{\r\n\t padding-right:0;\r\n\t } \r\n\t @include tablet{\r\n\t padding-right:0;\r\n\t }\r\n\t}\r\n\t\r\n\t.banner-mockup{\r\n\t z-index:2;\r\n\t position:absolute;\r\n\t\tanimation-name: banner-mockup-sink, banner-mockup;\r\n\t\tanimation-duration: .3s, 1.5s;\r\n\t\tanimation-delay: 0s, .3s;\r\n\t\tanimation-timing-function: ease-out, ease-in-out;\r\n\t\tanimation-iteration-count: 1, infinite;\r\n\t\tanimation-fill-mode: forwards;\r\n\t\tanimation-direction: normal, alternate;\r\n\t\t\r\n\t\t@include tablet{\r\n\t display:none;\r\n\t \r\n\t}\r\n\t@include desktop{\r\n\t margin:0;\r\n\t img{\r\n\t max-width:100%;\r\n\t }\r\n\t}@include laptop{\r\n\t margin:0;\r\n\t img{\r\n\t max-width:100%;\r\n\t }\r\n\t}\r\n\t}\r\n\t.banner-btn{\r\n\t li{\r\n\t margin-right:20px;\r\n\t\t margin-bottom:10px;\r\n\t\t &:last-child{\r\n\t\t margin:0;\r\n\t\t }\r\n\t\t \r\n\t\t @include mobile{\r\n\t\t\t display:block;\r\n\t\t\t margin-right:0;\r\n\t\t\t a{\r\n\t\t\t\t display:block;\r\n\t\t\t }\r\n\t\t }\r\n\t }\r\n\t}\r\n}\r\n.header-page-title{\r\n\tposition:relative;\r\n\tz-index:3;\r\n\tpadding-top:160px;\r\n\t.page-post-date{\r\n\t margin:0;\r\n\t li{\r\n\t\t margin-right:20px;\r\n\t\t img{\r\n\t\t\t \tmargin-right: 10px;\r\n\t\t\t\twidth: 15px;\r\n\t\t\t\theight: 15px;\r\n\t\t\t\tobject-fit: contain;\r\n\r\n\t\t }\r\n\t }\r\n\t}\r\n\t.author-name{\r\n\t img{\r\n\t\t width:65px;\r\n\t\t\theight:65px;\r\n\t\t\tborder-radius:$round-radius;\r\n\t\t\tmargin-bottom:20px;\r\n\t\t\tobject-fit:cover;\r\n\t\t}\r\n\t\t.social-link{\r\n\t\t margin:0;\r\n\t\t margin-top:10px;\r\n\t\t}\r\n\t}\r\n\t@include tablet{\r\n\t padding-top:60px;\r\n\t padding-bottom:90px;\r\n\t}\r\n\t@include laptop{\r\n\t padding-top:80px;\r\n\t padding-bottom:100px;\r\n\t}\r\n}\r\n\r\n.dwn-btn1{\r\n @include form-size(\r\n $form-size2,$form-space-v + 6, $form-space-v + 10,$form-radius\r\n ) \r\n @include form-variant(\r\n $form-color2,$form-bg,$form-border3, $form-change-color2,$form-bg3,$form-change-border3\r\n )\r\n span{\r\n margin-left:10px;\r\n }\r\n img{\r\n\t height:20px;\r\n\t width:20px;\r\n\t object-fit:contain;\r\n }\r\n}\r\n.dwn-btn2{\r\n @include form-size(\r\n $form-size2,$form-space-v + 5, $form-space-v + 10,$form-radius\r\n ) \r\n @include form-variant(\r\n $form-color,transparent,$form-border3, $form-change-color,$form-change-bg4,$form-change-border4\r\n )\r\n span{\r\n margin-left:10px;\r\n\t vertical-align: middle;\r\n }\r\n img{\r\n\t height:20px;\r\n\t width:20px;\r\n\t object-fit:contain;\r\n }\r\n}\r\n\r\n\r\n/* ==============================================\r\n\r\n7. Service Area\r\n\r\n============================================== */\r\n.line-color1{\r\n\tbackground-color:#fec2c2;;\r\n}\r\n.line-color2{\r\n\tbackground-color:#b0ffca;\r\n}.line-color3{\r\n\tbackground-color:#d8c8fc;\r\n}\r\n.service-box{\r\n\ttext-align:center;\r\n\tmargin-bottom:$inner-30;\r\n\t.service-logo{\r\n\t\tpadding:21px 5px;\r\n\t\twidth:85px;\r\n\t\theight:85px;\r\n\t\tborder-radius:$round-radius;\r\n\t\tbox-shadow:$box-shadow-deep;\r\n\t\tdisplay:block;\r\n text-align:center;\r\n vertical-align:middle;\r\n margin:auto auto $inner-30;\t\r\n\t\ttransition:$transition-base;\r\n\t}\r\n\t.service-content{\r\n\t\t\r\n\t\th5,h4,h3{margin-bottom:20px;}\r\n\t\tp{ margin-bottom:$inner-30; }\r\n\t}\r\n\t.service-line{\r\n\t\tposition: relative;\r\n\t\twidth:2px;\r\n\t\theight:70px;\r\n\t\tdisplay:block;\r\n\t\ttop:0;\r\n\t\tmargin:auto auto 0;\t\r\n\t\ttransition:$transition-base;\r\n\t}\r\n\t&:hover{\r\n\t\t.service-logo{\r\n\t\t\tbox-shadow:$box-shadow;\r\n\t\t\t\r\n\t\t}\r\n\t\t.service-line{\r\n\t\t\ttop: -15px;\r\n\t\t}\r\n\t}\r\n}\r\n\r\n/* ==============================================\r\n\r\n8. Feature Area\r\n\r\n============================================== */\r\n\r\n\r\n.feature-box{\r\n\toverflow:hidden;\r\n\tposition:relative;\r\n\tbox-shadow:$box-shadow;\r\n\tpadding:$inner-90 $inner-30 $inner-70;\r\n\tmargin-bottom:$inner-30;\r\n\ttext-align:center;\r\n\tborder-radius:$border-radius;\r\n\ttransition:$transition-base;\r\n\t.feature-logo{\r\n\t\twidth:85px;\r\n\t\theight:85px;\r\n\t\tbox-shadow:$box-shadow-deep;\r\n\t\tborder-radius:$round-radius;\r\n\t\tmargin:auto auto $inner-30;\r\n\t\tpadding:21px 5px;\r\n\t\ttransition:$transition-base;\r\n\t}\r\n\t&:after{\r\n\t\tcontent:\"\";\r\n\t\twidth:170px;\r\n\t\theight:1px;\r\n\t\tdisplay:block;\r\n\t\tbackground:#6d49bf;\r\n\t\topacity:0.14;\r\n\t\tposition:absolute;\r\n\t\ttop:50px;\r\n\t\tleft:30px;\r\n\t\t\r\n\t\t@include laptop{\r\n\t\t display:none;\r\n\t\t}\r\n\t}\r\n\t&:before{\r\n\t\tcontent:\"\";\r\n\t\twidth:1px;\r\n\t\theight:170px;\r\n\t\tdisplay:block;\r\n\t\tbackground:#6d49bf;\r\n\t\topacity:0.14;\r\n\t\tposition:absolute;\r\n\t\ttop:30px;\r\n\t\tleft:50px;\r\n\t\t@include laptop{\r\n\t\t display:none;\r\n\t\t}\r\n\t}\r\n\t.feature-content{\r\n\t\th3,h4,h5{\r\n\t\t\t\r\n\t\t\tmargin-bottom:$inner-30 - 10;\r\n\t\t}\r\n\t\tp{\r\n\t\t\tmargin:0;\r\n\t\t}\r\n\t}\r\n\t.feature-shape{\r\n\t\twidth: 100%;\r\n\t\theight: 110px;\r\n\t\tbackground: $bg-color1;\r\n\t\topacity:0.03;\r\n\t\tdisplay: block;\r\n\t\tborder-radius: $round-radius;\r\n\t\tposition: absolute;\r\n top: -8px;\r\n right: -140px;\r\n\t\ttransform: rotate(-55deg);\r\n\t\t}\r\n\t\t&:hover{\r\n\t\t\tbackground-color:$bg-color2;\r\n\t\t\t*{\r\n\t\t\t\tcolor:$font-color4;\r\n\t\t\t}\r\n\t\t\t.feature-logo{\r\n\t\t\t\tbackground-color:$bg-color1;\r\n\t\t\t}\r\n\t\t\t&:before{\r\n\t\t\t\tbackground-color:$bg-color1;\r\n\t\t\t\topacity:0.15;\r\n\t\t\t}\r\n\t\t\t&:after{\r\n\t\t\t\tbackground-color:$bg-color1;\r\n\t\t\t\topacity:0.15;\r\n\t\t\t}\r\n\t\t}\r\n\t\t@include laptop{\r\n\t\t padding: $inner-40 15px;\r\n\t\t}\r\n}\r\n.feature-img{\r\n margin-bottom:30px;\r\n\t\r\n\t.image-mockup{\r\n\t\t\r\n\t\t@include laptop{\r\n\t\t max-width:500px;\r\n\t\t}\r\n\t\t@include tablet{\r\n\t\t max-width:380px;\r\n\t\t}\r\n\t}\r\n\t\r\n}\r\n\r\n\r\n/* ==============================================\r\n\r\n9. Watch Video Area\r\n\r\n============================================== */\r\n\r\n.watch-video-play{\r\n\tposition:relative;\r\n\t\tmargin-top:240px;\r\n\timg{\r\n\t\tmax-width:100%;\r\n\tborder-radius:$border-radius;\r\n\t}\r\n\t@include laptop {\r\n\t margin-top:0;\r\n\t margin-bottom:30px;\r\n\t padding-right:15px;\r\n\t}\t\r\n\t@include tablet {\r\n\t margin-top:0;\r\n\t margin-bottom:30px;\r\n\t padding-right:15px;\r\n\t}\r\n.play-btn {\r\n padding:29px 10px;\r\n display: block;\r\n text-align:center;\r\n width: 90px;\r\n height: 90px;\r\n border-radius: $round-radius;\r\n background: $bg-color1;\r\n cursor: pointer;\r\n box-shadow: 0 0 0 rgba(255, 255, 255, 0.8);\r\n animation: play-btn 1.5s infinite;\r\n position: absolute;\r\n top: 0;\r\n right: 0;\r\n left: 0;\r\n bottom: 0;\r\n margin: auto;\r\n i{\r\n\t font-size:32px;\r\n }\r\n &:hover {\r\n -webkit-animation: none;\r\n animation: none;\r\n }\r\n}\r\n\r\n@keyframes play-btn {\r\n 0% {\r\n box-shadow: 0 0 0 0 rgba(255, 255, 255, 0.4);\r\n }\r\n\r\n 70% {\r\n box-shadow: 0 0 0 15px rgba(255, 255, 255, 0);\r\n }\r\n\r\n 100% {\r\n box-shadow: 0 0 0 0 rgba(255, 255, 255, 0);\r\n }\r\n}\r\n}\r\n.watch-video-content{\r\n\t\r\n\t.watch-video-top{\r\n\t\tbackground-color:$bg-color3;\r\n\t\tborder-top-left-radius:$border-radius;\r\n\t\tborder-top-right-radius:$border-radius;\r\n\t\tpadding:$inner-30;\r\n\t\th2{\r\n\t\t\tmargin:0;\r\n\t\t}\r\n\t\t@include laptop{\r\n\t\t padding:$inner-30 - 10;\r\n\t\t}\r\n\t\t@include tablet{\r\n\t\t padding:$inner-30 - 10;\r\n\t\t}\r\n\t}\r\n\t.watch-video-bottom{\r\n\t\tborder-bottom-left-radius:$border-radius;\r\n\t\tborder-bottom-right-radius:$border-radius;\r\n\t background-color:$bg-color1;\r\n\t\tpadding:$inner-30;\r\n\t\tp{ margin:0; }\r\n\t\t\r\n\t\t@include laptop{\r\n\t\t padding:30px;\r\n\t\t}@include tablet{\r\n\t\t padding:30px;\r\n\t\t}\r\n\t\t\r\n\t}\r\n\t@include laptop{\r\n\t padding-left:15px;\r\n\t}\r\n\t@include tablet{\r\n\t padding-left:15px;\r\n\t}\r\n\t\r\n}\r\n.watch-arrow{\r\n\tmargin:20px;\r\n\t\r\n\t@include laptop{\r\n\t display:none;\r\n\t}\r\n\t@include tablet{\r\n\t display:none;\r\n\t}\r\n}\r\n\r\n\r\n\r\n/* ==============================================\r\n\r\n10. Apps Screenshot Area\r\n\r\n============================================== */\r\n.apps-screenshot-img{\r\n\timg{\r\n\t\t position: relative;\r\n\t\t\tmax-width: 100%;\r\n\t\t\r\n\t\t@include desktop{\r\n\t\t\tmargin-left:0;\r\n\t\t\tmax-width:100%;\r\n\t\t}@include laptop{\r\n\t\t\tmargin-left:0;\r\n\t\t\tmax-width:100%;\r\n\t\t\tmargin-bottom:$inner-30;\r\n\t\t}\r\n\t\t@include tablet{\r\n\t\t\tmargin-left:0;\r\n\t\t\tmax-width:100%;\r\n\t\t\tmargin-bottom:$inner-30;\r\n\t\t}\r\n\t}\r\n}\r\n.screenshot-list{\r\n\t position:relative;\r\n\tli{\r\n\t\tpadding-left:25px;\r\n\t\tmargin-bottom:5px;\r\n\t\t&:before{\r\n\t\t\t font-family: \"Font Awesome 5 Free\";\r\n\t\t\t font-weight: 900;\r\n\t\t\t content: \"\\f068\";\r\n\t\t\t position:absolute;\r\n\t\t\t left:0;\r\n\t\t\t color:$font-color3;\r\n\t\t}\r\n\t}\r\n}\r\n.screenshot-content{\r\n margin-bottom:$inner-30;\r\n}\r\n.swiper-container{\r\n margin-bottom:$inner-30;\r\n}\r\n.apps-download-link{\r\n\tp{\r\n\t\tcolor:$font-color2;\r\n \r\n\t}\r\n}\r\n\r\n/* ==============================================\r\n\r\n11. Apps Store Area\r\n\r\n============================================== */\r\n.download-list{\r\n\t position:relative;\r\n\tli{\r\n\t\tpadding-left:20px;\r\n\t\tmargin-bottom:5px;\r\n\t\t&:before{\r\n\t\t\t\tfont-family: \"Font Awesome 5 Free\";\r\n\t\t\t\tfont-weight: 900;\r\n\t\t\t\tcontent: \"\\f111\";\r\n\t\t\t\tfont-size: 8px;\r\n\t\t\t\tposition: absolute;\r\n\t\t\t\tline-height: 30px;\r\n\t\t\t\tleft: 0;\r\n\t\t\t color:$font-color3;\r\n\t\t}\r\n\t}\r\n}\r\n.cutter-graph-img{\r\n\timg{\r\n\t\tz-index:2;\r\n\t\tposition:relative;\r\n\t\t\r\n\t\t@include desktop{\r\n\t\t\r\n\t\t max-width: 380px;\r\n\t\t}@include laptop{\r\n\t\t\r\n\t\t max-width: 380px;\r\n\t\t}\r\n\t\t@include tablet{\r\n\t\t\r\n\t\t max-width: 380px;\r\n\t\t}\r\n\t}\r\n\t@include tablet{\r\n\t margin-bottom:$inner-30;\r\n\t}\r\n}\r\n\r\n.download-btn{\r\n li{\r\n margin-top:10px;\r\n\t @include mobile{\r\n\t display:block;\r\n\t\t float:none;\r\n\t\t margin-right:0 !important;\r\n\t\t \r\n\t\t a{\r\n\t\t width:100%;\r\n\t\t }\r\n\t }\r\n }\r\n}\r\n.shape-six{\r\n\t\r\n bottom: 0;\r\n right: -650px;\r\n\t\r\n\t@include desktop{\r\n\t\tright: -350px;\r\n\t\tmax-width: 480px;\r\n\t}\t\r\n\t@include laptop{\r\n\t\tright: -407px;\r\n\t\tmax-width: 480px;\r\n\t}\r\n}\r\n\r\n/* ==============================================\r\n\r\n12. Testimonial Area\r\n\r\n============================================== */\r\n.testimonial-thumbs{\r\n\twidth: 100%;\r\n height: 100%;\r\n\tposition:relative;\r\n\tmargin:0;\r\n\tmin-height: 350px;\r\n\tli{\r\n\t\t\twidth:100%;\r\n\t\t\tobject-fit:cover;\r\n\t\t\twidth: 80px;\r\n height: 80px;\r\n\t\tborder-radius:$round-radius;\r\n\t\toverflow:hidden;\r\n\t\tposition:absolute;\r\n\t\ttop:0;\r\n\t\tleft:0;\r\n\t\tbottom:0;\r\n\t\tright:0;\r\n\t\tmargin:auto;\r\n\t\tcursor:pointer;\r\n\t\tbox-shadow:$box-shadow-deep;\r\n\t\timg{\r\n\t\t\tobject-fit:cover;\r\n\t\t\twidth:80px;\r\n\t\t\theight:80px;\r\n\t\t}\r\n\t\t&:before{\r\n\t\t\tcontent:\"\";\r\n\t\t\tposition:absolute;\r\n\t\ttop:0;\r\n\t\tleft:0;\r\n\t\tbottom:0;\r\n\t\tright:0;\r\n\t\tz-index:2;\r\n\t\tbackground:$bg-overlay;\r\n\t\topacity:0;\r\n\t\ttransition:$transition-base;\r\n\t\t}\r\n\t\t\r\n\t}\r\n\t.active{\r\n\t\t&:before{\r\n\t\t\topacity:0.5;\r\n\t\t}\r\n\t}\r\n\tli:nth-child(1){\r\n \r\n left: -270px;\r\n top: -267px;\r\n\t \r\n\t @include laptop{\r\n\t left: -150px;\r\n\t }\r\n\r\n\t}\r\n\tli:nth-child(2){\r\n \r\n left: 270px;\r\n top: -180px;\r\n\t@include laptop{\r\n\t left: 180px;\r\n\t}\r\n\r\n\t}\r\n\tli:nth-child(3){\r\n \r\n left: -270px;\r\n top: 120px;\r\n\t\r\n\t@include laptop{\r\n\t left: -145px;\r\n top: 220px;\r\n\t}\r\n\r\n\t}\r\n\tli:nth-child(4){\r\n \r\n right: -210px;\r\n top: 270px;\r\n\r\n\t\t\r\n\r\n\t}\r\n\tli:nth-child(5){\r\n \r\n\t\t width:60px;\r\n\t\theight:60px;\r\n\t\t\r\n\t\timg{\r\n\t\t\twidth:60px;\r\n\t\t\theight:60px;\r\n\t\t}\r\n\r\n\r\n\t}\r\n\t@include tablet{\r\n\t \r\n\t}\r\n}\r\n.testimonial-slider{\r\n\r\n\t.author-content{\r\n\t\tposition:relative;\r\n\t\tbox-shadow:$box-shadow-spead;\r\n\t\tpadding:$inner-60 $inner-70 $inner-70 $inner-70;\r\n\t\tmargin:30px 0;\r\n\t\t&:before{\r\n\t\t\tcontent: \"\";\r\n\t\t\tbackground-image: url(../images/quote-top.png);\r\n\t\t\twidth: 90px;\r\n\t\t\theight: 76px;\r\n\t\t\tbackground-size: cover;\r\n\t\t\tdisplay: block;\r\n\t\t\tposition: absolute;\r\n\t\t\ttop: -30px;\r\n\t\t\tleft: 0;\r\n\t\t\topacity:0.3;\r\n\t\t\tz-index:2;\r\n\t\t}\r\n\t\t&:after{\r\n\t\t\tcontent: \"\";\r\n\t\t\tbackground-image: url(../images/quote-bottom.png);\r\n\t\t\twidth: 90px;\r\n\t\t\theight: 75px;\r\n\t\t\tbackground-size: cover;\r\n\t\t\tdisplay: block;\r\n\t\t\tposition: absolute;\r\n\t\t\tbottom: -30px;\r\n\t\t\tright: 0;\r\n\t\t\topacity:0.3;\r\n\t\t\tz-index:2;\r\n\t\t}\r\n\t\t@include laptop{\r\n\t\t padding:$inner-30 $inner-30;\r\n\t\t\tbox-shadow:$box-shadow;\r\n\t\t}\r\n\t\t@include tablet{\r\n\t\t padding:$inner-30 $inner-30;\r\n\t\t\tbox-shadow:$box-shadow;\r\n\t\t}\r\n\t}\r\n\t.author-desc{\r\n\t\th2{\r\n\t\t\tmargin-bottom:$inner-40;\r\n\t\t\tfont-weight:$font-weight-semibold;\r\n\t\t\t\r\n\t\t\t@include laptop{\r\n\t\t\t\tmargin-bottom:$inner-30;\r\n\t\t\t}\r\n\t\t\t@include tablet{\r\n\t\t\t\tmargin-bottom:$inner-30;\r\n\t\t\t}\r\n\t\t}\r\n\t\tp{\r\n\t\t\tmargin-bottom:$inner-40;\r\n\t\t}\r\n\t}\r\n\t.author-name{\r\n\t\th4,h5{\r\n\t\t\tmargin:0;\r\n\t\t}\r\n\t\ta{\r\n\t\t\tcolor:$font-color2;\r\n\t\t\tfont-weight:$font-weight-semibold;\r\n\t\t\tdisplay:block;\r\n\t\t\tmargin-bottom:5px;\r\n\t\t\t&:hover{\r\n\t\t\t color:$font-color3;\r\n\t\t\t}\r\n\t\t}\r\n\t\tspan{\r\n\t\t\tdisplay:block;\r\n\t\t @include font-size($small-font-size);\r\n\t\t\tfont-weight:$font-weight-normal;\r\n\t\t\tcolor:$font-color-base;\r\n\t\t}\r\n\t}\r\n\t.owl-dots{\r\n\t text-align: left;\r\n margin-top: $inner-30;\r\n margin-bottom: $inner-30;\r\n\t\tpadding-left:15px;\r\n\t .owl-dot{\r\n\t\t width:15px;\r\n\t\t height:15px;\r\n\t\t margin-right:10px;\r\n\t\t border-radius:$round-radius;\r\n\t\t background-color:$bg-color4;\r\n\t\t}\t \r\n\t\t.owl-dot.active{\r\n\t\t background-color:$bg-color2;\r\n\t\t}\r\n\t\t\r\n\t\t@include desktop{\r\n\t\t\tdisplay:none;\r\n\t\t}\r\n\t\t@include laptop{\r\n\t\t\tdisplay:none;\r\n\t\t}\r\n\t}\r\n\t\r\n\t@include laptop{\r\n\t\tmargin-bottom:$inner-30;\r\n\t}\r\n}\r\n\r\n\r\n\r\n\r\n/* ==============================================\r\n\r\n13. Price Plan Area\r\n\r\n============================================== */\r\n.price-plan-title{\r\n position:relative;\r\n\tbottom:10px;\r\n\th2{\r\n\t\tfont-weight:$font-weight-semibold;\r\n\t\tmargin-bottom:$inner-30;\r\n\t}\r\n\tp{\r\n\t margin-bottom:$inner-50;\r\n\t\t@include laptop{\r\n\t\t margin-bottom:$inner-30;\r\n\t\t}\r\n\t\t@include tablet{\r\n\t\t margin-bottom:$inner-30;\r\n\t\t}\r\n\t}\r\n\t@include laptop{\r\n\t margin-bottom:$inner-40;\r\n\t bottom:0px;\r\n\t}\r\n\t@include tablet{\r\n\t margin-bottom:$inner-40;\r\n\t bottom:0px;\r\n\t}\r\n}\r\n.price-plan-box{\r\n\t box-shadow:$box-shadow-deep;\r\n\t\tborder-radius:$border-radius;\r\n\t\toverflow:hidden;\r\n\t\tmargin-bottom:$inner-30;\r\n\t.price-title{\r\n\t\tdisplay:table;\r\n\t\twidth:100%;\r\n\t\t.price-curency{\r\n\t\t\twidth:140px;\r\n\t\t\theight:120px;\r\n\t\t\tbackground-color:$bg-color2;\r\n\t\t\tfloat:left;\r\n\t \tp{\r\n\t\t\t\t@include font-size($big-size1); \r\n\t\t\t\tfont-weight:$font-weight-light;\r\n\t\t\t\tcolor:$font-color4;\r\n\t\t\t\tmargin: 6px 0px;\r\n\t\t\t\tsup{\r\n\t\t\t\t\tfont-size:30px;\r\n\t\t\t\t\ttop:-25px;\r\n\t\t\t\t\tmargin-right: 5px;\r\n\t\t\t\t}\r\n\t\t\t\t@include laptop{\r\n\t\t\t\t font-size: 40px;\r\n margin: 30px 0px;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\t@include laptop{\r\n\t\t\t width:100px;\r\n\t\t\t}\r\n\t\t}\r\n\t\t.price-package{\r\n\t\t\twidth:calc(100% - 140px);\r\n\t\t\theight:120px;\r\n\t\t\tbackground-color:$bg-color4;\r\n\t\t\tfloat:left;\r\n\t\t\th5{\r\n\t\t\t\t@include font-size($h5-font-size);\r\n\t\t\t\tcolor:$font-color2;\r\n\t\t\t\tmargin: 0;\r\n\t\t\t}\r\n\t\t\t\r\n\t\t\t@include laptop{\r\n\t\t\t width: calc(100% - 100px);\r\n\t\t\t}\r\n\t\t}\r\n\t\t\r\n\t}\r\n\t.price-content{\r\n\t\t\r\n\t background-color:$bg-color1;\r\n\t\t padding:$inner-50 $inner-30 $inner-60;\r\n\t\t.price-list{\r\n\t\t\tmargin-bottom:$inner-50;\r\n\t\t\tli{\r\n\t\t\t\tmargin-bottom:15px;\r\n\t\t\t}\r\n\t\t}\r\n\t\t.price-btn{\r\n\t\t\t @include form-size(\r\n\t\t\t\t $form-size,$form-space-v + 5,$form-space-h + 10,$form-radius\r\n\t\t\t ) \r\n\t\t\t @include form-variant(\r\n \r\n\t\t\t\t $form-color,$form-bg2,$form-border2, $form-change-color2,$form-change-bg,$form-change-border2 \r\n \r\n\t\t\t )\r\n\t\t\t @include mobile{\r\n\t\t\t width:100%;\r\n\t\t\t }\r\n\t\t}\r\n\t\t\r\n\t\t\r\n\t\t@include laptop{\r\n\t\t padding: 30px 15px;\r\n\t\t}\r\n\t}\r\n\t@include tablet{\r\n\t\tmargin-top:0;\r\n\t}\r\n}\r\n\r\n\r\n\r\n\r\n/* ==============================================\r\n\r\n14. Blog Area\r\n\r\n============================================== */\r\n.blog-area{\r\n\t\r\n\t.all-view-btn{\r\n\t\t\r\n position: absolute;\r\n right: 15px;\r\n\t\r\n\t@include tablet{\r\n\t display:none;\r\n }\r\n\t}\r\n}\r\n.blog-media{\r\n img{\r\n\t width:100%;\r\n\t}\r\n}\r\n.blog-post{\r\n\t\t margin-bottom:$inner-30;\r\n\t.post-img{\r\n\t\timg{\r\n\t\t\twidth:100%;\r\n\t\t\t \r\n\t\t}\r\n\t}\r\n\t.post-content{\r\n\t\t \r\n\t\toverflow:hidden;\r\n\t\tposition:relative;\r\n\t\tpadding:$inner-60 $inner-50;\r\n\t\tbox-shadow:$box-shadow-deep;\r\n\t\ttransition:$transition-base;\r\n\t \r\n\t\tbackground-color:$bg-color1;\r\n\t\twidth:calc(100% - 60px);\r\n\t\ttop:0;\r\n\t\tright:-30px;\r\n\t\tmargin-top:-150px;\r\n\t\t\r\n\t\t@include tablet{\r\n\t\t margin: 0;\r\n\t\t\tposition: relative;\r\n\t\t\twidth: 100%;\r\n\t\t\tmargin-top: 0;\r\n\t\t\tpadding: 30px 15px;\r\n\t\t\tright:0;\r\n\t\t \r\n\t\t}\r\n\t\t@include laptop{\r\n\t\t margin: 0;\r\n\t\t\tposition: relative;\r\n\t\t\twidth: 100%;\r\n\t\t\tmargin-top: 0;\r\n\t\t\tpadding: 30px 15px;\r\n\t\t\tright:0;\r\n\t\t \r\n\t\t}\t\r\n\t\t@include desktop{\r\n\t\t \t margin: 0;\r\n\t\t\tposition: relative;\r\n\t\t\twidth: 100%;\r\n\t\t\tmargin-top: 0;\r\n\t\t\tpadding: 30px 15px;\r\n\t\t\tright:0;\r\n\t\t\t \r\n\t\t}\r\n\t\t&:hover{\r\n\t\t box-shadow:$box-shadow;\r\n\t\t}\r\n\t}\r\n\t.post-date{\r\n\t\twidth:76px;\r\n\t\tbackground-color:$bg-color2;\r\n\t\tdisplay:block;\r\n\t\tposition:absolute;\r\n\t\ttop:0;\r\n\t\tfont-weight:$font-weight-light;\r\n\t\tright:0;\r\n\t\tfont-size: 40px;\r\n\t\tline-height: 30px;\r\n\t\tcolor:$font-color4;\r\n\t\ttext-align: center;\r\n\t\tpadding: 15px 10px 10px;\r\n\t\tspan{\r\n\t\t\tdisplay:block;\r\n\t\t\tfont-size:16px;\r\n\t\t}\r\n\t}\r\n\t.meta-info{\r\n\t\tmargin:0;\r\n\t\tmargin-top:10px;\r\n\t\tli{\r\n\t\t\tfont-weight:$font-weight-light;\r\n\t\t\tmargin-right:20px;\r\n\t\t\tfont-size:14px;\r\n\t\t\ta{\r\n\t\t\t\tfont-size:14px;\r\n\t\t\t\tcolor:$font-color-base ;\r\n\t\t\t}\r\n\t\t\ti{\r\n\t\t\t\tmargin-right:5px;\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\t.post-author{\r\n\t\t display:table;\r\n\t\t width:100%;\r\n\t\t margin-bottom:$inner-30;\r\n\t\t.author-img{\r\n\t\t\twidth:40px;\r\n\t\t\theight:40px;\r\n\t\t\tborder-radius:30px;\r\n\t\t\toverflow:hidden;\r\n\t\t\tfloat:left;\r\n\t\t\timg{\r\n\t\t\t\twidth: 40px;\r\n height: 40px;\r\n\t\t\t\tobject-fit:cover;\r\n\t\t\t}\r\n\t\t}\r\n\t\t.author-content{\r\n\t\t\twidth:calc(100% - 40px);\r\n\t\t\tpadding-left:10px;\r\n\t\t\tline-height:18px;\r\n\t\t\tfont-weight:$font-weight-medium;\r\n\t\t\tfloat:left;\r\n\t\t\t> a{\r\n\t\t\t\tdisplay:inline-block;\r\n\t\t\t\tcolor:$font-color2;\r\n\t\t\t\tfont-weight:$font-weight-semibold;\r\n\t\t\t\t&:hover{\r\n\t\t\t\t color:$font-color3;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\tspan{\r\n\t\t\t\t@include font-size($small-font-size);\r\n\t\t\t\tfont-weight:$font-weight-normal;\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\t\r\n\t.post-desc{\r\n\t\th5{\r\n\t\t\tmargin-bottom:$inner-30;\r\n\t\t}\r\n\t\tp{\r\n\t\t\tmargin-bottom:$inner-30;\r\n\t\t}\r\n\t .post-btn{\r\n\t\t\t color:$font-color3;\r\n\t\t\t padding:0;\r\n\t\t\t font-weight:$font-weight-semibold;\r\n\t\t\t &:hover{\r\n\t\t\t color:$font-color2;\r\n\t\t\t }\r\n\t\t}\r\n\t\t\r\n\t}\r\n}\r\n.reverse-loop>.row>.col-md-6:nth-child(4n + 2) .blog-post,\r\n.reverse-loop>.row>.col-md-6:nth-child(4n + 3) .blog-post{\r\n width: 100%;\r\n height: calc(100% - 30px);\r\n .post-img{\r\n position:absolute;\r\n\t\tbottom: 0;\r\n\t\t\r\n\t\t@include desktop{\r\n\t\t position:relative;\r\n\t\t}@include laptop{\r\n\t\t position:relative;\r\n\t\t}\r\n\t\t@include tablet{\r\n\t\t position:relative;\r\n\t\t}\r\n }\r\n .post-content{\r\n margin-top:0;\r\n\t margin-bottom:150px;\r\n\t @include desktop{\r\n\t\tmargin-bottom:0;\r\n\t \r\n\t} @include laptop{\r\n\t\tmargin-bottom:0;\r\n\t\t \r\n\t} @include tablet{\r\n\t\tmargin-bottom:0;\r\n\t\t \r\n\t}\r\n }\r\n}\r\n.all-view-btn{\r\n\tdisplay:inline-block;\r\n\t@include form-size(\r\n inherit,($form-space-v + 5),($form-space-h + 10),$form-radius\r\n )\r\nbox-shadow:$box-shadow-deep; \r\n @include form-variant(\r\n $form-color2,$form-bg,$form-border4, inherit,$form-change-bg,$form-change-border2\r\n )\r\n \r\n}\r\n.author-post{\r\n text-align:center;\r\n\tmargin-bottom:$inner-60;\r\n .author-img{\r\n\t width:100px;\r\n\t\theight:100px;\r\n\t\tborder-radius:$round-radius;\r\n\t\toverflow:hidden;\r\n\t\tbox-shadow:$box-shadow-deep;\r\n\t\ttransition:$transition-base;\r\n\t\tmargin:auto;\r\n\t\tmargin-bottom:20px;\r\n\t\timg{\r\n\t\twidth:100px;\r\n\t\theight:100px;\r\n\t\t width:100%;\r\n\t\t\tobject-fit:cover;\r\n\t\t}\r\n\t}\r\n .author-content{\r\n\t h6{\r\n\t\t margin:0;\r\n\t\t }\r\n\t}\r\n\t&:hover{\r\n\t .author-img{\r\n\t\t box-shadow:$box-shadow;\r\n\t\t}\r\n\t}\r\n\t@include tablet{\r\n\t margin-bottom:$inner-30;\r\n\t}\r\n\t@include laptop{\r\n\t margin-bottom:$inner-30;\r\n\t}\r\n}\r\n.page-navigation{\r\n\t.pagination{\r\n\t\tmargin:0;\r\n\t}\r\n\tli:first-child a ,\r\n\tli:last-child a {\r\n\t\tborder-radius: 0 !important;\r\n\t}\r\n\tli{\r\n\t\ta{\r\n\t\t\tborder:1px solid #f7f7f7;\r\n\t\t\twidth:40px;\r\n\t\t\theight:40px;\r\n\t\t\tbackground-color:$bg-color4;\r\n\t\t\tmargin-right: 20px;\r\n\t\t\tfont-size: 20px;\r\n\t\t\tpadding: 7px 4px;\r\n\t\t\ttext-align: center;\r\n\t\t\t&:hover, &.active{\r\n\t\t\t\tbackground-color:$bg-color3;\r\n\t\t\t\tborder-color:$bg-color3;\r\n\t\t\t\tcolor:$font-color4;\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n}\r\n.entry-content{ \r\n .first-word{\r\n\t font-size:70px;\r\n\t color:#b3cefc;\r\n\t line-height:28.8px;\r\n }\r\n img{\r\n\t margin-bottom:$inner-30;\r\n\t width:100%;\r\n }\r\n .list-dot{\r\n\t li:before{\r\n\t\t font-family: \"Font Awesome 5 Free\"; \r\n\t\t font-weight: 400; \r\n\t\t content: \"\\f111\";\t \r\n margin-right:15px;\r\n font-size:12px;\r\n color:$font-color3;\t\t \r\n\t }\r\n }\r\n\tblockquote{\r\n\t\t @include font-size($h5-font-size);\r\n\t\t font-style:italic;\r\n\t\t margin:$inner-30 0;\r\n\t\t \r\n\t}\r\n}\r\n\r\n.blog-share-tags{\r\n display:table;\r\n width:100%;\r\n box-shadow:$box-shadow;\r\n padding:10px 25px;\r\n border-radius:$border-radius;\r\n border:$form-border4;\r\n .blog-author-tags{\r\n float:left;\r\n\t @include laptop{\r\n\t\t float:none;\r\n\t }@include tablet{\r\n\t\t float:none;\r\n\t }\r\n\t ul{\r\n\t margin:0;\r\n\t\t li{\r\n\t\t &:first-child{\r\n\t\t\t color:$font-color2;\r\n\t\t\t font-weight:$font-weight-semibold;\r\n\t\t\t}\r\n\t\t\ta{\r\n\t\t\t color:$font-color-base;\r\n\t\t\t &:hover{\r\n\t\t\t color:$font-color3;\r\n\t\t\t } \r\n\t\t\t}\r\n\t\t }\r\n\t }\r\n }\r\n .blog-author-share{\r\n float:right;\r\n\t \r\n\t @include tablet{\r\n\t\t float:none;\r\n\t\t margin-top:10px;\r\n\t }\r\n\t @include laptop{\r\n\t\t float:none;\r\n\t\t margin-top:10px;\r\n\t }\r\n\t ul{\r\n\t margin:0;\r\n\t\tli{\r\n\t\t margin-right:15px;\r\n\t\t &:last-child{\r\n\t\t margin:0;\r\n\t\t }\r\n\t\t a{\r\n\t\t color:$font-color-base;\r\n\t\t\t @include font-size($small-font-size);\r\n\t\t\t &:hover{\r\n\t\t\t color:$font-color3;\r\n\t\t\t }\r\n\t\t }\r\n\t\t}\r\n\t }\r\n }\r\n}\r\n\r\n.blog-author-admin{\r\n display:table;\r\n\twidth:100%;\r\n .author-avatar{\r\n width:135px;\r\n\t height:135px;\r\n\t float:left;\r\n }\r\n .author-info{\r\n width:calc(100% - 135px);\r\n\t\tpadding-left:25px;\r\n\t\tfloat:left;\r\n\t\t.social-link{\r\n\t\t margin:0;\r\n\t\t\t\r\n\t\t\tli a{\r\n\t\t\t color:$font-color-base;\r\n\t\t\t @include font-size($small-font-size);\r\n\t\t\t \r\n\t\t\t}\r\n\t\t }\r\n }\r\n}\r\n\r\n.page-pagination{\r\n .pagination{\r\n margin:0;\r\n\twidth:100%;\r\n .prev,.next{\r\n\t border-radius:$border-radius;\r\n\t\t padding:15px 30px;\r\n\t\t box-shadow:$box-shadow;\r\n\t\t border:$form-border4;\r\n\t\t color:$font-color2;\r\n\t }\r\n }\r\n}\r\n\r\n.latest-slider{\r\n position:relative;\r\n .blog-latest{\r\n .latest-img{\r\n\t img{\r\n\t\t width:100%;\r\n\t\t }\r\n\t }\r\n\t .latest-content{\r\n\t transition:$transition-base;\r\n\t text-align:center;\r\n\t padding:20px;\r\n\t\t box-shadow:$box-shadow;\r\n\t\t border-bottom-left-radius:$border-radius;\r\n\t\t border-bottom-right-radius:$border-radius;\r\n\t\t border:$form-border4;\r\n\t\t \r\n\t }\r\n }\r\n .blog-latest:hover{\r\n .read-more-btn{\r\n\t color:$font-color2;\r\n\t }\r\n }\r\n .owl-nav{\r\n position: absolute;\r\n left: 0;\r\n right: 0;\r\n bottom: 0;\r\n top: 0;\r\n height: 40px;\r\n margin: auto;\r\n\t\r\n }\r\n .owl-nav button.owl-prev span,\r\n .owl-nav button.owl-next span{\r\n font-size:30px;\r\n\t line-height: 30px;\r\n }\r\n .owl-nav button.owl-prev{\r\n border:transparent;\r\n\t background-color:$bg-color3;\r\n\t color:$font-color4;\r\n\t width:40px;\r\n\t height:40px;\r\n\t margin-left:15px;\r\n\t float:left;\r\n\t border-radius:$round-radius;\r\n\t box-shadow:$box-shadow;\r\n } \r\n .owl-nav button.owl-next{\r\n border:transparent;\r\n\t background-color:$bg-color3;\r\n\t color:$font-color4;\r\n\t width:40px;\r\n\t height:40px;\r\n\t float:right;\r\n\t margin-right:15px;\r\n\t border-radius:$round-radius;\r\n\t box-shadow:$box-shadow;\r\n }\r\n\r\n}\r\n\r\n.comment-wrapper{\r\n .comments-box{\r\n display:table;\r\n\t width:100%;\r\n\t \r\n .comment-avatar{\r\n\t width:65px;\r\n\t\theight:65px;\r\n\t\tobject-fit:cover;\r\n\t\tfloat:left;\r\n\t\timg{\r\n\t\t border-radius:$round-radius;\r\n\t\t}\r\n\t }\r\n\t .comment-content{\r\n\t width:calc(100% - 65px);\r\n\t\t padding-left:15px;\r\n\t\t float:left;\r\n\t\t .comment-date{\r\n\t\t @include font-size($small-font-size);\r\n\t\t\tfont-weight:$font-weight-normal;\r\n\t\t\tcolor:$font-color-base;\r\n\t\t }\r\n\t }\r\n }\r\n}\r\n\r\n#watch-video{\r\n\t.modal-content{\r\n\t\tborder:0;\r\n\t\tbox-shadow:$box-shadow;\r\n\t}\r\n .modal-header{\r\n\t border:0;\r\n\t padding-bottom:0;\r\n }\r\n .modal-body{\r\n\t \r\n }\r\n [type=\"button\"]{\r\n\t &:hover{\r\n\t\t border:0;\r\n\t }\r\n }\r\n}\r\n.blog-spacing{\r\n margin-bottom:$inner-60;\r\n\t\r\n\t@include laptop{\r\n\t margin-bottom:$inner-30;\r\n\t}\r\n\t@include tablet{\r\n\t margin-bottom:$inner-30;\r\n\t}\r\n}\r\n.modal-backdrop.show {\r\n opacity: 1;\r\n background: $bg-color1;\r\n}\r\n\r\n\r\n/* ==============================================\r\n\r\n15. Sidebar Area\r\n\r\n============================================== */\r\n.sidebar-title{\r\n margin-bottom:$inner-30;\r\n}\r\n\r\n.sidebar-form{\r\n form{\r\n\t border:$form-border4;\r\n\t border-radius:$border-radius;\r\n\t}\r\n input{\r\n\t @include form-size(\r\n\t\t $form-size,$form-space-v + 5 ,$form-space-h,none\r\n\t ) \r\n\t@include form-variant(\r\n\t\t $form-color2,transparent,none, $form-color2,transparent,none\r\n\t )\r\n}\r\nbutton{\r\n\t@include form-variant(\r\n\t\t $form-color2,transparent,none, $form-color2,transparent,none\r\n\t )\r\n\t @include form-size(\r\n\t\t $form-size,$form-space-v,$form-space-h,$form-radius\r\n\t ) \r\n}\r\n}\r\n\r\n.sidebar-list{\r\n ul{\r\n li{\r\n\t padding-left:0;\r\n\t border:0;\r\n\t\t border-top:$form-border4;\r\n\t\t border-bottom:$form-border4;\r\n\t\t &:first-child{\r\n\t\t border-top:0;\r\n\t\t\tpadding-top:0;\r\n\t\t } &:last-child{\r\n\t\t border-bottom:0;\r\n\t\t\tpadding-bottom:0;\r\n\t\t }\r\n\t\t a{\r\n\t\t color:$font-color-base;\r\n\t\t }\r\n\t }\r\n }\r\n}\r\n.sidebar-blog{\r\n .sidebar-latest{\r\n\t display:table;\r\n\t\twidth:100%;\r\n\t .latest-img{\r\n\t width:65px;\r\n\t\t height:65px;\r\n\t\t float:left;\r\n\t\t img{\r\n\t\t object-fit:cover;\r\n\t\t }\r\n\t }\r\n\t .latest-content{\r\n\t width:calc(100% - 65px);\r\n\t\t padding-left:15px;\r\n\t\t float:left;\r\n\t }\r\n\t}\r\n}\r\n.sidebar-social-link{\r\n ul{\r\n margin:0;\r\n li{ \r\n\t text-align:center;\r\n\t\t border:$form-border4;\r\n\t\t border-radius:$border-radius;\r\n\t\t padding:15px 20px;\r\n\t\t margin-bottom:10px;\r\n\t a{\r\n\t\t display:inline-block;\r\n\t\t }\r\n\t\t i{\r\n\t\t font-size:25px;\r\n\t\t }\r\n\t\t p{\r\n\t\t margin:0;\r\n\t\t\tfont-size:18px;\r\n\t\t\tcolor:$font-color2;\r\n\t\t\tline-height: 24px;\r\n\t\t\tfont-weight:$font-weight-semibold;\r\n\t\t\tspan{\r\n\t\t\t display:block;\r\n\t\t\t color:$font-color-base;\r\n\t\t\t font-weight:$font-weight-normal;\r\n\t\t\t font-size:16px;\r\n\t\t\t}\r\n\t\t }\r\n\t\t \r\n\t\t @include laptop{\r\n\t\t padding: 5px 10px;\r\n\t\t }\r\n\t \r\n\t }\r\n }\r\n}\r\n.sidebar-widget{\r\n margin-bottom:$inner-30;\r\n \r\n @include tablet{\r\n margin-bottom:$inner-30;\r\n }\r\n @include laptop{\r\n margin-bottom:$inner-30;\r\n }\r\n \r\n}\r\n.sidebar-right{\r\n @include tablet{\r\n\t margin-top:$inner-60;\r\n\t}\r\n}\r\n.sidebar-left{\r\n @include tablet{\r\n\t margin-bottom:$inner-60;\r\n\t}\r\n}\r\n/* ==============================================\r\n\r\n16. community Area\r\n\r\n============================================== */\r\n.community-form{\r\n\tbox-shadow:$box-shadow-deep;\r\n\tpadding:$inner-40;\r\n\tbackground-color:$bg-color1;\r\n\tborder-radius:$border-radius;\r\n @include laptop{\r\n\t padding:$inner-30;\r\n\t} \r\n\t@include tablet{\r\n\t padding:$inner-30;\r\n\t}\r\n}\r\n.community-img{\r\n img{\r\n\t max-width:600px;\r\n @include laptop{\r\n\t max-width:400px;\r\n\t } \r\n\t @include desktop{\r\n\t max-width:500px;\r\n\t }@include laptop{\r\n\t max-width:400px;\r\n\t }@include tablet{\r\n\t max-width:100%;\r\n\t\t margin-bottom:30px;\r\n\t }\r\n }\r\n}\r\n\r\n\r\n/* ==============================================\r\n\r\n18. Contact Area\r\n\r\n============================================== */\r\n.contact-info{\r\n\ttext-align:center;\r\n\tpadding:0 30px;\r\n\t.info-logo{\r\n\t\tposition:relative;\r\n\t\twidth:90px;\r\n\t\theight:90px;\r\n\t\tborder-radius:$round-radius;\r\n\t\tbox-shadow:$box-shadow;\r\n\t\tmargin:auto;\r\n\t\tmargin-bottom:25px;\r\n\t\t\r\n\t\timg{\r\n\t\t\t\r\n\t\tbottom: 0;\r\n\t\twidth: 30px;\r\n\t\theight: 30px;\r\n\t\tobject-fit: cover;\r\n\t\ttop: 0;\r\n\t\tleft: 0;\r\n\t\tright: 0;\r\n\t\tmargin: auto;\r\n\t\tposition: absolute;\r\n\t\t}\r\n\t}\r\n\t.info-content{\r\n\t\th5{\r\n\t\t\tmargin-bottom:15px;\r\n\t\t}\r\n\t\tp{\r\n\t\t\ta{\r\n\t\t\tcolor:$font-color-base;\r\n\t\t}\r\n\t\t}\r\n\t\t\r\n\t}\r\n\t@include tablet{\r\n\t\tpadding-left:0;\r\n\t\tmargin-bottom:$inner-30;\r\n\t\ttext-align:left;\r\n\t\t.info-logo{\r\n\t\t\tmargin-left:0;\r\n\t\t}\r\n\t}\r\n}\r\n.contact-image{\r\n\t\r\n\timg{\r\n\t\t@include tablet{\r\n\t\t\tmax-width:100%;\r\n\t\t\tmargin-top:$inner-30;\r\n\t\t}\r\n\t}\r\n}\r\n\r\n\r\n\r\n\r\n/* ==============================================\r\n\r\n19. Footer Area\r\n\r\n============================================== */\r\n\r\n.scrollToTop {\r\n margin: 0 15px 15px 0;\r\n text-align: center;\r\n text-decoration: none;\r\n position: fixed;\r\n bottom: 0;\r\n background: $bg-color1;\r\n right: 0;\r\n width: 40px;\r\n height: 40px;\r\n border-radius: 50px;\r\n text-align: center;\r\n line-height: 40px;\r\n\tbox-shadow:$box-shadow;\r\n\tz-index:111;\r\n}\r\n\r\n.scrollToTop:hover {\r\n text-decoration: none;\r\n}\r\n.footer-area{\r\n margin-top:210px;\r\n\t&:before{\r\n content: \"\";\r\n height: 700px;\r\n border-top-left-radius: 270px;\r\n border-top-right-radius: 160px;\r\n background: $bg-color2;\r\n display: block;\r\n position: absolute;\r\n transform: skewY(6deg);\r\n\tleft: -50px;\r\n right: -70px;\r\n top:-130px;\r\n\tz-index:2;\r\n\t@include desktop{\r\n\t border-top-left-radius: 130px;\r\n border-top-right-radius: 210px;\r\n\t\ttransform: rotate(3deg);\r\n\t\ttop: -106px;\r\n\t}\r\n\t@include laptop{\r\n\t display:none;\r\n\t}\r\n\t@include tablet{\r\n\t display:none;\r\n\t}\r\n }\r\n @include desktop{\r\n \r\n\t\tmargin-top: 133px;\r\n } \r\n @include tablet{\r\n margin-top:0;\r\n\t padding-top:$inner-90;\r\n } \r\n @include laptop{\r\n margin-top:0;\r\n\t padding-top:$inner-90;\r\n }\r\n}\r\n.footer-widget-wrapper{\r\n padding-bottom:$inner-60;\r\n\t\r\n\t@include laptop{\r\n\t\tpadding-bottom:$inner-40;\r\n\t}\r\n\t@include tablet{\r\n\t\tpadding-bottom:$inner-40;\r\n\t}\r\n}\r\n.footer-logo{\r\n\tmargin-bottom:15px;\r\n\tdisplay:block;\r\n\t\r\n\timg{\r\n\t position:relative;\r\n\t\tz-index:3;\r\n\t}\r\n}\r\n.footer-widget{\r\n margin-bottom:$inner-30;\r\n\tposition:relative;\r\n\tz-index:2;\r\n .widget-title{\r\n\t\tmargin-bottom:10px;\r\n\t\th5{\r\n\t\t\tmargin:0;\r\n\t\t\tcolor:rgba($font-color4, 0.9);\r\n\t\t}\r\n\t}\r\n\tp{\r\n\t\tcolor:rgba($font-color4, 0.9);\r\n\t}\r\n\t.widget-list{\r\n\t\tmargin:0;\r\n\t\tli{\r\n\t\t\tmargin-bottom:5px;\r\n\t\t}\r\n\t\tli a{\r\n\t\t\tcolor:rgba($font-color4, 0.9);\r\n\t\t\t\r\n\t\t\t&:hover{\r\n\t\t\t text-decoration:underline;\r\n\t\t\t} \r\n\t\t}\r\n\t}\r\n .social-link{\r\n\t\tli{\r\n\t\t\tborder-top:1px solid transparent;\r\n\t\t}\r\n\t\tli a{\r\n\t\t\tfont-size:20px;\r\n\t\t\tcolor:rgba($font-color4, 0.9);\r\n\t\t\t\r\n\t\t\t&:hover{\r\n\t\t\t color:rgba($font-color4, 1);\r\n\t\t }\r\n\t\t}\r\n\t\tli:hover{\r\n\t\t\tborder-top:$form-border2;\r\n\t\t}\r\n\t}\r\n\tform{\r\n\t\t@include placeholder {\r\n\t\tcolor: $font-color4;\r\n\t}\r\n\t\tinput{\r\n\t\t\t @include form-size(\r\n\t\t\t\t $form-size,$form-space-v,$form-space-h - 15,$form-radius\r\n\t\t\t ) \r\n\t\t\t@include form-variant(\r\n\t\t\t\t $form-color,$form-bg2,$form-border2, $form-color,$form-bg2,$form-border2\r\n\t\t\t )\r\n\t\t}\r\n\t\tbutton{\r\n\t\t\t@include form-variant(\r\n\t\t\t\t $form-color2,$form-bg3,$form-border2, $form-change-color,transparent,$form-change-border\r\n\t\t\t )\r\n\t\t\t @include form-size(\r\n\t\t\t\t $form-size,$form-space-v,$form-space-h,$form-radius\r\n\t\t\t ) \r\n\t\t}\r\n\t}\r\n}\r\n\r\n.footer-copyright-wrapper{\r\n padding-bottom:30px;\r\n position:relative;\r\n\tz-index:2;\r\n\tp,a{\r\n\t\tmargin:0;\r\n\t\tcolor:rgba($font-color4, 0.9);\r\n\t}\r\n\ta:hover{\r\n\t &:hover{\r\n\t\t color:rgba($font-color4, 1);\r\n\t }\r\n\t}\r\n}\r\n\r\n.footer-shape{\r\n position:absolute;\r\n\twidth:100%;\r\n\t.left{\r\n\t\tposition:absolute;\r\n\t\tbottom:-40px;\r\n\t\tleft:-40px;\r\n\t\t\r\n\t\timg{\r\n\t\t z-index:2;\r\n\t\t\tposition:relative;\r\n\t\t\t@include desktop{\r\n\t\t\t\tmax-width:300px;\r\n\t\t\t}@include laptop{\r\n\t\t\t\tmax-width:300px;\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\t.right{\r\n\t\tposition: absolute;\r\n\t\tright: -90px;\r\n\t\tbottom: -120px;\r\n\t\timg{\r\n\t\t z-index:2;\r\n\t\t\tposition:relative;\r\n\t\t\t@include desktop{\r\n\t\t\t\tmax-width:300px;\r\n\t\t\t}@include laptop{\r\n\t\t\t\tmax-width:300px;\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\t@include tablet{\r\n\t display:none;\r\n\t}\r\n}\r\n\r\n\r\n\r\n\r\n\r\n\r\n.swiper-slide-duplicate-prev img {\r\n border: 11px solid #fff;\r\n}\r\n.swiper-slide-duplicate-prev {\r\n border: 11px solid #fff;\r\n}\r\n\r\n"," \r\n \r\n/* 0. Normalize */\r\n\r\nbody,html {\r\n -ms-text-size-adjust: 100%; \r\n -webkit-text-size-adjust: 100%; \r\n}\r\narticle,\r\naside,\r\ndetails,\r\nfigcaption,\r\nfigure,\r\nfooter,\r\nheader,\r\nhgroup,\r\nmain,\r\nmenu,\r\nnav,\r\nsection,\r\nsummary {\r\n display: block;\r\n position:relative;\r\n}\r\n\r\naudio,\r\ncanvas,\r\nprogress,\r\nvideo {\r\n display: inline-block; \r\n vertical-align: baseline; \r\n}\r\naudio:not([controls]) {\r\n display: none;\r\n height: 0;\r\n}\r\n\r\n[hidden],\r\ntemplate {\r\n display: none;\r\n}\r\na {\r\n background-color: transparent;\r\n}\r\na{\r\n transition:$transition-base;\r\n}\r\na:active,\r\na:hover {\r\n outline: 0;\r\n text-decoration: none;\r\n color:$link-color;\r\n}\r\nabbr[title] {\r\n border-bottom: 1px dotted;\r\n}\r\nol, ul{\r\n padding-left:20px;\r\n}\r\nb,\r\nstrong {\r\n font-weight: bold;\r\n}\r\ndfn {\r\n font-style: italic;\r\n}\r\n\r\n\r\nmark {\r\n background: #ff0;\r\n color: #000;\r\n}\r\n\r\nsmall {\r\n font-size: 80%;\r\n}\r\n\r\nsub,\r\nsup {\r\n font-size: 75%;\r\n line-height: 0;\r\n position: relative;\r\n vertical-align: baseline;\r\n}\r\n\r\nsup {\r\n top: -0.5em;\r\n}\r\n\r\nsub {\r\n bottom: -0.25em;\r\n}\r\ni, cite, em, var, address, dfn{\r\n font-style:normal;\r\n}\r\nimg {\r\n border: 0;\r\n}\r\n\r\nsvg:not(:root) {\r\n overflow: hidden;\r\n}\r\n\r\nfigure {\r\n margin: 1em 40px;\r\n}\r\n\r\nhr {\r\n -moz-box-sizing: content-box;\r\n box-sizing: content-box;\r\n height: 0;\r\n}\r\npre {\r\n overflow: auto;\r\n}\r\n\r\ncode,\r\nkbd,\r\npre,\r\nsamp {\r\n font-size: inherit;\r\n}\r\n.form-control{\r\n height:auto;\r\n}\r\nbutton,\r\ninput,\r\noptgroup,\r\nselect,\r\ntextarea {\r\n color: inherit; \r\n font: inherit; \r\n margin: 0; \r\n}\r\n textarea:focus,\r\n textarea:active,\r\n button:focus,\r\n button:active,\r\n input:active,\r\n input:focus,\r\n .btn:focus,\r\n .btn.active {\r\n background-image: none !important;\r\n outline: 0;\r\n -webkit-box-shadow: none !important;\r\n box-shadow: none !important;\r\n }\r\n.page-link:focus {\r\n outline: 0;\r\n box-shadow: none;\r\n}\r\nbutton,\r\nselect {\r\n text-transform: none;\r\n}\r\n\r\nbutton,\r\nhtml input[type=\"button\"], \r\ninput[type=\"reset\"],\r\ninput[type=\"submit\"] {\r\n -webkit-appearance: button; \r\n cursor: pointer; \r\n}\r\n\r\nbutton[disabled],\r\nhtml input[disabled] {\r\n cursor: default;\r\n}\r\n\r\nbutton::-moz-focus-inner,\r\ninput::-moz-focus-inner {\r\n border: 0;\r\n padding: 0;\r\n}\r\ninput[type=\"checkbox\"],\r\ninput[type=\"radio\"] {\r\n box-sizing: border-box;\r\n padding: 0; \r\n}\r\n\r\ninput[type=\"number\"]::-webkit-inner-spin-button,\r\ninput[type=\"number\"]::-webkit-outer-spin-button {\r\n height: auto;\r\n}\r\ninput[type=\"search\"] {\r\n -webkit-appearance: textfield; \r\n -moz-box-sizing: content-box;\r\n -webkit-box-sizing: content-box; \r\n box-sizing: content-box;\r\n}\r\n\r\ninput[type=\"search\"]::-webkit-search-cancel-button,\r\ninput[type=\"search\"]::-webkit-search-decoration {\r\n -webkit-appearance: none;\r\n}\r\nlegend {\r\n border: 0; \r\n padding: 0;\r\n}\r\n\r\ntextarea {\r\n overflow: auto;\r\n}\r\n\r\noptgroup {\r\n font-weight: bold;\r\n}\r\n\r\ntable {\r\n border-collapse: collapse;\r\n border-spacing: 0;\r\n}\r\n\r\ntd,\r\nth {\r\n padding: 0;\r\n}","// Global Variables\r\n\r\n\r\n// Background Colors\r\n\r\n$bg-color1: #ffffff !default;\r\n$bg-color2: #216ae6;\r\n$bg-color3: #4986ee ;\r\n$bg-color4: #fafcff ; \r\n$bg-overlay: #216ae6 !default;\r\n\r\n\r\n// Spacing \r\n\r\n$sectionspace: (100,130,140); \r\n$innerspace: (30, 40,50,60,70, 80,90); \r\n$sides: (top, bottom, left, right);\r\n$sides2: (top, bottom);\r\n\r\n$section-100: 100px;\r\n$section-130: 130px;\r\n$section-140: 140px;\r\n$inner-30: 30px;\r\n$inner-40: 40px;\r\n$inner-50: 50px;\r\n$inner-60: 60px;\r\n$inner-70: 70px;\r\n$inner-80: 80px;\r\n$inner-90: 90px;\r\n\r\n// Links\r\n\r\n$link-color: #216ae6 !default;\r\n\r\n\r\n// Fonts Color\r\n\r\n$font-color-base: #0d1b33 !default;\r\n$font-color2: #041e49 ;\r\n$font-color3: #216ae6 ;\r\n$font-color4: #ffffff ;\r\n$placeholder-color: #777777 !default;\r\n\r\n// Social Color\r\n\r\n$social-color1: #3c5a98;\r\n$social-color2: #4f7ea6;\r\n$social-color3: #29a8eb;\r\n$social-color4: #563acc;\r\n\r\n\r\n\r\n// Typography\r\n\r\n$font-family-base: 'Poppins', sans-serif !default; \r\n$font-size-base: 1.6 !default; \r\n$small-font-size: 1.4 ;\r\n$font-weight-light: 300;\r\n$font-weight-normal: 400 !default;\r\n$font-weight-medium: 500 ;\r\n$font-weight-semibold: 600 ;\r\n$font-weight-bold: 700 !default;\r\n$line-height-base: 1.6 !default;\r\n$h1-font-size: $font-size-base * 2.5;\r\n$h2-font-size: $font-size-base * 2;\r\n$h3-font-size: $font-size-base * 1.75;\r\n$h4-font-size: $font-size-base * 1.5;\r\n$h5-font-size: $font-size-base * 1.25;\r\n$h6-font-size: $font-size-base ;\r\n$headings-color: $font-color2;\r\n$headings-font-family: $font-family-base;\r\n$headings-line-height: 1.4 !default;\r\n$big-line-height: 1.2 ;\r\n\r\n\r\n$big-size1: $font-size-base * 3.75;\r\n$big-size2: $font-size-base * 3.0;\r\n$big-size3: $font-size-base * 2.5;\r\n$big-size4: $font-size-base * 1.5;\r\n\r\n\r\n// Form \r\n\r\n\r\n$form-bg: #ffffff !default;\r\n$form-bg2: #2e75d8 ;\r\n$form-bg3: #f5f5f5;\r\n$form-bg4: #000000;\r\n\r\n$form-size: 16px !default;\r\n$form-size2: 20px;\r\n$form-size3: 24px;\r\n\r\n\r\n$form-color: #ffffff !default;\r\n$form-color2: #216ae6;\r\n$form-color3: #0d1b33;\r\n\r\n$form-border: 1px solid #e3e3e3 !default;\r\n$form-border2: 1px solid #216ae6 ;\r\n$form-border3: 1px solid #ffffff ;\r\n$form-border4: 1px solid #f5f5f5 ;\r\n$form-border5: 1px solid #000000 ;\r\n \r\n$form-radius: 4px !default; \r\n\r\n$form-space-v: 10px !default;\r\n$form-space-h: 30px !default;\r\n\r\n// Form Change\r\n\r\n\r\n$form-change-bg: #ffffff !default;\r\n$form-change-bg2: #216ae6 ;\r\n$form-change-bg3: #f5f5f5;\r\n$form-change-bg4: #000000;\r\n\r\n$form-change-color: #ffffff !default;\r\n$form-change-color2: #216ae6;\r\n$form-change-color3: #0d1b33;\r\n\r\n$form-change-border: 1px solid #e3e3e3 !default;\r\n$form-change-border2: 1px solid #216ae6 ;\r\n$form-change-border3: 1px solid #ffffff ;\r\n$form-change-border4: 1px solid #000000 ;\r\n\r\n// Component\r\n\r\n$border-radius: 5px !default;\r\n$round-radius: 50px !default;\r\n$box-shadow: 0 0 20px 0 rgba(25, 100, 227, 0.06) !default;\r\n$box-shadow-deep: 0 0 10px 0 rgba(25, 100, 227, 0.10) !default;\r\n$box-shadow-spead: 0 0 30px 0px rgba(25, 100, 227, 0.07) !default;\r\n$transition-base: all 500ms ease !default;\r\n\r\n\r\n\r\n// Responsive Layout\r\n\r\n$desktop-device: 1200px !default;\r\n$laptop-device: 992px;\r\n$tablet-device: 768px;\r\n$mobile-device: 576px;\r\n\r\n\r\n\r\n","// Global Functions\r\n\r\n// Responsive Layout\r\n\r\n@mixin desktop {\r\n @media (min-width: #{$laptop-device}) and (max-width: #{$desktop-device}) {\r\n @content;\r\n }\r\n}\r\n\r\n@mixin laptop {\r\n @media (min-width: #{$tablet-device}) and (max-width: #{$laptop-device}) {\r\n @content;\r\n }\r\n}\r\n\r\n@mixin tablet {\r\n @media (max-width: #{$tablet-device}) {\r\n @content;\r\n }\r\n}\r\n\r\n@mixin mobile {\r\n @media (max-width: #{$mobile-device}) {\r\n @content;\r\n }\r\n}\r\n\r\n// Font Size\r\n@mixin font-size($font-size-base) {\r\n font-size: ($font-size-base * 10) + px;\r\n}\r\n@mixin placeholder {\r\n ::-webkit-input-placeholder {@content}\r\n :-moz-placeholder {@content}\r\n ::-moz-placeholder {@content}\r\n :-ms-input-placeholder {@content} \r\n}\r\n// Section Spacing\r\n@each $space in $sectionspace{\r\n @each $sides2 in $sides2 {\r\n .p-#{str-slice($sides2, 0, 1)}-#{$space} {\r\n padding-#{$sides2}: #{$space}px;\r\n }\r\n \r\n }\r\n}\r\n@include laptop{\r\n@each $space in $sectionspace{\r\n @each $sides2 in $sides2 {\r\n .p-#{str-slice($sides2, 0, 1)}-#{$space} {\r\n padding-#{$sides2}: #{$space - 40}px;\r\n }\r\n \r\n }\r\n}\r\n}\r\n@include tablet{\r\n@each $space in $sectionspace{\r\n @each $sides2 in $sides2 {\r\n .p-#{str-slice($sides2, 0, 1)}-#{$space} {\r\n padding-#{$sides2}: #{$space - 40}px;\r\n }\r\n \r\n }\r\n}\r\n}\r\n// Inner Spacing\r\n\r\n@each $space in $innerspace{\r\n @each $side in $sides {\r\n .m-#{str-slice($side, 0, 1)}-#{$space} {\r\n margin-#{$side}: #{$space}px;\r\n }\r\n \r\n }\r\n}\r\n\r\n@include laptop{\r\n@each $space in $innerspace{\r\n @each $side in $sides {\r\n .m-#{str-slice($side, 0, 1)}-#{$space} {\r\n margin-#{$side}: #{$space - 20}px;\r\n }\r\n \r\n }\r\n}\r\n}\r\n@include tablet{\r\n@each $space in $innerspace{\r\n @each $side in $sides {\r\n .m-#{str-slice($side, 0, 1)}-#{$space} {\r\n margin-#{$side}: #{$space - 20}px;\r\n }\r\n \r\n }\r\n}\r\n}\r\n// Color Opacity\r\n\r\n@mixin background-opacity($color, $background) {\r\n $percent: alpha($color) * 100%;\r\n $opaque: opacify($color, 1);\r\n $solid-color: mix($opaque, $background, $percent);\r\n background-color: $solid-color;\r\n background-color: $color;\r\n}\r\n@mixin color-opacity($color, $background) {\r\n $percent: alpha($color) * 100%;\r\n $opaque: opacify($color, 1);\r\n $solid-color: mix($opaque, $background, $percent);\r\n color: $solid-color;\r\n color: $color;\r\n}\r\n\r\n\r\n\r\n// Form Handle\r\n@mixin form-size($font-size,$space-vertical, $space-horizontal,$border-radius) { \r\n font-size:$font-size;\r\n padding: $space-vertical $space-horizontal;\r\n border-radius:$border-radius;\r\n}\r\n@mixin form-variant($color, $background, $border,$change-color,$change-background,$change-border) {\r\n color: $color;\r\n background-color: $background;\r\n border: $border;\r\n &:focus,\r\n &:hover,\r\n &:active{\r\n color: $change-color;\r\n background-color: $change-background;\r\n border: $change-border;\r\n }\r\n}\r\n","// Global Typography\r\nbody {\r\n font-family: $font-family-base; \r\n @include font-size($font-size-base);\r\n line-height: $line-height-base;\r\n font-weight: $font-weight-normal;\r\n color:$font-color-base; \r\n}\r\n// Placeholder\r\n@include placeholder {\r\n font-size:$font-size-base;\r\n\t line-height:$line-height-base;\r\n color: $placeholder-color;\r\n font-weight:$font-weight-normal;\r\n}\r\n// Heading Font\r\n\r\nh1, .heading-1 { \r\n\t@include font-size($h1-font-size); \r\n\t@include tablet{\r\n\t @include font-size($h1-font-size - 1.5); \r\n\t}\r\n}\r\nh2, .heading-2 { \r\n @include font-size($h2-font-size); \r\n\t@include tablet{\r\n\t @include font-size($h2-font-size - 1.5); \r\n\t}\r\n}\r\nh3, .heading-3 { \r\n\t@include font-size($h3-font-size); \r\n}\r\nh4, .heading-4 {\r\n\t@include font-size($h4-font-size); \r\n}\r\nh5, .heading-5 { \r\n\t@include font-size($h5-font-size); \r\n}\r\nh6, .heading-6 { \r\n\t@include font-size($h6-font-size); \r\n}\r\nh1, h2, h3, h4, h5, h6 ,\r\n.heading-1, .heading-2, \r\n.heading-3, .heading-4, \r\n.heading-5, .heading-6{\r\n line-height:$headings-line-height;\r\n color:$headings-color;\r\n}\r\nh1, h2, h3, h4, h5, h6 {\r\n font-family: $headings-font-family;\r\n font-weight: $font-weight-normal;\r\n}\r\n\r\n.heading-1, .heading-2, \r\n.heading-3, .heading-4, \r\n.heading-5, .heading-6 {\r\n font-family: $headings-font-family;\r\n font-weight: $font-weight-semibold;\r\n}\r\nh1,h2,h3,h4,h5,h6{\r\n a{\r\n color:$font-color2;\r\n }\r\n}\r\n// Big Font\r\n\r\n.big-font1,.big-font2,.big-font3{ \r\n line-height:$big-line-height;\r\n\tfont-weight:$font-weight-bold;\r\n}\r\n.big-font1 { \r\n\t@include font-size($big-size1);\r\n\t@include desktop{\r\n\t @include font-size($big-size1 - 1.5); \r\n\t}\t\r\n\t@include laptop{\r\n\t @include font-size($big-size1 - 2); \r\n\t}\r\n\t@include tablet{\r\n\t @include font-size($big-size1 - 2.5); \r\n\t}\r\n}\r\n.big-font2 { \r\n\t@include font-size($big-size2); \r\n\t@include desktop{\r\n\t @include font-size($big-size2 - 1.5); \r\n\t}\t\r\n\t@include laptop{\r\n\t @include font-size($big-size2 - 2); \r\n\t}\r\n\t@include tablet{\r\n\t @include font-size($big-size2 - 2); \r\n\t}\r\n}\r\n.big-font3 { \r\n\t@include font-size($big-size3);\r\n\t@include desktop{\r\n\t\t@include font-size($big-size3 - 1.5); \r\n\t}\r\n\t@include laptop{\r\n\t\t@include font-size($big-size3 - 1.5); \r\n\t}\t\t\r\n\t@include tablet{\r\n\t\t@include font-size($big-size3 - 1.5); \r\n\t}\t\r\n}\r\n.big-font4 { \r\n\t@include font-size($big-size4); \r\n\t@include desktop{\r\n\t @include font-size($big-size4 - 1.5); \r\n\t}\r\n\t@include laptop{\r\n\t @include font-size($big-size4 - 2); \r\n\t}\r\n\t@include tablet{\r\n\t @include font-size($big-size4 - 2); \r\n\t}\r\n}\r\n\r\n// Small Font\r\n\r\nsmall,\r\n.small {\r\n @include font-size($small-font-size);\r\n font-weight: $font-weight-normal;\r\n}\r\n\r\n// Font Weight\r\n\r\n.font-weight-bold{\r\n font-weight:$font-weight-bold !important;\r\n}\r\n.weight-semibold{\r\n font-weight:$font-weight-semibold !important;\r\n}\r\n.weight-medium{\r\n font-weight:$font-weight-medium !important;\r\n}\r\n.weight-normal{\r\n font-weight:$font-weight-normal !important;\r\n}\r\n.weight-light{\r\n font-weight:$font-weight-light !important;\r\n}\r\n\r\n\r\n// Invert Color\r\n\r\n\r\n.white-all{\r\n h1,h2,h3,h4,h5,h6,p,a,span,label,input,textarea,em,b,*{\r\n color:$font-color4 !important;\r\n }\r\n}\r\n.white-text{\r\n color:$font-color4 !important;\r\n \r\n}\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n"]} \ No newline at end of file diff --git a/assets/css/swiper.min.css b/assets/css/swiper.min.css new file mode 100644 index 000000000..c4a633d69 --- /dev/null +++ b/assets/css/swiper.min.css @@ -0,0 +1,12 @@ +/** + * Swiper 4.5.0 + * Most modern mobile touch slider and framework with hardware accelerated transitions + * http://www.idangero.us/swiper/ + * + * Copyright 2014-2019 Vladimir Kharlampidi + * + * Released under the MIT License + * + * Released on: February 22, 2019 + */ +.swiper-container{margin:0 auto;position:relative;overflow:hidden;list-style:none;padding:0;z-index:1}.swiper-container-no-flexbox .swiper-slide{float:left}.swiper-container-vertical>.swiper-wrapper{-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column}.swiper-wrapper{position:relative;width:100%;height:100%;z-index:1;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-transition-property:-webkit-transform;transition-property:-webkit-transform;-o-transition-property:transform;transition-property:transform;transition-property:transform,-webkit-transform;-webkit-box-sizing:content-box;box-sizing:content-box}.swiper-container-android .swiper-slide,.swiper-wrapper{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}.swiper-container-multirow>.swiper-wrapper{-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap}.swiper-container-free-mode>.swiper-wrapper{-webkit-transition-timing-function:ease-out;-o-transition-timing-function:ease-out;transition-timing-function:ease-out;margin:0 auto}.swiper-slide{-webkit-flex-shrink:0;-ms-flex-negative:0;flex-shrink:0;width:100%;height:100%;position:relative;-webkit-transition-property:-webkit-transform;transition-property:-webkit-transform;-o-transition-property:transform;transition-property:transform;transition-property:transform,-webkit-transform}.swiper-slide-invisible-blank{visibility:hidden}.swiper-container-autoheight,.swiper-container-autoheight .swiper-slide{height:auto}.swiper-container-autoheight .swiper-wrapper{-webkit-box-align:start;-webkit-align-items:flex-start;-ms-flex-align:start;align-items:flex-start;-webkit-transition-property:height,-webkit-transform;transition-property:height,-webkit-transform;-o-transition-property:transform,height;transition-property:transform,height;transition-property:transform,height,-webkit-transform}.swiper-container-3d{-webkit-perspective:1200px;perspective:1200px}.swiper-container-3d .swiper-cube-shadow,.swiper-container-3d .swiper-slide,.swiper-container-3d .swiper-slide-shadow-bottom,.swiper-container-3d .swiper-slide-shadow-left,.swiper-container-3d .swiper-slide-shadow-right,.swiper-container-3d .swiper-slide-shadow-top,.swiper-container-3d .swiper-wrapper{-webkit-transform-style:preserve-3d;transform-style:preserve-3d}.swiper-container-3d .swiper-slide-shadow-bottom,.swiper-container-3d .swiper-slide-shadow-left,.swiper-container-3d .swiper-slide-shadow-right,.swiper-container-3d .swiper-slide-shadow-top{position:absolute;left:0;top:0;width:100%;height:100%;pointer-events:none;z-index:10}.swiper-container-3d .swiper-slide-shadow-left{background-image:-webkit-gradient(linear,right top,left top,from(rgba(0,0,0,.5)),to(rgba(0,0,0,0)));background-image:-webkit-linear-gradient(right,rgba(0,0,0,.5),rgba(0,0,0,0));background-image:-o-linear-gradient(right,rgba(0,0,0,.5),rgba(0,0,0,0));background-image:linear-gradient(to left,rgba(0,0,0,.5),rgba(0,0,0,0))}.swiper-container-3d .swiper-slide-shadow-right{background-image:-webkit-gradient(linear,left top,right top,from(rgba(0,0,0,.5)),to(rgba(0,0,0,0)));background-image:-webkit-linear-gradient(left,rgba(0,0,0,.5),rgba(0,0,0,0));background-image:-o-linear-gradient(left,rgba(0,0,0,.5),rgba(0,0,0,0));background-image:linear-gradient(to right,rgba(0,0,0,.5),rgba(0,0,0,0))}.swiper-container-3d .swiper-slide-shadow-top{background-image:-webkit-gradient(linear,left bottom,left top,from(rgba(0,0,0,.5)),to(rgba(0,0,0,0)));background-image:-webkit-linear-gradient(bottom,rgba(0,0,0,.5),rgba(0,0,0,0));background-image:-o-linear-gradient(bottom,rgba(0,0,0,.5),rgba(0,0,0,0));background-image:linear-gradient(to top,rgba(0,0,0,.5),rgba(0,0,0,0))}.swiper-container-3d .swiper-slide-shadow-bottom{background-image:-webkit-gradient(linear,left top,left bottom,from(rgba(0,0,0,.5)),to(rgba(0,0,0,0)));background-image:-webkit-linear-gradient(top,rgba(0,0,0,.5),rgba(0,0,0,0));background-image:-o-linear-gradient(top,rgba(0,0,0,.5),rgba(0,0,0,0));background-image:linear-gradient(to bottom,rgba(0,0,0,.5),rgba(0,0,0,0))}.swiper-container-wp8-horizontal,.swiper-container-wp8-horizontal>.swiper-wrapper{-ms-touch-action:pan-y;touch-action:pan-y}.swiper-container-wp8-vertical,.swiper-container-wp8-vertical>.swiper-wrapper{-ms-touch-action:pan-x;touch-action:pan-x}.swiper-button-next,.swiper-button-prev{position:absolute;top:50%;width:27px;height:44px;margin-top:-22px;z-index:10;cursor:pointer;background-size:27px 44px;background-position:center;background-repeat:no-repeat}.swiper-button-next.swiper-button-disabled,.swiper-button-prev.swiper-button-disabled{opacity:.35;cursor:auto;pointer-events:none}.swiper-button-prev,.swiper-container-rtl .swiper-button-next{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M0%2C22L22%2C0l2.1%2C2.1L4.2%2C22l19.9%2C19.9L22%2C44L0%2C22L0%2C22L0%2C22z'%20fill%3D'%23007aff'%2F%3E%3C%2Fsvg%3E");left:10px;right:auto}.swiper-button-next,.swiper-container-rtl .swiper-button-prev{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M27%2C22L27%2C22L5%2C44l-2.1-2.1L22.8%2C22L2.9%2C2.1L5%2C0L27%2C22L27%2C22z'%20fill%3D'%23007aff'%2F%3E%3C%2Fsvg%3E");right:10px;left:auto}.swiper-button-prev.swiper-button-white,.swiper-container-rtl .swiper-button-next.swiper-button-white{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M0%2C22L22%2C0l2.1%2C2.1L4.2%2C22l19.9%2C19.9L22%2C44L0%2C22L0%2C22L0%2C22z'%20fill%3D'%23ffffff'%2F%3E%3C%2Fsvg%3E")}.swiper-button-next.swiper-button-white,.swiper-container-rtl .swiper-button-prev.swiper-button-white{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M27%2C22L27%2C22L5%2C44l-2.1-2.1L22.8%2C22L2.9%2C2.1L5%2C0L27%2C22L27%2C22z'%20fill%3D'%23ffffff'%2F%3E%3C%2Fsvg%3E")}.swiper-button-prev.swiper-button-black,.swiper-container-rtl .swiper-button-next.swiper-button-black{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M0%2C22L22%2C0l2.1%2C2.1L4.2%2C22l19.9%2C19.9L22%2C44L0%2C22L0%2C22L0%2C22z'%20fill%3D'%23000000'%2F%3E%3C%2Fsvg%3E")}.swiper-button-next.swiper-button-black,.swiper-container-rtl .swiper-button-prev.swiper-button-black{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M27%2C22L27%2C22L5%2C44l-2.1-2.1L22.8%2C22L2.9%2C2.1L5%2C0L27%2C22L27%2C22z'%20fill%3D'%23000000'%2F%3E%3C%2Fsvg%3E")}.swiper-button-lock{display:none}.swiper-pagination{position:absolute;text-align:center;-webkit-transition:.3s opacity;-o-transition:.3s opacity;transition:.3s opacity;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0);z-index:10}.swiper-pagination.swiper-pagination-hidden{opacity:0}.swiper-container-horizontal>.swiper-pagination-bullets,.swiper-pagination-custom,.swiper-pagination-fraction{bottom:10px;left:0;width:100%}.swiper-pagination-bullets-dynamic{overflow:hidden;font-size:0}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet{-webkit-transform:scale(.33);-ms-transform:scale(.33);transform:scale(.33);position:relative}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active{-webkit-transform:scale(1);-ms-transform:scale(1);transform:scale(1)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-main{-webkit-transform:scale(1);-ms-transform:scale(1);transform:scale(1)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev{-webkit-transform:scale(.66);-ms-transform:scale(.66);transform:scale(.66)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev-prev{-webkit-transform:scale(.33);-ms-transform:scale(.33);transform:scale(.33)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next{-webkit-transform:scale(.66);-ms-transform:scale(.66);transform:scale(.66)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next-next{-webkit-transform:scale(.33);-ms-transform:scale(.33);transform:scale(.33)}.swiper-pagination-bullet{width:8px;height:8px;display:inline-block;border-radius:100%;background:#000;opacity:.2}button.swiper-pagination-bullet{border:none;margin:0;padding:0;-webkit-box-shadow:none;box-shadow:none;-webkit-appearance:none;-moz-appearance:none;appearance:none}.swiper-pagination-clickable .swiper-pagination-bullet{cursor:pointer}.swiper-pagination-bullet-active{opacity:1;background:#007aff}.swiper-container-vertical>.swiper-pagination-bullets{right:10px;top:50%;-webkit-transform:translate3d(0,-50%,0);transform:translate3d(0,-50%,0)}.swiper-container-vertical>.swiper-pagination-bullets .swiper-pagination-bullet{margin:6px 0;display:block}.swiper-container-vertical>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic{top:50%;-webkit-transform:translateY(-50%);-ms-transform:translateY(-50%);transform:translateY(-50%);width:8px}.swiper-container-vertical>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet{display:inline-block;-webkit-transition:.2s top,.2s -webkit-transform;transition:.2s top,.2s -webkit-transform;-o-transition:.2s transform,.2s top;transition:.2s transform,.2s top;transition:.2s transform,.2s top,.2s -webkit-transform}.swiper-container-horizontal>.swiper-pagination-bullets .swiper-pagination-bullet{margin:0 4px}.swiper-container-horizontal>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic{left:50%;-webkit-transform:translateX(-50%);-ms-transform:translateX(-50%);transform:translateX(-50%);white-space:nowrap}.swiper-container-horizontal>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet{-webkit-transition:.2s left,.2s -webkit-transform;transition:.2s left,.2s -webkit-transform;-o-transition:.2s transform,.2s left;transition:.2s transform,.2s left;transition:.2s transform,.2s left,.2s -webkit-transform}.swiper-container-horizontal.swiper-container-rtl>.swiper-pagination-bullets-dynamic .swiper-pagination-bullet{-webkit-transition:.2s right,.2s -webkit-transform;transition:.2s right,.2s -webkit-transform;-o-transition:.2s transform,.2s right;transition:.2s transform,.2s right;transition:.2s transform,.2s right,.2s -webkit-transform}.swiper-pagination-progressbar{background:rgba(0,0,0,.25);position:absolute}.swiper-pagination-progressbar .swiper-pagination-progressbar-fill{background:#007aff;position:absolute;left:0;top:0;width:100%;height:100%;-webkit-transform:scale(0);-ms-transform:scale(0);transform:scale(0);-webkit-transform-origin:left top;-ms-transform-origin:left top;transform-origin:left top}.swiper-container-rtl .swiper-pagination-progressbar .swiper-pagination-progressbar-fill{-webkit-transform-origin:right top;-ms-transform-origin:right top;transform-origin:right top}.swiper-container-horizontal>.swiper-pagination-progressbar,.swiper-container-vertical>.swiper-pagination-progressbar.swiper-pagination-progressbar-opposite{width:100%;height:4px;left:0;top:0}.swiper-container-horizontal>.swiper-pagination-progressbar.swiper-pagination-progressbar-opposite,.swiper-container-vertical>.swiper-pagination-progressbar{width:4px;height:100%;left:0;top:0}.swiper-pagination-white .swiper-pagination-bullet-active{background:#fff}.swiper-pagination-progressbar.swiper-pagination-white{background:rgba(255,255,255,.25)}.swiper-pagination-progressbar.swiper-pagination-white .swiper-pagination-progressbar-fill{background:#fff}.swiper-pagination-black .swiper-pagination-bullet-active{background:#000}.swiper-pagination-progressbar.swiper-pagination-black{background:rgba(0,0,0,.25)}.swiper-pagination-progressbar.swiper-pagination-black .swiper-pagination-progressbar-fill{background:#000}.swiper-pagination-lock{display:none}.swiper-scrollbar{border-radius:10px;position:relative;-ms-touch-action:none;background:rgba(0,0,0,.1)}.swiper-container-horizontal>.swiper-scrollbar{position:absolute;left:1%;bottom:3px;z-index:50;height:5px;width:98%}.swiper-container-vertical>.swiper-scrollbar{position:absolute;right:3px;top:1%;z-index:50;width:5px;height:98%}.swiper-scrollbar-drag{height:100%;width:100%;position:relative;background:rgba(0,0,0,.5);border-radius:10px;left:0;top:0}.swiper-scrollbar-cursor-drag{cursor:move}.swiper-scrollbar-lock{display:none}.swiper-zoom-container{width:100%;height:100%;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;text-align:center}.swiper-zoom-container>canvas,.swiper-zoom-container>img,.swiper-zoom-container>svg{max-width:100%;max-height:100%;-o-object-fit:contain;object-fit:contain}.swiper-slide-zoomed{cursor:move}.swiper-lazy-preloader{width:42px;height:42px;position:absolute;left:50%;top:50%;margin-left:-21px;margin-top:-21px;z-index:10;-webkit-transform-origin:50%;-ms-transform-origin:50%;transform-origin:50%;-webkit-animation:swiper-preloader-spin 1s steps(12,end) infinite;animation:swiper-preloader-spin 1s steps(12,end) infinite}.swiper-lazy-preloader:after{display:block;content:'';width:100%;height:100%;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20viewBox%3D'0%200%20120%20120'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20xmlns%3Axlink%3D'http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink'%3E%3Cdefs%3E%3Cline%20id%3D'l'%20x1%3D'60'%20x2%3D'60'%20y1%3D'7'%20y2%3D'27'%20stroke%3D'%236c6c6c'%20stroke-width%3D'11'%20stroke-linecap%3D'round'%2F%3E%3C%2Fdefs%3E%3Cg%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(30%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(60%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(90%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(120%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(150%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.37'%20transform%3D'rotate(180%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.46'%20transform%3D'rotate(210%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.56'%20transform%3D'rotate(240%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.66'%20transform%3D'rotate(270%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.75'%20transform%3D'rotate(300%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.85'%20transform%3D'rotate(330%2060%2C60)'%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E");background-position:50%;background-size:100%;background-repeat:no-repeat}.swiper-lazy-preloader-white:after{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20viewBox%3D'0%200%20120%20120'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20xmlns%3Axlink%3D'http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink'%3E%3Cdefs%3E%3Cline%20id%3D'l'%20x1%3D'60'%20x2%3D'60'%20y1%3D'7'%20y2%3D'27'%20stroke%3D'%23fff'%20stroke-width%3D'11'%20stroke-linecap%3D'round'%2F%3E%3C%2Fdefs%3E%3Cg%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(30%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(60%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(90%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(120%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(150%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.37'%20transform%3D'rotate(180%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.46'%20transform%3D'rotate(210%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.56'%20transform%3D'rotate(240%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.66'%20transform%3D'rotate(270%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.75'%20transform%3D'rotate(300%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.85'%20transform%3D'rotate(330%2060%2C60)'%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E")}@-webkit-keyframes swiper-preloader-spin{100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@keyframes swiper-preloader-spin{100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}.swiper-container .swiper-notification{position:absolute;left:0;top:0;pointer-events:none;opacity:0;z-index:-1000}.swiper-container-fade.swiper-container-free-mode .swiper-slide{-webkit-transition-timing-function:ease-out;-o-transition-timing-function:ease-out;transition-timing-function:ease-out}.swiper-container-fade .swiper-slide{pointer-events:none;-webkit-transition-property:opacity;-o-transition-property:opacity;transition-property:opacity}.swiper-container-fade .swiper-slide .swiper-slide{pointer-events:none}.swiper-container-fade .swiper-slide-active,.swiper-container-fade .swiper-slide-active .swiper-slide-active{pointer-events:auto}.swiper-container-cube{overflow:visible}.swiper-container-cube .swiper-slide{pointer-events:none;-webkit-backface-visibility:hidden;backface-visibility:hidden;z-index:1;visibility:hidden;-webkit-transform-origin:0 0;-ms-transform-origin:0 0;transform-origin:0 0;width:100%;height:100%}.swiper-container-cube .swiper-slide .swiper-slide{pointer-events:none}.swiper-container-cube.swiper-container-rtl .swiper-slide{-webkit-transform-origin:100% 0;-ms-transform-origin:100% 0;transform-origin:100% 0}.swiper-container-cube .swiper-slide-active,.swiper-container-cube .swiper-slide-active .swiper-slide-active{pointer-events:auto}.swiper-container-cube .swiper-slide-active,.swiper-container-cube .swiper-slide-next,.swiper-container-cube .swiper-slide-next+.swiper-slide,.swiper-container-cube .swiper-slide-prev{pointer-events:auto;visibility:visible}.swiper-container-cube .swiper-slide-shadow-bottom,.swiper-container-cube .swiper-slide-shadow-left,.swiper-container-cube .swiper-slide-shadow-right,.swiper-container-cube .swiper-slide-shadow-top{z-index:0;-webkit-backface-visibility:hidden;backface-visibility:hidden}.swiper-container-cube .swiper-cube-shadow{position:absolute;left:0;bottom:0;width:100%;height:100%;background:#000;opacity:.6;-webkit-filter:blur(50px);filter:blur(50px);z-index:0}.swiper-container-flip{overflow:visible}.swiper-container-flip .swiper-slide{pointer-events:none;-webkit-backface-visibility:hidden;backface-visibility:hidden;z-index:1}.swiper-container-flip .swiper-slide .swiper-slide{pointer-events:none}.swiper-container-flip .swiper-slide-active,.swiper-container-flip .swiper-slide-active .swiper-slide-active{pointer-events:auto}.swiper-container-flip .swiper-slide-shadow-bottom,.swiper-container-flip .swiper-slide-shadow-left,.swiper-container-flip .swiper-slide-shadow-right,.swiper-container-flip .swiper-slide-shadow-top{z-index:0;-webkit-backface-visibility:hidden;backface-visibility:hidden}.swiper-container-coverflow .swiper-wrapper{-ms-perspective:1200px} \ No newline at end of file diff --git a/assets/css/vendor.min.css b/assets/css/vendor.min.css new file mode 100644 index 000000000..8998a0f97 --- /dev/null +++ b/assets/css/vendor.min.css @@ -0,0 +1,11 @@ +/*! + * Bootstrap v4.3.1 (https://getbootstrap.com/) + * Copyright 2011-2019 The Bootstrap Authors + * Copyright 2011-2019 Twitter, Inc. + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) + */:root{--blue:#007bff;--indigo:#6610f2;--purple:#6f42c1;--pink:#e83e8c;--red:#dc3545;--orange:#fd7e14;--yellow:#ffc107;--green:#28a745;--teal:#20c997;--cyan:#17a2b8;--white:#fff;--gray:#6c757d;--gray-dark:#343a40;--primary:#007bff;--secondary:#6c757d;--success:#28a745;--info:#17a2b8;--warning:#ffc107;--danger:#dc3545;--light:#f8f9fa;--dark:#343a40;--breakpoint-xs:0;--breakpoint-sm:576px;--breakpoint-md:768px;--breakpoint-lg:992px;--breakpoint-xl:1200px;--font-family-sans-serif:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--font-family-monospace:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace}*,:after,:before{box-sizing:border-box}html{font-family:sans-serif;line-height:1.15;-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent}article,aside,figcaption,figure,footer,header,hgroup,main,nav,section{display:block}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif;font-size:1rem;font-weight:400;line-height:1.5;color:#212529;text-align:left;background-color:#fff}[tabindex="-1"]:focus{outline:0!important}hr{box-sizing:content-box;height:0;overflow:visible}h1,h2,h3,h4,h5,h6{margin-top:0;margin-bottom:.5rem}p{margin-top:0;margin-bottom:1rem}abbr[data-original-title],abbr[title]{text-decoration:underline;-webkit-text-decoration:underline dotted;text-decoration:underline dotted;cursor:help;border-bottom:0;-webkit-text-decoration-skip-ink:none;text-decoration-skip-ink:none}address{font-style:normal;line-height:inherit}address,dl,ol,ul{margin-bottom:1rem}dl,ol,ul{margin-top:0}ol ol,ol ul,ul ol,ul ul{margin-bottom:0}dt{font-weight:700}dd{margin-bottom:.5rem;margin-left:0}blockquote{margin:0 0 1rem}b,strong{font-weight:bolder}small{font-size:80%}sub,sup{position:relative;font-size:75%;line-height:0;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}a{color:#007bff;text-decoration:none;background-color:transparent}a:hover{color:#0056b3;text-decoration:underline}a:not([href]):not([tabindex]),a:not([href]):not([tabindex]):focus,a:not([href]):not([tabindex]):hover{color:inherit;text-decoration:none}a:not([href]):not([tabindex]):focus{outline:0}code,kbd,pre,samp{font-family:SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:1em}pre{margin-top:0;margin-bottom:1rem;overflow:auto}figure{margin:0 0 1rem}img{border-style:none}img,svg{vertical-align:middle}svg{overflow:hidden}table{border-collapse:collapse}caption{padding-top:.75rem;padding-bottom:.75rem;color:#6c757d;text-align:left;caption-side:bottom}th{text-align:inherit}label{display:inline-block;margin-bottom:.5rem}button{border-radius:0}button:focus{outline:1px dotted;outline:5px auto -webkit-focus-ring-color}button,input,optgroup,select,textarea{margin:0;font-family:inherit;font-size:inherit;line-height:inherit}button,input{overflow:visible}button,select{text-transform:none}select{word-wrap:normal}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button}[type=button]:not(:disabled),[type=reset]:not(:disabled),[type=submit]:not(:disabled),button:not(:disabled){cursor:pointer}[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner,button::-moz-focus-inner{padding:0;border-style:none}input[type=checkbox],input[type=radio]{box-sizing:border-box;padding:0}input[type=date],input[type=datetime-local],input[type=month],input[type=time]{-webkit-appearance:listbox}textarea{overflow:auto;resize:vertical}fieldset{min-width:0;padding:0;margin:0;border:0}legend{display:block;width:100%;max-width:100%;padding:0;margin-bottom:.5rem;font-size:1.5rem;line-height:inherit;color:inherit;white-space:normal}progress{vertical-align:baseline}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{outline-offset:-2px;-webkit-appearance:none}[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{font:inherit;-webkit-appearance:button}output{display:inline-block}summary{display:list-item;cursor:pointer}template{display:none}[hidden]{display:none!important}.h1,.h2,.h3,.h4,.h5,.h6,h1,h2,h3,h4,h5,h6{margin-bottom:.5rem;font-weight:500;line-height:1.2}.h1,h1{font-size:2.5rem}.h2,h2{font-size:2rem}.h3,h3{font-size:1.75rem}.h4,h4{font-size:1.5rem}.h5,h5{font-size:1.25rem}.h6,h6{font-size:1rem}.lead{font-size:1.25rem;font-weight:300}.display-1{font-size:6rem}.display-1,.display-2{font-weight:300;line-height:1.2}.display-2{font-size:5.5rem}.display-3{font-size:4.5rem}.display-3,.display-4{font-weight:300;line-height:1.2}.display-4{font-size:3.5rem}hr{margin-top:1rem;margin-bottom:1rem;border:0;border-top:1px solid rgba(0,0,0,.1)}.small,small{font-size:80%;font-weight:400}.mark,mark{padding:.2em;background-color:#fcf8e3}.list-inline,.list-unstyled{padding-left:0;list-style:none}.list-inline-item{display:inline-block}.list-inline-item:not(:last-child){margin-right:.5rem}.initialism{font-size:90%;text-transform:uppercase}.blockquote{margin-bottom:1rem;font-size:1.25rem}.blockquote-footer{display:block;font-size:80%;color:#6c757d}.blockquote-footer:before{content:"\2014\00A0"}.img-fluid,.img-thumbnail{max-width:100%;height:auto}.img-thumbnail{padding:.25rem;background-color:#fff;border:1px solid #dee2e6;border-radius:.25rem}.figure{display:inline-block}.figure-img{margin-bottom:.5rem;line-height:1}.figure-caption{font-size:90%;color:#6c757d}code{font-size:87.5%;color:#e83e8c;word-break:break-word}a>code{color:inherit}kbd{padding:.2rem .4rem;font-size:87.5%;color:#fff;background-color:#212529;border-radius:.2rem}kbd kbd{padding:0;font-size:100%;font-weight:700}pre{display:block;font-size:87.5%;color:#212529}pre code{font-size:inherit;color:inherit;word-break:normal}.pre-scrollable{max-height:340px;overflow-y:scroll}.container{width:100%;padding-right:15px;padding-left:15px;margin-right:auto;margin-left:auto}@media (min-width:576px){.container{max-width:540px}}@media (min-width:768px){.container{max-width:720px}}@media (min-width:992px){.container{max-width:960px}}@media (min-width:1200px){.container{max-width:1140px}}.container-fluid{width:100%;padding-right:15px;padding-left:15px;margin-right:auto;margin-left:auto}.row{display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;margin-right:-15px;margin-left:-15px}.no-gutters{margin-right:0;margin-left:0}.no-gutters>.col,.no-gutters>[class*=col-]{padding-right:0;padding-left:0}.col,.col-1,.col-2,.col-3,.col-4,.col-5,.col-6,.col-7,.col-8,.col-9,.col-10,.col-11,.col-12,.col-auto,.col-lg,.col-lg-1,.col-lg-2,.col-lg-3,.col-lg-4,.col-lg-5,.col-lg-6,.col-lg-7,.col-lg-8,.col-lg-9,.col-lg-10,.col-lg-11,.col-lg-12,.col-lg-auto,.col-md,.col-md-1,.col-md-2,.col-md-3,.col-md-4,.col-md-5,.col-md-6,.col-md-7,.col-md-8,.col-md-9,.col-md-10,.col-md-11,.col-md-12,.col-md-auto,.col-sm,.col-sm-1,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9,.col-sm-10,.col-sm-11,.col-sm-12,.col-sm-auto,.col-xl,.col-xl-1,.col-xl-2,.col-xl-3,.col-xl-4,.col-xl-5,.col-xl-6,.col-xl-7,.col-xl-8,.col-xl-9,.col-xl-10,.col-xl-11,.col-xl-12,.col-xl-auto{position:relative;width:100%;padding-right:15px;padding-left:15px}.col{-ms-flex-preferred-size:0;flex-basis:0;-ms-flex-positive:1;flex-grow:1;max-width:100%}.col-auto{-ms-flex:0 0 auto;flex:0 0 auto;width:auto;max-width:100%}.col-1{-ms-flex:0 0 8.333333%;flex:0 0 8.333333%;max-width:8.333333%}.col-2{-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-3{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-4{-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.col-5{-ms-flex:0 0 41.666667%;flex:0 0 41.666667%;max-width:41.666667%}.col-6{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-7{-ms-flex:0 0 58.333333%;flex:0 0 58.333333%;max-width:58.333333%}.col-8{-ms-flex:0 0 66.666667%;flex:0 0 66.666667%;max-width:66.666667%}.col-9{-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.col-10{-ms-flex:0 0 83.333333%;flex:0 0 83.333333%;max-width:83.333333%}.col-11{-ms-flex:0 0 91.666667%;flex:0 0 91.666667%;max-width:91.666667%}.col-12{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.order-first{-ms-flex-order:-1;order:-1}.order-last{-ms-flex-order:13;order:13}.order-0{-ms-flex-order:0;order:0}.order-1{-ms-flex-order:1;order:1}.order-2{-ms-flex-order:2;order:2}.order-3{-ms-flex-order:3;order:3}.order-4{-ms-flex-order:4;order:4}.order-5{-ms-flex-order:5;order:5}.order-6{-ms-flex-order:6;order:6}.order-7{-ms-flex-order:7;order:7}.order-8{-ms-flex-order:8;order:8}.order-9{-ms-flex-order:9;order:9}.order-10{-ms-flex-order:10;order:10}.order-11{-ms-flex-order:11;order:11}.order-12{-ms-flex-order:12;order:12}.offset-1{margin-left:8.333333%}.offset-2{margin-left:16.666667%}.offset-3{margin-left:25%}.offset-4{margin-left:33.333333%}.offset-5{margin-left:41.666667%}.offset-6{margin-left:50%}.offset-7{margin-left:58.333333%}.offset-8{margin-left:66.666667%}.offset-9{margin-left:75%}.offset-10{margin-left:83.333333%}.offset-11{margin-left:91.666667%}@media (min-width:576px){.col-sm{-ms-flex-preferred-size:0;flex-basis:0;-ms-flex-positive:1;flex-grow:1;max-width:100%}.col-sm-auto{-ms-flex:0 0 auto;flex:0 0 auto;width:auto;max-width:100%}.col-sm-1{-ms-flex:0 0 8.333333%;flex:0 0 8.333333%;max-width:8.333333%}.col-sm-2{-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-sm-3{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-sm-4{-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.col-sm-5{-ms-flex:0 0 41.666667%;flex:0 0 41.666667%;max-width:41.666667%}.col-sm-6{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-sm-7{-ms-flex:0 0 58.333333%;flex:0 0 58.333333%;max-width:58.333333%}.col-sm-8{-ms-flex:0 0 66.666667%;flex:0 0 66.666667%;max-width:66.666667%}.col-sm-9{-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.col-sm-10{-ms-flex:0 0 83.333333%;flex:0 0 83.333333%;max-width:83.333333%}.col-sm-11{-ms-flex:0 0 91.666667%;flex:0 0 91.666667%;max-width:91.666667%}.col-sm-12{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.order-sm-first{-ms-flex-order:-1;order:-1}.order-sm-last{-ms-flex-order:13;order:13}.order-sm-0{-ms-flex-order:0;order:0}.order-sm-1{-ms-flex-order:1;order:1}.order-sm-2{-ms-flex-order:2;order:2}.order-sm-3{-ms-flex-order:3;order:3}.order-sm-4{-ms-flex-order:4;order:4}.order-sm-5{-ms-flex-order:5;order:5}.order-sm-6{-ms-flex-order:6;order:6}.order-sm-7{-ms-flex-order:7;order:7}.order-sm-8{-ms-flex-order:8;order:8}.order-sm-9{-ms-flex-order:9;order:9}.order-sm-10{-ms-flex-order:10;order:10}.order-sm-11{-ms-flex-order:11;order:11}.order-sm-12{-ms-flex-order:12;order:12}.offset-sm-0{margin-left:0}.offset-sm-1{margin-left:8.333333%}.offset-sm-2{margin-left:16.666667%}.offset-sm-3{margin-left:25%}.offset-sm-4{margin-left:33.333333%}.offset-sm-5{margin-left:41.666667%}.offset-sm-6{margin-left:50%}.offset-sm-7{margin-left:58.333333%}.offset-sm-8{margin-left:66.666667%}.offset-sm-9{margin-left:75%}.offset-sm-10{margin-left:83.333333%}.offset-sm-11{margin-left:91.666667%}}@media (min-width:768px){.col-md{-ms-flex-preferred-size:0;flex-basis:0;-ms-flex-positive:1;flex-grow:1;max-width:100%}.col-md-auto{-ms-flex:0 0 auto;flex:0 0 auto;width:auto;max-width:100%}.col-md-1{-ms-flex:0 0 8.333333%;flex:0 0 8.333333%;max-width:8.333333%}.col-md-2{-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-md-3{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-md-4{-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.col-md-5{-ms-flex:0 0 41.666667%;flex:0 0 41.666667%;max-width:41.666667%}.col-md-6{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-md-7{-ms-flex:0 0 58.333333%;flex:0 0 58.333333%;max-width:58.333333%}.col-md-8{-ms-flex:0 0 66.666667%;flex:0 0 66.666667%;max-width:66.666667%}.col-md-9{-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.col-md-10{-ms-flex:0 0 83.333333%;flex:0 0 83.333333%;max-width:83.333333%}.col-md-11{-ms-flex:0 0 91.666667%;flex:0 0 91.666667%;max-width:91.666667%}.col-md-12{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.order-md-first{-ms-flex-order:-1;order:-1}.order-md-last{-ms-flex-order:13;order:13}.order-md-0{-ms-flex-order:0;order:0}.order-md-1{-ms-flex-order:1;order:1}.order-md-2{-ms-flex-order:2;order:2}.order-md-3{-ms-flex-order:3;order:3}.order-md-4{-ms-flex-order:4;order:4}.order-md-5{-ms-flex-order:5;order:5}.order-md-6{-ms-flex-order:6;order:6}.order-md-7{-ms-flex-order:7;order:7}.order-md-8{-ms-flex-order:8;order:8}.order-md-9{-ms-flex-order:9;order:9}.order-md-10{-ms-flex-order:10;order:10}.order-md-11{-ms-flex-order:11;order:11}.order-md-12{-ms-flex-order:12;order:12}.offset-md-0{margin-left:0}.offset-md-1{margin-left:8.333333%}.offset-md-2{margin-left:16.666667%}.offset-md-3{margin-left:25%}.offset-md-4{margin-left:33.333333%}.offset-md-5{margin-left:41.666667%}.offset-md-6{margin-left:50%}.offset-md-7{margin-left:58.333333%}.offset-md-8{margin-left:66.666667%}.offset-md-9{margin-left:75%}.offset-md-10{margin-left:83.333333%}.offset-md-11{margin-left:91.666667%}}@media (min-width:992px){.col-lg{-ms-flex-preferred-size:0;flex-basis:0;-ms-flex-positive:1;flex-grow:1;max-width:100%}.col-lg-auto{-ms-flex:0 0 auto;flex:0 0 auto;width:auto;max-width:100%}.col-lg-1{-ms-flex:0 0 8.333333%;flex:0 0 8.333333%;max-width:8.333333%}.col-lg-2{-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-lg-3{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-lg-4{-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.col-lg-5{-ms-flex:0 0 41.666667%;flex:0 0 41.666667%;max-width:41.666667%}.col-lg-6{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-lg-7{-ms-flex:0 0 58.333333%;flex:0 0 58.333333%;max-width:58.333333%}.col-lg-8{-ms-flex:0 0 66.666667%;flex:0 0 66.666667%;max-width:66.666667%}.col-lg-9{-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.col-lg-10{-ms-flex:0 0 83.333333%;flex:0 0 83.333333%;max-width:83.333333%}.col-lg-11{-ms-flex:0 0 91.666667%;flex:0 0 91.666667%;max-width:91.666667%}.col-lg-12{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.order-lg-first{-ms-flex-order:-1;order:-1}.order-lg-last{-ms-flex-order:13;order:13}.order-lg-0{-ms-flex-order:0;order:0}.order-lg-1{-ms-flex-order:1;order:1}.order-lg-2{-ms-flex-order:2;order:2}.order-lg-3{-ms-flex-order:3;order:3}.order-lg-4{-ms-flex-order:4;order:4}.order-lg-5{-ms-flex-order:5;order:5}.order-lg-6{-ms-flex-order:6;order:6}.order-lg-7{-ms-flex-order:7;order:7}.order-lg-8{-ms-flex-order:8;order:8}.order-lg-9{-ms-flex-order:9;order:9}.order-lg-10{-ms-flex-order:10;order:10}.order-lg-11{-ms-flex-order:11;order:11}.order-lg-12{-ms-flex-order:12;order:12}.offset-lg-0{margin-left:0}.offset-lg-1{margin-left:8.333333%}.offset-lg-2{margin-left:16.666667%}.offset-lg-3{margin-left:25%}.offset-lg-4{margin-left:33.333333%}.offset-lg-5{margin-left:41.666667%}.offset-lg-6{margin-left:50%}.offset-lg-7{margin-left:58.333333%}.offset-lg-8{margin-left:66.666667%}.offset-lg-9{margin-left:75%}.offset-lg-10{margin-left:83.333333%}.offset-lg-11{margin-left:91.666667%}}@media (min-width:1200px){.col-xl{-ms-flex-preferred-size:0;flex-basis:0;-ms-flex-positive:1;flex-grow:1;max-width:100%}.col-xl-auto{-ms-flex:0 0 auto;flex:0 0 auto;width:auto;max-width:100%}.col-xl-1{-ms-flex:0 0 8.333333%;flex:0 0 8.333333%;max-width:8.333333%}.col-xl-2{-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-xl-3{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-xl-4{-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.col-xl-5{-ms-flex:0 0 41.666667%;flex:0 0 41.666667%;max-width:41.666667%}.col-xl-6{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-xl-7{-ms-flex:0 0 58.333333%;flex:0 0 58.333333%;max-width:58.333333%}.col-xl-8{-ms-flex:0 0 66.666667%;flex:0 0 66.666667%;max-width:66.666667%}.col-xl-9{-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.col-xl-10{-ms-flex:0 0 83.333333%;flex:0 0 83.333333%;max-width:83.333333%}.col-xl-11{-ms-flex:0 0 91.666667%;flex:0 0 91.666667%;max-width:91.666667%}.col-xl-12{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.order-xl-first{-ms-flex-order:-1;order:-1}.order-xl-last{-ms-flex-order:13;order:13}.order-xl-0{-ms-flex-order:0;order:0}.order-xl-1{-ms-flex-order:1;order:1}.order-xl-2{-ms-flex-order:2;order:2}.order-xl-3{-ms-flex-order:3;order:3}.order-xl-4{-ms-flex-order:4;order:4}.order-xl-5{-ms-flex-order:5;order:5}.order-xl-6{-ms-flex-order:6;order:6}.order-xl-7{-ms-flex-order:7;order:7}.order-xl-8{-ms-flex-order:8;order:8}.order-xl-9{-ms-flex-order:9;order:9}.order-xl-10{-ms-flex-order:10;order:10}.order-xl-11{-ms-flex-order:11;order:11}.order-xl-12{-ms-flex-order:12;order:12}.offset-xl-0{margin-left:0}.offset-xl-1{margin-left:8.333333%}.offset-xl-2{margin-left:16.666667%}.offset-xl-3{margin-left:25%}.offset-xl-4{margin-left:33.333333%}.offset-xl-5{margin-left:41.666667%}.offset-xl-6{margin-left:50%}.offset-xl-7{margin-left:58.333333%}.offset-xl-8{margin-left:66.666667%}.offset-xl-9{margin-left:75%}.offset-xl-10{margin-left:83.333333%}.offset-xl-11{margin-left:91.666667%}}.table{width:100%;margin-bottom:1rem;color:#212529}.table td,.table th{padding:.75rem;vertical-align:top;border-top:1px solid #dee2e6}.table thead th{vertical-align:bottom;border-bottom:2px solid #dee2e6}.table tbody+tbody{border-top:2px solid #dee2e6}.table-sm td,.table-sm th{padding:.3rem}.table-bordered,.table-bordered td,.table-bordered th{border:1px solid #dee2e6}.table-bordered thead td,.table-bordered thead th{border-bottom-width:2px}.table-borderless tbody+tbody,.table-borderless td,.table-borderless th,.table-borderless thead th{border:0}.table-striped tbody tr:nth-of-type(odd){background-color:rgba(0,0,0,.05)}.table-hover tbody tr:hover{color:#212529;background-color:rgba(0,0,0,.075)}.table-primary,.table-primary>td,.table-primary>th{background-color:#b8daff}.table-primary tbody+tbody,.table-primary td,.table-primary th,.table-primary thead th{border-color:#7abaff}.table-hover .table-primary:hover,.table-hover .table-primary:hover>td,.table-hover .table-primary:hover>th{background-color:#9fcdff}.table-secondary,.table-secondary>td,.table-secondary>th{background-color:#d6d8db}.table-secondary tbody+tbody,.table-secondary td,.table-secondary th,.table-secondary thead th{border-color:#b3b7bb}.table-hover .table-secondary:hover,.table-hover .table-secondary:hover>td,.table-hover .table-secondary:hover>th{background-color:#c8cbcf}.table-success,.table-success>td,.table-success>th{background-color:#c3e6cb}.table-success tbody+tbody,.table-success td,.table-success th,.table-success thead th{border-color:#8fd19e}.table-hover .table-success:hover,.table-hover .table-success:hover>td,.table-hover .table-success:hover>th{background-color:#b1dfbb}.table-info,.table-info>td,.table-info>th{background-color:#bee5eb}.table-info tbody+tbody,.table-info td,.table-info th,.table-info thead th{border-color:#86cfda}.table-hover .table-info:hover,.table-hover .table-info:hover>td,.table-hover .table-info:hover>th{background-color:#abdde5}.table-warning,.table-warning>td,.table-warning>th{background-color:#ffeeba}.table-warning tbody+tbody,.table-warning td,.table-warning th,.table-warning thead th{border-color:#ffdf7e}.table-hover .table-warning:hover,.table-hover .table-warning:hover>td,.table-hover .table-warning:hover>th{background-color:#ffe8a1}.table-danger,.table-danger>td,.table-danger>th{background-color:#f5c6cb}.table-danger tbody+tbody,.table-danger td,.table-danger th,.table-danger thead th{border-color:#ed969e}.table-hover .table-danger:hover,.table-hover .table-danger:hover>td,.table-hover .table-danger:hover>th{background-color:#f1b0b7}.table-light,.table-light>td,.table-light>th{background-color:#fdfdfe}.table-light tbody+tbody,.table-light td,.table-light th,.table-light thead th{border-color:#fbfcfc}.table-hover .table-light:hover,.table-hover .table-light:hover>td,.table-hover .table-light:hover>th{background-color:#ececf6}.table-dark,.table-dark>td,.table-dark>th{background-color:#c6c8ca}.table-dark tbody+tbody,.table-dark td,.table-dark th,.table-dark thead th{border-color:#95999c}.table-hover .table-dark:hover,.table-hover .table-dark:hover>td,.table-hover .table-dark:hover>th{background-color:#b9bbbe}.table-active,.table-active>td,.table-active>th,.table-hover .table-active:hover,.table-hover .table-active:hover>td,.table-hover .table-active:hover>th{background-color:rgba(0,0,0,.075)}.table .thead-dark th{color:#fff;background-color:#343a40;border-color:#454d55}.table .thead-light th{color:#495057;background-color:#e9ecef;border-color:#dee2e6}.table-dark{color:#fff;background-color:#343a40}.table-dark td,.table-dark th,.table-dark thead th{border-color:#454d55}.table-dark.table-bordered{border:0}.table-dark.table-striped tbody tr:nth-of-type(odd){background-color:hsla(0,0%,100%,.05)}.table-dark.table-hover tbody tr:hover{color:#fff;background-color:hsla(0,0%,100%,.075)}@media (max-width:575.98px){.table-responsive-sm{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.table-responsive-sm>.table-bordered{border:0}}@media (max-width:767.98px){.table-responsive-md{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.table-responsive-md>.table-bordered{border:0}}@media (max-width:991.98px){.table-responsive-lg{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.table-responsive-lg>.table-bordered{border:0}}@media (max-width:1199.98px){.table-responsive-xl{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.table-responsive-xl>.table-bordered{border:0}}.table-responsive{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.table-responsive>.table-bordered{border:0}.form-control{display:block;width:100%;height:calc(1.5em + .75rem + 2px);padding:.375rem .75rem;font-size:1rem;font-weight:400;line-height:1.5;color:#495057;background-color:#fff;background-clip:padding-box;border:1px solid #ced4da;border-radius:.25rem;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.form-control{transition:none}}.form-control::-ms-expand{background-color:transparent;border:0}.form-control:focus{color:#495057;background-color:#fff;border-color:#80bdff;outline:0;box-shadow:0 0 0 .2rem rgba(0,123,255,.25)}.form-control::-webkit-input-placeholder{color:#6c757d;opacity:1}.form-control::-moz-placeholder{color:#6c757d;opacity:1}.form-control:-ms-input-placeholder,.form-control::-ms-input-placeholder{color:#6c757d;opacity:1}.form-control::placeholder{color:#6c757d;opacity:1}.form-control:disabled,.form-control[readonly]{background-color:#e9ecef;opacity:1}select.form-control:focus::-ms-value{color:#495057;background-color:#fff}.form-control-file,.form-control-range{display:block;width:100%}.col-form-label{padding-top:calc(.375rem + 1px);padding-bottom:calc(.375rem + 1px);margin-bottom:0;font-size:inherit;line-height:1.5}.col-form-label-lg{padding-top:calc(.5rem + 1px);padding-bottom:calc(.5rem + 1px);font-size:1.25rem;line-height:1.5}.col-form-label-sm{padding-top:calc(.25rem + 1px);padding-bottom:calc(.25rem + 1px);font-size:.875rem;line-height:1.5}.form-control-plaintext{display:block;width:100%;padding-top:.375rem;padding-bottom:.375rem;margin-bottom:0;line-height:1.5;color:#212529;background-color:transparent;border:solid transparent;border-width:1px 0}.form-control-plaintext.form-control-lg,.form-control-plaintext.form-control-sm{padding-right:0;padding-left:0}.form-control-sm{height:calc(1.5em + .5rem + 2px);padding:.25rem .5rem;font-size:.875rem;line-height:1.5;border-radius:.2rem}.form-control-lg{height:calc(1.5em + 1rem + 2px);padding:.5rem 1rem;font-size:1.25rem;line-height:1.5;border-radius:.3rem}select.form-control[multiple],select.form-control[size],textarea.form-control{height:auto}.form-group{margin-bottom:1rem}.form-text{display:block;margin-top:.25rem}.form-row{display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;margin-right:-5px;margin-left:-5px}.form-row>.col,.form-row>[class*=col-]{padding-right:5px;padding-left:5px}.form-check{position:relative;display:block;padding-left:1.25rem}.form-check-input{position:absolute;margin-top:.3rem;margin-left:-1.25rem}.form-check-input:disabled~.form-check-label{color:#6c757d}.form-check-label{margin-bottom:0}.form-check-inline{display:-ms-inline-flexbox;display:inline-flex;-ms-flex-align:center;align-items:center;padding-left:0;margin-right:.75rem}.form-check-inline .form-check-input{position:static;margin-top:0;margin-right:.3125rem;margin-left:0}.valid-feedback{display:none;width:100%;margin-top:.25rem;font-size:80%;color:#28a745}.valid-tooltip{position:absolute;top:100%;z-index:5;display:none;max-width:100%;padding:.25rem .5rem;margin-top:.1rem;font-size:.875rem;line-height:1.5;color:#fff;background-color:rgba(40,167,69,.9);border-radius:.25rem}.form-control.is-valid,.was-validated .form-control:valid{border-color:#28a745;padding-right:calc(1.5em + .75rem);background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath fill='%2328a745' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:100% calc(.375em + .1875rem);background-size:calc(.75em + .375rem) calc(.75em + .375rem)}.form-control.is-valid:focus,.was-validated .form-control:valid:focus{border-color:#28a745;box-shadow:0 0 0 .2rem rgba(40,167,69,.25)}.form-control.is-valid~.valid-feedback,.form-control.is-valid~.valid-tooltip,.was-validated .form-control:valid~.valid-feedback,.was-validated .form-control:valid~.valid-tooltip{display:block}.was-validated textarea.form-control:valid,textarea.form-control.is-valid{padding-right:calc(1.5em + .75rem);background-position:top calc(.375em + .1875rem) right calc(.375em + .1875rem)}.custom-select.is-valid,.was-validated .custom-select:valid{border-color:#28a745;padding-right:calc((1em + .75rem) * 3 / 4 + 1.75rem);background:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 5'%3E%3Cpath fill='%23343a40' d='M2 0L0 2h4zm0 5L0 3h4z'/%3E%3C/svg%3E") no-repeat right .75rem center/8px 10px,url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath fill='%2328a745' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3E%3C/svg%3E") #fff no-repeat center right 1.75rem/calc(.75em + .375rem) calc(.75em + .375rem)}.custom-select.is-valid:focus,.was-validated .custom-select:valid:focus{border-color:#28a745;box-shadow:0 0 0 .2rem rgba(40,167,69,.25)}.custom-select.is-valid~.valid-feedback,.custom-select.is-valid~.valid-tooltip,.form-control-file.is-valid~.valid-feedback,.form-control-file.is-valid~.valid-tooltip,.was-validated .custom-select:valid~.valid-feedback,.was-validated .custom-select:valid~.valid-tooltip,.was-validated .form-control-file:valid~.valid-feedback,.was-validated .form-control-file:valid~.valid-tooltip{display:block}.form-check-input.is-valid~.form-check-label,.was-validated .form-check-input:valid~.form-check-label{color:#28a745}.form-check-input.is-valid~.valid-feedback,.form-check-input.is-valid~.valid-tooltip,.was-validated .form-check-input:valid~.valid-feedback,.was-validated .form-check-input:valid~.valid-tooltip{display:block}.custom-control-input.is-valid~.custom-control-label,.was-validated .custom-control-input:valid~.custom-control-label{color:#28a745}.custom-control-input.is-valid~.custom-control-label:before,.was-validated .custom-control-input:valid~.custom-control-label:before{border-color:#28a745}.custom-control-input.is-valid~.valid-feedback,.custom-control-input.is-valid~.valid-tooltip,.was-validated .custom-control-input:valid~.valid-feedback,.was-validated .custom-control-input:valid~.valid-tooltip{display:block}.custom-control-input.is-valid:checked~.custom-control-label:before,.was-validated .custom-control-input:valid:checked~.custom-control-label:before{border-color:#34ce57;background-color:#34ce57}.custom-control-input.is-valid:focus~.custom-control-label:before,.was-validated .custom-control-input:valid:focus~.custom-control-label:before{box-shadow:0 0 0 .2rem rgba(40,167,69,.25)}.custom-control-input.is-valid:focus:not(:checked)~.custom-control-label:before,.custom-file-input.is-valid~.custom-file-label,.was-validated .custom-control-input:valid:focus:not(:checked)~.custom-control-label:before,.was-validated .custom-file-input:valid~.custom-file-label{border-color:#28a745}.custom-file-input.is-valid~.valid-feedback,.custom-file-input.is-valid~.valid-tooltip,.was-validated .custom-file-input:valid~.valid-feedback,.was-validated .custom-file-input:valid~.valid-tooltip{display:block}.custom-file-input.is-valid:focus~.custom-file-label,.was-validated .custom-file-input:valid:focus~.custom-file-label{border-color:#28a745;box-shadow:0 0 0 .2rem rgba(40,167,69,.25)}.invalid-feedback{display:none;width:100%;margin-top:.25rem;font-size:80%;color:#dc3545}.invalid-tooltip{position:absolute;top:100%;z-index:5;display:none;max-width:100%;padding:.25rem .5rem;margin-top:.1rem;font-size:.875rem;line-height:1.5;color:#fff;background-color:rgba(220,53,69,.9);border-radius:.25rem}.form-control.is-invalid,.was-validated .form-control:invalid{border-color:#dc3545;padding-right:calc(1.5em + .75rem);background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23dc3545' viewBox='-2 -2 7 7'%3E%3Cpath stroke='%23dc3545' d='M0 0l3 3m0-3L0 3'/%3E%3Ccircle r='.5'/%3E%3Ccircle cx='3' r='.5'/%3E%3Ccircle cy='3' r='.5'/%3E%3Ccircle cx='3' cy='3' r='.5'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:100% calc(.375em + .1875rem);background-size:calc(.75em + .375rem) calc(.75em + .375rem)}.form-control.is-invalid:focus,.was-validated .form-control:invalid:focus{border-color:#dc3545;box-shadow:0 0 0 .2rem rgba(220,53,69,.25)}.form-control.is-invalid~.invalid-feedback,.form-control.is-invalid~.invalid-tooltip,.was-validated .form-control:invalid~.invalid-feedback,.was-validated .form-control:invalid~.invalid-tooltip{display:block}.was-validated textarea.form-control:invalid,textarea.form-control.is-invalid{padding-right:calc(1.5em + .75rem);background-position:top calc(.375em + .1875rem) right calc(.375em + .1875rem)}.custom-select.is-invalid,.was-validated .custom-select:invalid{border-color:#dc3545;padding-right:calc((1em + .75rem) * 3 / 4 + 1.75rem);background:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 5'%3E%3Cpath fill='%23343a40' d='M2 0L0 2h4zm0 5L0 3h4z'/%3E%3C/svg%3E") no-repeat right .75rem center/8px 10px,url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23dc3545' viewBox='-2 -2 7 7'%3E%3Cpath stroke='%23dc3545' d='M0 0l3 3m0-3L0 3'/%3E%3Ccircle r='.5'/%3E%3Ccircle cx='3' r='.5'/%3E%3Ccircle cy='3' r='.5'/%3E%3Ccircle cx='3' cy='3' r='.5'/%3E%3C/svg%3E") #fff no-repeat center right 1.75rem/calc(.75em + .375rem) calc(.75em + .375rem)}.custom-select.is-invalid:focus,.was-validated .custom-select:invalid:focus{border-color:#dc3545;box-shadow:0 0 0 .2rem rgba(220,53,69,.25)}.custom-select.is-invalid~.invalid-feedback,.custom-select.is-invalid~.invalid-tooltip,.form-control-file.is-invalid~.invalid-feedback,.form-control-file.is-invalid~.invalid-tooltip,.was-validated .custom-select:invalid~.invalid-feedback,.was-validated .custom-select:invalid~.invalid-tooltip,.was-validated .form-control-file:invalid~.invalid-feedback,.was-validated .form-control-file:invalid~.invalid-tooltip{display:block}.form-check-input.is-invalid~.form-check-label,.was-validated .form-check-input:invalid~.form-check-label{color:#dc3545}.form-check-input.is-invalid~.invalid-feedback,.form-check-input.is-invalid~.invalid-tooltip,.was-validated .form-check-input:invalid~.invalid-feedback,.was-validated .form-check-input:invalid~.invalid-tooltip{display:block}.custom-control-input.is-invalid~.custom-control-label,.was-validated .custom-control-input:invalid~.custom-control-label{color:#dc3545}.custom-control-input.is-invalid~.custom-control-label:before,.was-validated .custom-control-input:invalid~.custom-control-label:before{border-color:#dc3545}.custom-control-input.is-invalid~.invalid-feedback,.custom-control-input.is-invalid~.invalid-tooltip,.was-validated .custom-control-input:invalid~.invalid-feedback,.was-validated .custom-control-input:invalid~.invalid-tooltip{display:block}.custom-control-input.is-invalid:checked~.custom-control-label:before,.was-validated .custom-control-input:invalid:checked~.custom-control-label:before{border-color:#e4606d;background-color:#e4606d}.custom-control-input.is-invalid:focus~.custom-control-label:before,.was-validated .custom-control-input:invalid:focus~.custom-control-label:before{box-shadow:0 0 0 .2rem rgba(220,53,69,.25)}.custom-control-input.is-invalid:focus:not(:checked)~.custom-control-label:before,.custom-file-input.is-invalid~.custom-file-label,.was-validated .custom-control-input:invalid:focus:not(:checked)~.custom-control-label:before,.was-validated .custom-file-input:invalid~.custom-file-label{border-color:#dc3545}.custom-file-input.is-invalid~.invalid-feedback,.custom-file-input.is-invalid~.invalid-tooltip,.was-validated .custom-file-input:invalid~.invalid-feedback,.was-validated .custom-file-input:invalid~.invalid-tooltip{display:block}.custom-file-input.is-invalid:focus~.custom-file-label,.was-validated .custom-file-input:invalid:focus~.custom-file-label{border-color:#dc3545;box-shadow:0 0 0 .2rem rgba(220,53,69,.25)}.form-inline{display:-ms-flexbox;display:flex;-ms-flex-flow:row wrap;flex-flow:row wrap;-ms-flex-align:center;align-items:center}.form-inline .form-check{width:100%}@media (min-width:576px){.form-inline label{-ms-flex-align:center;-ms-flex-pack:center;justify-content:center}.form-inline .form-group,.form-inline label{display:-ms-flexbox;display:flex;align-items:center;margin-bottom:0}.form-inline .form-group{-ms-flex:0 0 auto;flex:0 0 auto;-ms-flex-flow:row wrap;flex-flow:row wrap;-ms-flex-align:center}.form-inline .form-control{display:inline-block;width:auto;vertical-align:middle}.form-inline .form-control-plaintext{display:inline-block}.form-inline .custom-select,.form-inline .input-group{width:auto}.form-inline .form-check{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;width:auto;padding-left:0}.form-inline .form-check-input{position:relative;-ms-flex-negative:0;flex-shrink:0;margin-top:0;margin-right:.25rem;margin-left:0}.form-inline .custom-control{-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center}.form-inline .custom-control-label{margin-bottom:0}}.btn{display:inline-block;font-weight:400;color:#212529;text-align:center;vertical-align:middle;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;background-color:transparent;border:1px solid transparent;padding:.375rem .75rem;font-size:1rem;line-height:1.5;border-radius:.25rem;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.btn{transition:none}}.btn:hover{color:#212529;text-decoration:none}.btn.focus,.btn:focus{outline:0;box-shadow:0 0 0 .2rem rgba(0,123,255,.25)}.btn.disabled,.btn:disabled{opacity:.65}a.btn.disabled,fieldset:disabled a.btn{pointer-events:none}.btn-primary{color:#fff;background-color:#007bff;border-color:#007bff}.btn-primary:hover{color:#fff;background-color:#0069d9;border-color:#0062cc}.btn-primary.focus,.btn-primary:focus{box-shadow:0 0 0 .2rem rgba(38,143,255,.5)}.btn-primary.disabled,.btn-primary:disabled{color:#fff;background-color:#007bff;border-color:#007bff}.btn-primary:not(:disabled):not(.disabled).active,.btn-primary:not(:disabled):not(.disabled):active,.show>.btn-primary.dropdown-toggle{color:#fff;background-color:#0062cc;border-color:#005cbf}.btn-primary:not(:disabled):not(.disabled).active:focus,.btn-primary:not(:disabled):not(.disabled):active:focus,.show>.btn-primary.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(38,143,255,.5)}.btn-secondary{color:#fff;background-color:#6c757d;border-color:#6c757d}.btn-secondary:hover{color:#fff;background-color:#5a6268;border-color:#545b62}.btn-secondary.focus,.btn-secondary:focus{box-shadow:0 0 0 .2rem hsla(208,6%,54%,.5)}.btn-secondary.disabled,.btn-secondary:disabled{color:#fff;background-color:#6c757d;border-color:#6c757d}.btn-secondary:not(:disabled):not(.disabled).active,.btn-secondary:not(:disabled):not(.disabled):active,.show>.btn-secondary.dropdown-toggle{color:#fff;background-color:#545b62;border-color:#4e555b}.btn-secondary:not(:disabled):not(.disabled).active:focus,.btn-secondary:not(:disabled):not(.disabled):active:focus,.show>.btn-secondary.dropdown-toggle:focus{box-shadow:0 0 0 .2rem hsla(208,6%,54%,.5)}.btn-success{color:#fff;background-color:#28a745;border-color:#28a745}.btn-success:hover{color:#fff;background-color:#218838;border-color:#1e7e34}.btn-success.focus,.btn-success:focus{box-shadow:0 0 0 .2rem rgba(72,180,97,.5)}.btn-success.disabled,.btn-success:disabled{color:#fff;background-color:#28a745;border-color:#28a745}.btn-success:not(:disabled):not(.disabled).active,.btn-success:not(:disabled):not(.disabled):active,.show>.btn-success.dropdown-toggle{color:#fff;background-color:#1e7e34;border-color:#1c7430}.btn-success:not(:disabled):not(.disabled).active:focus,.btn-success:not(:disabled):not(.disabled):active:focus,.show>.btn-success.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(72,180,97,.5)}.btn-info{color:#fff;background-color:#17a2b8;border-color:#17a2b8}.btn-info:hover{color:#fff;background-color:#138496;border-color:#117a8b}.btn-info.focus,.btn-info:focus{box-shadow:0 0 0 .2rem rgba(58,176,195,.5)}.btn-info.disabled,.btn-info:disabled{color:#fff;background-color:#17a2b8;border-color:#17a2b8}.btn-info:not(:disabled):not(.disabled).active,.btn-info:not(:disabled):not(.disabled):active,.show>.btn-info.dropdown-toggle{color:#fff;background-color:#117a8b;border-color:#10707f}.btn-info:not(:disabled):not(.disabled).active:focus,.btn-info:not(:disabled):not(.disabled):active:focus,.show>.btn-info.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(58,176,195,.5)}.btn-warning{color:#212529;background-color:#ffc107;border-color:#ffc107}.btn-warning:hover{color:#212529;background-color:#e0a800;border-color:#d39e00}.btn-warning.focus,.btn-warning:focus{box-shadow:0 0 0 .2rem rgba(222,170,12,.5)}.btn-warning.disabled,.btn-warning:disabled{color:#212529;background-color:#ffc107;border-color:#ffc107}.btn-warning:not(:disabled):not(.disabled).active,.btn-warning:not(:disabled):not(.disabled):active,.show>.btn-warning.dropdown-toggle{color:#212529;background-color:#d39e00;border-color:#c69500}.btn-warning:not(:disabled):not(.disabled).active:focus,.btn-warning:not(:disabled):not(.disabled):active:focus,.show>.btn-warning.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(222,170,12,.5)}.btn-danger{color:#fff;background-color:#dc3545;border-color:#dc3545}.btn-danger:hover{color:#fff;background-color:#c82333;border-color:#bd2130}.btn-danger.focus,.btn-danger:focus{box-shadow:0 0 0 .2rem rgba(225,83,97,.5)}.btn-danger.disabled,.btn-danger:disabled{color:#fff;background-color:#dc3545;border-color:#dc3545}.btn-danger:not(:disabled):not(.disabled).active,.btn-danger:not(:disabled):not(.disabled):active,.show>.btn-danger.dropdown-toggle{color:#fff;background-color:#bd2130;border-color:#b21f2d}.btn-danger:not(:disabled):not(.disabled).active:focus,.btn-danger:not(:disabled):not(.disabled):active:focus,.show>.btn-danger.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(225,83,97,.5)}.btn-light{color:#212529;background-color:#f8f9fa;border-color:#f8f9fa}.btn-light:hover{color:#212529;background-color:#e2e6ea;border-color:#dae0e5}.btn-light.focus,.btn-light:focus{box-shadow:0 0 0 .2rem hsla(220,4%,85%,.5)}.btn-light.disabled,.btn-light:disabled{color:#212529;background-color:#f8f9fa;border-color:#f8f9fa}.btn-light:not(:disabled):not(.disabled).active,.btn-light:not(:disabled):not(.disabled):active,.show>.btn-light.dropdown-toggle{color:#212529;background-color:#dae0e5;border-color:#d3d9df}.btn-light:not(:disabled):not(.disabled).active:focus,.btn-light:not(:disabled):not(.disabled):active:focus,.show>.btn-light.dropdown-toggle:focus{box-shadow:0 0 0 .2rem hsla(220,4%,85%,.5)}.btn-dark{color:#fff;background-color:#343a40;border-color:#343a40}.btn-dark:hover{color:#fff;background-color:#23272b;border-color:#1d2124}.btn-dark.focus,.btn-dark:focus{box-shadow:0 0 0 .2rem rgba(82,88,93,.5)}.btn-dark.disabled,.btn-dark:disabled{color:#fff;background-color:#343a40;border-color:#343a40}.btn-dark:not(:disabled):not(.disabled).active,.btn-dark:not(:disabled):not(.disabled):active,.show>.btn-dark.dropdown-toggle{color:#fff;background-color:#1d2124;border-color:#171a1d}.btn-dark:not(:disabled):not(.disabled).active:focus,.btn-dark:not(:disabled):not(.disabled):active:focus,.show>.btn-dark.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(82,88,93,.5)}.btn-outline-primary{color:#007bff;border-color:#007bff}.btn-outline-primary:hover{color:#fff;background-color:#007bff;border-color:#007bff}.btn-outline-primary.focus,.btn-outline-primary:focus{box-shadow:0 0 0 .2rem rgba(0,123,255,.5)}.btn-outline-primary.disabled,.btn-outline-primary:disabled{color:#007bff;background-color:transparent}.btn-outline-primary:not(:disabled):not(.disabled).active,.btn-outline-primary:not(:disabled):not(.disabled):active,.show>.btn-outline-primary.dropdown-toggle{color:#fff;background-color:#007bff;border-color:#007bff}.btn-outline-primary:not(:disabled):not(.disabled).active:focus,.btn-outline-primary:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-primary.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(0,123,255,.5)}.btn-outline-secondary{color:#6c757d;border-color:#6c757d}.btn-outline-secondary:hover{color:#fff;background-color:#6c757d;border-color:#6c757d}.btn-outline-secondary.focus,.btn-outline-secondary:focus{box-shadow:0 0 0 .2rem hsla(208,7%,46%,.5)}.btn-outline-secondary.disabled,.btn-outline-secondary:disabled{color:#6c757d;background-color:transparent}.btn-outline-secondary:not(:disabled):not(.disabled).active,.btn-outline-secondary:not(:disabled):not(.disabled):active,.show>.btn-outline-secondary.dropdown-toggle{color:#fff;background-color:#6c757d;border-color:#6c757d}.btn-outline-secondary:not(:disabled):not(.disabled).active:focus,.btn-outline-secondary:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-secondary.dropdown-toggle:focus{box-shadow:0 0 0 .2rem hsla(208,7%,46%,.5)}.btn-outline-success{color:#28a745;border-color:#28a745}.btn-outline-success:hover{color:#fff;background-color:#28a745;border-color:#28a745}.btn-outline-success.focus,.btn-outline-success:focus{box-shadow:0 0 0 .2rem rgba(40,167,69,.5)}.btn-outline-success.disabled,.btn-outline-success:disabled{color:#28a745;background-color:transparent}.btn-outline-success:not(:disabled):not(.disabled).active,.btn-outline-success:not(:disabled):not(.disabled):active,.show>.btn-outline-success.dropdown-toggle{color:#fff;background-color:#28a745;border-color:#28a745}.btn-outline-success:not(:disabled):not(.disabled).active:focus,.btn-outline-success:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-success.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(40,167,69,.5)}.btn-outline-info{color:#17a2b8;border-color:#17a2b8}.btn-outline-info:hover{color:#fff;background-color:#17a2b8;border-color:#17a2b8}.btn-outline-info.focus,.btn-outline-info:focus{box-shadow:0 0 0 .2rem rgba(23,162,184,.5)}.btn-outline-info.disabled,.btn-outline-info:disabled{color:#17a2b8;background-color:transparent}.btn-outline-info:not(:disabled):not(.disabled).active,.btn-outline-info:not(:disabled):not(.disabled):active,.show>.btn-outline-info.dropdown-toggle{color:#fff;background-color:#17a2b8;border-color:#17a2b8}.btn-outline-info:not(:disabled):not(.disabled).active:focus,.btn-outline-info:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-info.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(23,162,184,.5)}.btn-outline-warning{color:#ffc107;border-color:#ffc107}.btn-outline-warning:hover{color:#212529;background-color:#ffc107;border-color:#ffc107}.btn-outline-warning.focus,.btn-outline-warning:focus{box-shadow:0 0 0 .2rem rgba(255,193,7,.5)}.btn-outline-warning.disabled,.btn-outline-warning:disabled{color:#ffc107;background-color:transparent}.btn-outline-warning:not(:disabled):not(.disabled).active,.btn-outline-warning:not(:disabled):not(.disabled):active,.show>.btn-outline-warning.dropdown-toggle{color:#212529;background-color:#ffc107;border-color:#ffc107}.btn-outline-warning:not(:disabled):not(.disabled).active:focus,.btn-outline-warning:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-warning.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(255,193,7,.5)}.btn-outline-danger{color:#dc3545;border-color:#dc3545}.btn-outline-danger:hover{color:#fff;background-color:#dc3545;border-color:#dc3545}.btn-outline-danger.focus,.btn-outline-danger:focus{box-shadow:0 0 0 .2rem rgba(220,53,69,.5)}.btn-outline-danger.disabled,.btn-outline-danger:disabled{color:#dc3545;background-color:transparent}.btn-outline-danger:not(:disabled):not(.disabled).active,.btn-outline-danger:not(:disabled):not(.disabled):active,.show>.btn-outline-danger.dropdown-toggle{color:#fff;background-color:#dc3545;border-color:#dc3545}.btn-outline-danger:not(:disabled):not(.disabled).active:focus,.btn-outline-danger:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-danger.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(220,53,69,.5)}.btn-outline-light{color:#f8f9fa;border-color:#f8f9fa}.btn-outline-light:hover{color:#212529;background-color:#f8f9fa;border-color:#f8f9fa}.btn-outline-light.focus,.btn-outline-light:focus{box-shadow:0 0 0 .2rem rgba(248,249,250,.5)}.btn-outline-light.disabled,.btn-outline-light:disabled{color:#f8f9fa;background-color:transparent}.btn-outline-light:not(:disabled):not(.disabled).active,.btn-outline-light:not(:disabled):not(.disabled):active,.show>.btn-outline-light.dropdown-toggle{color:#212529;background-color:#f8f9fa;border-color:#f8f9fa}.btn-outline-light:not(:disabled):not(.disabled).active:focus,.btn-outline-light:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-light.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(248,249,250,.5)}.btn-outline-dark{color:#343a40;border-color:#343a40}.btn-outline-dark:hover{color:#fff;background-color:#343a40;border-color:#343a40}.btn-outline-dark.focus,.btn-outline-dark:focus{box-shadow:0 0 0 .2rem rgba(52,58,64,.5)}.btn-outline-dark.disabled,.btn-outline-dark:disabled{color:#343a40;background-color:transparent}.btn-outline-dark:not(:disabled):not(.disabled).active,.btn-outline-dark:not(:disabled):not(.disabled):active,.show>.btn-outline-dark.dropdown-toggle{color:#fff;background-color:#343a40;border-color:#343a40}.btn-outline-dark:not(:disabled):not(.disabled).active:focus,.btn-outline-dark:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-dark.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(52,58,64,.5)}.btn-link{font-weight:400;color:#007bff;text-decoration:none}.btn-link:hover{color:#0056b3;text-decoration:underline}.btn-link.focus,.btn-link:focus{text-decoration:underline;box-shadow:none}.btn-link.disabled,.btn-link:disabled{color:#6c757d;pointer-events:none}.btn-group-lg>.btn,.btn-lg{padding:.5rem 1rem;font-size:1.25rem;line-height:1.5;border-radius:.3rem}.btn-group-sm>.btn,.btn-sm{padding:.25rem .5rem;font-size:.875rem;line-height:1.5;border-radius:.2rem}.btn-block{display:block;width:100%}.btn-block+.btn-block{margin-top:.5rem}input[type=button].btn-block,input[type=reset].btn-block,input[type=submit].btn-block{width:100%}.fade{transition:opacity .15s linear}@media (prefers-reduced-motion:reduce){.fade{transition:none}}.fade:not(.show){opacity:0}.collapse:not(.show){display:none}.collapsing{position:relative;height:0;overflow:hidden;transition:height .35s ease}@media (prefers-reduced-motion:reduce){.collapsing{transition:none}}.dropdown,.dropleft,.dropright,.dropup{position:relative}.dropdown-toggle{white-space:nowrap}.dropdown-toggle:after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:"";border-top:.3em solid;border-right:.3em solid transparent;border-bottom:0;border-left:.3em solid transparent}.dropdown-toggle:empty:after{margin-left:0}.dropdown-menu{position:absolute;top:100%;left:0;z-index:1000;display:none;float:left;min-width:10rem;padding:.5rem 0;margin:.125rem 0 0;font-size:1rem;color:#212529;text-align:left;list-style:none;background-color:#fff;background-clip:padding-box;border:1px solid rgba(0,0,0,.15);border-radius:.25rem}.dropdown-menu-left{right:auto;left:0}.dropdown-menu-right{right:0;left:auto}@media (min-width:576px){.dropdown-menu-sm-left{right:auto;left:0}.dropdown-menu-sm-right{right:0;left:auto}}@media (min-width:768px){.dropdown-menu-md-left{right:auto;left:0}.dropdown-menu-md-right{right:0;left:auto}}@media (min-width:992px){.dropdown-menu-lg-left{right:auto;left:0}.dropdown-menu-lg-right{right:0;left:auto}}@media (min-width:1200px){.dropdown-menu-xl-left{right:auto;left:0}.dropdown-menu-xl-right{right:0;left:auto}}.dropup .dropdown-menu{top:auto;bottom:100%;margin-top:0;margin-bottom:.125rem}.dropup .dropdown-toggle:after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:"";border-top:0;border-right:.3em solid transparent;border-bottom:.3em solid;border-left:.3em solid transparent}.dropup .dropdown-toggle:empty:after{margin-left:0}.dropright .dropdown-menu{top:0;right:auto;left:100%;margin-top:0;margin-left:.125rem}.dropright .dropdown-toggle:after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:"";border-top:.3em solid transparent;border-right:0;border-bottom:.3em solid transparent;border-left:.3em solid}.dropright .dropdown-toggle:empty:after{margin-left:0}.dropright .dropdown-toggle:after{vertical-align:0}.dropleft .dropdown-menu{top:0;right:100%;left:auto;margin-top:0;margin-right:.125rem}.dropleft .dropdown-toggle:after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:"";display:none}.dropleft .dropdown-toggle:before{display:inline-block;margin-right:.255em;vertical-align:.255em;content:"";border-top:.3em solid transparent;border-right:.3em solid;border-bottom:.3em solid transparent}.dropleft .dropdown-toggle:empty:after{margin-left:0}.dropleft .dropdown-toggle:before{vertical-align:0}.dropdown-menu[x-placement^=bottom],.dropdown-menu[x-placement^=left],.dropdown-menu[x-placement^=right],.dropdown-menu[x-placement^=top]{right:auto;bottom:auto}.dropdown-divider{height:0;margin:.5rem 0;overflow:hidden;border-top:1px solid #e9ecef}.dropdown-item{display:block;width:100%;padding:.25rem 1.5rem;clear:both;font-weight:400;color:#212529;text-align:inherit;white-space:nowrap;background-color:transparent;border:0}.dropdown-item:focus,.dropdown-item:hover{color:#16181b;text-decoration:none;background-color:#f8f9fa}.dropdown-item.active,.dropdown-item:active{color:#fff;text-decoration:none;background-color:#007bff}.dropdown-item.disabled,.dropdown-item:disabled{color:#6c757d;pointer-events:none;background-color:transparent}.dropdown-menu.show{display:block}.dropdown-header{display:block;padding:.5rem 1.5rem;margin-bottom:0;font-size:.875rem;color:#6c757d;white-space:nowrap}.dropdown-item-text{display:block;padding:.25rem 1.5rem;color:#212529}.btn-group,.btn-group-vertical{position:relative;display:-ms-inline-flexbox;display:inline-flex;vertical-align:middle}.btn-group-vertical>.btn,.btn-group>.btn{position:relative;-ms-flex:1 1 auto;flex:1 1 auto}.btn-group-vertical>.btn.active,.btn-group-vertical>.btn:active,.btn-group-vertical>.btn:focus,.btn-group-vertical>.btn:hover,.btn-group>.btn.active,.btn-group>.btn:active,.btn-group>.btn:focus,.btn-group>.btn:hover{z-index:1}.btn-toolbar{display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-ms-flex-pack:start;justify-content:flex-start}.btn-toolbar .input-group{width:auto}.btn-group>.btn-group:not(:first-child),.btn-group>.btn:not(:first-child){margin-left:-1px}.btn-group>.btn-group:not(:last-child)>.btn,.btn-group>.btn:not(:last-child):not(.dropdown-toggle){border-top-right-radius:0;border-bottom-right-radius:0}.btn-group>.btn-group:not(:first-child)>.btn,.btn-group>.btn:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.dropdown-toggle-split{padding-right:.5625rem;padding-left:.5625rem}.dropdown-toggle-split:after,.dropright .dropdown-toggle-split:after,.dropup .dropdown-toggle-split:after{margin-left:0}.dropleft .dropdown-toggle-split:before{margin-right:0}.btn-group-sm>.btn+.dropdown-toggle-split,.btn-sm+.dropdown-toggle-split{padding-right:.375rem;padding-left:.375rem}.btn-group-lg>.btn+.dropdown-toggle-split,.btn-lg+.dropdown-toggle-split{padding-right:.75rem;padding-left:.75rem}.btn-group-vertical{-ms-flex-direction:column;flex-direction:column;-ms-flex-align:start;align-items:flex-start;-ms-flex-pack:center;justify-content:center}.btn-group-vertical>.btn,.btn-group-vertical>.btn-group{width:100%}.btn-group-vertical>.btn-group:not(:first-child),.btn-group-vertical>.btn:not(:first-child){margin-top:-1px}.btn-group-vertical>.btn-group:not(:last-child)>.btn,.btn-group-vertical>.btn:not(:last-child):not(.dropdown-toggle){border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn-group:not(:first-child)>.btn,.btn-group-vertical>.btn:not(:first-child){border-top-left-radius:0;border-top-right-radius:0}.btn-group-toggle>.btn,.btn-group-toggle>.btn-group>.btn{margin-bottom:0}.btn-group-toggle>.btn-group>.btn input[type=checkbox],.btn-group-toggle>.btn-group>.btn input[type=radio],.btn-group-toggle>.btn input[type=checkbox],.btn-group-toggle>.btn input[type=radio]{position:absolute;clip:rect(0,0,0,0);pointer-events:none}.input-group{position:relative;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-ms-flex-align:stretch;align-items:stretch;width:100%}.input-group>.custom-file,.input-group>.custom-select,.input-group>.form-control,.input-group>.form-control-plaintext{position:relative;-ms-flex:1 1 auto;flex:1 1 auto;width:1%;margin-bottom:0}.input-group>.custom-file+.custom-file,.input-group>.custom-file+.custom-select,.input-group>.custom-file+.form-control,.input-group>.custom-select+.custom-file,.input-group>.custom-select+.custom-select,.input-group>.custom-select+.form-control,.input-group>.form-control+.custom-file,.input-group>.form-control+.custom-select,.input-group>.form-control+.form-control,.input-group>.form-control-plaintext+.custom-file,.input-group>.form-control-plaintext+.custom-select,.input-group>.form-control-plaintext+.form-control{margin-left:-1px}.input-group>.custom-file .custom-file-input:focus~.custom-file-label,.input-group>.custom-select:focus,.input-group>.form-control:focus{z-index:3}.input-group>.custom-file .custom-file-input:focus{z-index:4}.input-group>.custom-select:not(:last-child),.input-group>.form-control:not(:last-child){border-top-right-radius:0;border-bottom-right-radius:0}.input-group>.custom-select:not(:first-child),.input-group>.form-control:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.input-group>.custom-file{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center}.input-group>.custom-file:not(:last-child) .custom-file-label,.input-group>.custom-file:not(:last-child) .custom-file-label:after{border-top-right-radius:0;border-bottom-right-radius:0}.input-group>.custom-file:not(:first-child) .custom-file-label{border-top-left-radius:0;border-bottom-left-radius:0}.input-group-append,.input-group-prepend{display:-ms-flexbox;display:flex}.input-group-append .btn,.input-group-prepend .btn{position:relative;z-index:2}.input-group-append .btn:focus,.input-group-prepend .btn:focus{z-index:3}.input-group-append .btn+.btn,.input-group-append .btn+.input-group-text,.input-group-append .input-group-text+.btn,.input-group-append .input-group-text+.input-group-text,.input-group-prepend .btn+.btn,.input-group-prepend .btn+.input-group-text,.input-group-prepend .input-group-text+.btn,.input-group-prepend .input-group-text+.input-group-text{margin-left:-1px}.input-group-prepend{margin-right:-1px}.input-group-append{margin-left:-1px}.input-group-text{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;padding:.375rem .75rem;margin-bottom:0;font-size:1rem;font-weight:400;line-height:1.5;color:#495057;text-align:center;white-space:nowrap;background-color:#e9ecef;border:1px solid #ced4da;border-radius:.25rem}.input-group-text input[type=checkbox],.input-group-text input[type=radio]{margin-top:0}.input-group-lg>.custom-select,.input-group-lg>.form-control:not(textarea){height:calc(1.5em + 1rem + 2px)}.input-group-lg>.custom-select,.input-group-lg>.form-control,.input-group-lg>.input-group-append>.btn,.input-group-lg>.input-group-append>.input-group-text,.input-group-lg>.input-group-prepend>.btn,.input-group-lg>.input-group-prepend>.input-group-text{padding:.5rem 1rem;font-size:1.25rem;line-height:1.5;border-radius:.3rem}.input-group-sm>.custom-select,.input-group-sm>.form-control:not(textarea){height:calc(1.5em + .5rem + 2px)}.input-group-sm>.custom-select,.input-group-sm>.form-control,.input-group-sm>.input-group-append>.btn,.input-group-sm>.input-group-append>.input-group-text,.input-group-sm>.input-group-prepend>.btn,.input-group-sm>.input-group-prepend>.input-group-text{padding:.25rem .5rem;font-size:.875rem;line-height:1.5;border-radius:.2rem}.input-group-lg>.custom-select,.input-group-sm>.custom-select{padding-right:1.75rem}.input-group>.input-group-append:last-child>.btn:not(:last-child):not(.dropdown-toggle),.input-group>.input-group-append:last-child>.input-group-text:not(:last-child),.input-group>.input-group-append:not(:last-child)>.btn,.input-group>.input-group-append:not(:last-child)>.input-group-text,.input-group>.input-group-prepend>.btn,.input-group>.input-group-prepend>.input-group-text{border-top-right-radius:0;border-bottom-right-radius:0}.input-group>.input-group-append>.btn,.input-group>.input-group-append>.input-group-text,.input-group>.input-group-prepend:first-child>.btn:not(:first-child),.input-group>.input-group-prepend:first-child>.input-group-text:not(:first-child),.input-group>.input-group-prepend:not(:first-child)>.btn,.input-group>.input-group-prepend:not(:first-child)>.input-group-text{border-top-left-radius:0;border-bottom-left-radius:0}.custom-control{position:relative;display:block;min-height:1.5rem;padding-left:1.5rem}.custom-control-inline{display:-ms-inline-flexbox;display:inline-flex;margin-right:1rem}.custom-control-input{position:absolute;z-index:-1;opacity:0}.custom-control-input:checked~.custom-control-label:before{color:#fff;border-color:#007bff;background-color:#007bff}.custom-control-input:focus~.custom-control-label:before{box-shadow:0 0 0 .2rem rgba(0,123,255,.25)}.custom-control-input:focus:not(:checked)~.custom-control-label:before{border-color:#80bdff}.custom-control-input:not(:disabled):active~.custom-control-label:before{color:#fff;background-color:#b3d7ff;border-color:#b3d7ff}.custom-control-input:disabled~.custom-control-label{color:#6c757d}.custom-control-input:disabled~.custom-control-label:before{background-color:#e9ecef}.custom-control-label{position:relative;margin-bottom:0;vertical-align:top}.custom-control-label:before{pointer-events:none;background-color:#fff;border:1px solid #adb5bd}.custom-control-label:after,.custom-control-label:before{position:absolute;top:.25rem;left:-1.5rem;display:block;width:1rem;height:1rem;content:""}.custom-control-label:after{background:no-repeat 50%/50% 50%}.custom-checkbox .custom-control-label:before{border-radius:.25rem}.custom-checkbox .custom-control-input:checked~.custom-control-label:after{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath fill='%23fff' d='M6.564.75l-3.59 3.612-1.538-1.55L0 4.26l2.974 2.99L8 2.193z'/%3E%3C/svg%3E")}.custom-checkbox .custom-control-input:indeterminate~.custom-control-label:before{border-color:#007bff;background-color:#007bff}.custom-checkbox .custom-control-input:indeterminate~.custom-control-label:after{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 4'%3E%3Cpath stroke='%23fff' d='M0 2h4'/%3E%3C/svg%3E")}.custom-checkbox .custom-control-input:disabled:checked~.custom-control-label:before{background-color:rgba(0,123,255,.5)}.custom-checkbox .custom-control-input:disabled:indeterminate~.custom-control-label:before{background-color:rgba(0,123,255,.5)}.custom-radio .custom-control-label:before{border-radius:50%}.custom-radio .custom-control-input:checked~.custom-control-label:after{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3E%3Ccircle r='3' fill='%23fff'/%3E%3C/svg%3E")}.custom-radio .custom-control-input:disabled:checked~.custom-control-label:before{background-color:rgba(0,123,255,.5)}.custom-switch{padding-left:2.25rem}.custom-switch .custom-control-label:before{left:-2.25rem;width:1.75rem;pointer-events:all;border-radius:.5rem}.custom-switch .custom-control-label:after{top:calc(.25rem + 2px);left:calc(-2.25rem + 2px);width:calc(1rem - 4px);height:calc(1rem - 4px);background-color:#adb5bd;border-radius:.5rem;transition:transform .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.custom-switch .custom-control-label:after{transition:none}}.custom-switch .custom-control-input:checked~.custom-control-label:after{background-color:#fff;transform:translateX(.75rem)}.custom-switch .custom-control-input:disabled:checked~.custom-control-label:before{background-color:rgba(0,123,255,.5)}.custom-select{display:inline-block;width:100%;height:calc(1.5em + .75rem + 2px);padding:.375rem 1.75rem .375rem .75rem;font-size:1rem;font-weight:400;line-height:1.5;color:#495057;vertical-align:middle;background:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 5'%3E%3Cpath fill='%23343a40' d='M2 0L0 2h4zm0 5L0 3h4z'/%3E%3C/svg%3E") no-repeat right .75rem center/8px 10px;background-color:#fff;border:1px solid #ced4da;border-radius:.25rem;-webkit-appearance:none;-moz-appearance:none;appearance:none}.custom-select:focus{border-color:#80bdff;outline:0;box-shadow:0 0 0 .2rem rgba(0,123,255,.25)}.custom-select:focus::-ms-value{color:#495057;background-color:#fff}.custom-select[multiple],.custom-select[size]:not([size="1"]){height:auto;padding-right:.75rem;background-image:none}.custom-select:disabled{color:#6c757d;background-color:#e9ecef}.custom-select::-ms-expand{display:none}.custom-select-sm{height:calc(1.5em + .5rem + 2px);padding-top:.25rem;padding-bottom:.25rem;padding-left:.5rem;font-size:.875rem}.custom-select-lg{height:calc(1.5em + 1rem + 2px);padding-top:.5rem;padding-bottom:.5rem;padding-left:1rem;font-size:1.25rem}.custom-file{display:inline-block;margin-bottom:0}.custom-file,.custom-file-input{position:relative;width:100%;height:calc(1.5em + .75rem + 2px)}.custom-file-input{z-index:2;margin:0;opacity:0}.custom-file-input:focus~.custom-file-label{border-color:#80bdff;box-shadow:0 0 0 .2rem rgba(0,123,255,.25)}.custom-file-input:disabled~.custom-file-label{background-color:#e9ecef}.custom-file-input:lang(en)~.custom-file-label:after{content:"Browse"}.custom-file-input~.custom-file-label[data-browse]:after{content:attr(data-browse)}.custom-file-label{left:0;z-index:1;height:calc(1.5em + .75rem + 2px);font-weight:400;background-color:#fff;border:1px solid #ced4da;border-radius:.25rem}.custom-file-label,.custom-file-label:after{position:absolute;top:0;right:0;padding:.375rem .75rem;line-height:1.5;color:#495057}.custom-file-label:after{bottom:0;z-index:3;display:block;height:calc(1.5em + .75rem);content:"Browse";background-color:#e9ecef;border-left:inherit;border-radius:0 .25rem .25rem 0}.custom-range{width:100%;height:1.4rem;padding:0;background-color:transparent;-webkit-appearance:none;-moz-appearance:none;appearance:none}.custom-range:focus{outline:0}.custom-range:focus::-webkit-slider-thumb{box-shadow:0 0 0 1px #fff,0 0 0 .2rem rgba(0,123,255,.25)}.custom-range:focus::-moz-range-thumb{box-shadow:0 0 0 1px #fff,0 0 0 .2rem rgba(0,123,255,.25)}.custom-range:focus::-ms-thumb{box-shadow:0 0 0 1px #fff,0 0 0 .2rem rgba(0,123,255,.25)}.custom-range::-moz-focus-outer{border:0}.custom-range::-webkit-slider-thumb{width:1rem;height:1rem;margin-top:-.25rem;background-color:#007bff;border:0;border-radius:1rem;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;-webkit-appearance:none;appearance:none}@media (prefers-reduced-motion:reduce){.custom-range::-webkit-slider-thumb{transition:none}}.custom-range::-webkit-slider-thumb:active{background-color:#b3d7ff}.custom-range::-webkit-slider-runnable-track{width:100%;height:.5rem;color:transparent;cursor:pointer;background-color:#dee2e6;border-color:transparent;border-radius:1rem}.custom-range::-moz-range-thumb{width:1rem;height:1rem;background-color:#007bff;border:0;border-radius:1rem;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;-moz-appearance:none;appearance:none}@media (prefers-reduced-motion:reduce){.custom-range::-moz-range-thumb{transition:none}}.custom-range::-moz-range-thumb:active{background-color:#b3d7ff}.custom-range::-moz-range-track{width:100%;height:.5rem;color:transparent;cursor:pointer;background-color:#dee2e6;border-color:transparent;border-radius:1rem}.custom-range::-ms-thumb{width:1rem;height:1rem;margin-top:0;margin-right:.2rem;margin-left:.2rem;background-color:#007bff;border:0;border-radius:1rem;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;appearance:none}@media (prefers-reduced-motion:reduce){.custom-range::-ms-thumb{transition:none}}.custom-range::-ms-thumb:active{background-color:#b3d7ff}.custom-range::-ms-track{width:100%;height:.5rem;color:transparent;cursor:pointer;background-color:transparent;border-color:transparent;border-width:.5rem}.custom-range::-ms-fill-lower,.custom-range::-ms-fill-upper{background-color:#dee2e6;border-radius:1rem}.custom-range::-ms-fill-upper{margin-right:15px}.custom-range:disabled::-webkit-slider-thumb{background-color:#adb5bd}.custom-range:disabled::-webkit-slider-runnable-track{cursor:default}.custom-range:disabled::-moz-range-thumb{background-color:#adb5bd}.custom-range:disabled::-moz-range-track{cursor:default}.custom-range:disabled::-ms-thumb{background-color:#adb5bd}.custom-control-label:before,.custom-file-label,.custom-select{transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.custom-control-label:before,.custom-file-label,.custom-select{transition:none}}.nav{display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;padding-left:0;margin-bottom:0;list-style:none}.nav-link{display:block;padding:.5rem 1rem}.nav-link:focus,.nav-link:hover{text-decoration:none}.nav-link.disabled{color:#6c757d;pointer-events:none;cursor:default}.nav-tabs{border-bottom:1px solid #dee2e6}.nav-tabs .nav-item{margin-bottom:-1px}.nav-tabs .nav-link{border:1px solid transparent;border-top-left-radius:.25rem;border-top-right-radius:.25rem}.nav-tabs .nav-link:focus,.nav-tabs .nav-link:hover{border-color:#e9ecef #e9ecef #dee2e6}.nav-tabs .nav-link.disabled{color:#6c757d;background-color:transparent;border-color:transparent}.nav-tabs .nav-item.show .nav-link,.nav-tabs .nav-link.active{color:#495057;background-color:#fff;border-color:#dee2e6 #dee2e6 #fff}.nav-tabs .dropdown-menu{margin-top:-1px;border-top-left-radius:0;border-top-right-radius:0}.nav-pills .nav-link{border-radius:.25rem}.nav-pills .nav-link.active,.nav-pills .show>.nav-link{color:#fff;background-color:#007bff}.nav-fill .nav-item{-ms-flex:1 1 auto;flex:1 1 auto;text-align:center}.nav-justified .nav-item{-ms-flex-preferred-size:0;flex-basis:0;-ms-flex-positive:1;flex-grow:1;text-align:center}.tab-content>.tab-pane{display:none}.tab-content>.active{display:block}.navbar{position:relative;padding:.5rem 1rem}.navbar,.navbar>.container,.navbar>.container-fluid{display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-ms-flex-align:center;align-items:center;-ms-flex-pack:justify;justify-content:space-between}.navbar-brand{display:inline-block;padding-top:.3125rem;padding-bottom:.3125rem;margin-right:1rem;font-size:1.25rem;line-height:inherit;white-space:nowrap}.navbar-brand:focus,.navbar-brand:hover{text-decoration:none}.navbar-nav{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;padding-left:0;margin-bottom:0;list-style:none}.navbar-nav .nav-link{padding-right:0;padding-left:0}.navbar-nav .dropdown-menu{position:static;float:none}.navbar-text{display:inline-block;padding-top:.5rem;padding-bottom:.5rem}.navbar-collapse{-ms-flex-preferred-size:100%;flex-basis:100%;-ms-flex-positive:1;flex-grow:1;-ms-flex-align:center;align-items:center}.navbar-toggler{padding:.25rem .75rem;font-size:1.25rem;line-height:1;background-color:transparent;border:1px solid transparent;border-radius:.25rem}.navbar-toggler:focus,.navbar-toggler:hover{text-decoration:none}.navbar-toggler-icon{display:inline-block;width:1.5em;height:1.5em;vertical-align:middle;content:"";background:no-repeat 50%;background-size:100% 100%}@media (max-width:575.98px){.navbar-expand-sm>.container,.navbar-expand-sm>.container-fluid{padding-right:0;padding-left:0}}@media (min-width:576px){.navbar-expand-sm{-ms-flex-flow:row nowrap;flex-flow:row nowrap;-ms-flex-pack:start;justify-content:flex-start}.navbar-expand-sm .navbar-nav{-ms-flex-direction:row;flex-direction:row}.navbar-expand-sm .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-sm .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand-sm>.container,.navbar-expand-sm>.container-fluid{-ms-flex-wrap:nowrap;flex-wrap:nowrap}.navbar-expand-sm .navbar-collapse{display:-ms-flexbox!important;display:flex!important;-ms-flex-preferred-size:auto;flex-basis:auto}.navbar-expand-sm .navbar-toggler{display:none}}@media (max-width:767.98px){.navbar-expand-md>.container,.navbar-expand-md>.container-fluid{padding-right:0;padding-left:0}}@media (min-width:768px){.navbar-expand-md{-ms-flex-flow:row nowrap;flex-flow:row nowrap;-ms-flex-pack:start;justify-content:flex-start}.navbar-expand-md .navbar-nav{-ms-flex-direction:row;flex-direction:row}.navbar-expand-md .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-md .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand-md>.container,.navbar-expand-md>.container-fluid{-ms-flex-wrap:nowrap;flex-wrap:nowrap}.navbar-expand-md .navbar-collapse{display:-ms-flexbox!important;display:flex!important;-ms-flex-preferred-size:auto;flex-basis:auto}.navbar-expand-md .navbar-toggler{display:none}}@media (max-width:991.98px){.navbar-expand-lg>.container,.navbar-expand-lg>.container-fluid{padding-right:0;padding-left:0}}@media (min-width:992px){.navbar-expand-lg{-ms-flex-flow:row nowrap;flex-flow:row nowrap;-ms-flex-pack:start;justify-content:flex-start}.navbar-expand-lg .navbar-nav{-ms-flex-direction:row;flex-direction:row}.navbar-expand-lg .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-lg .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand-lg>.container,.navbar-expand-lg>.container-fluid{-ms-flex-wrap:nowrap;flex-wrap:nowrap}.navbar-expand-lg .navbar-collapse{display:-ms-flexbox!important;display:flex!important;-ms-flex-preferred-size:auto;flex-basis:auto}.navbar-expand-lg .navbar-toggler{display:none}}@media (max-width:1199.98px){.navbar-expand-xl>.container,.navbar-expand-xl>.container-fluid{padding-right:0;padding-left:0}}@media (min-width:1200px){.navbar-expand-xl{-ms-flex-flow:row nowrap;flex-flow:row nowrap;-ms-flex-pack:start;justify-content:flex-start}.navbar-expand-xl .navbar-nav{-ms-flex-direction:row;flex-direction:row}.navbar-expand-xl .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-xl .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand-xl>.container,.navbar-expand-xl>.container-fluid{-ms-flex-wrap:nowrap;flex-wrap:nowrap}.navbar-expand-xl .navbar-collapse{display:-ms-flexbox!important;display:flex!important;-ms-flex-preferred-size:auto;flex-basis:auto}.navbar-expand-xl .navbar-toggler{display:none}}.navbar-expand{-ms-flex-flow:row nowrap;flex-flow:row nowrap;-ms-flex-pack:start;justify-content:flex-start}.navbar-expand>.container,.navbar-expand>.container-fluid{padding-right:0;padding-left:0}.navbar-expand .navbar-nav{-ms-flex-direction:row;flex-direction:row}.navbar-expand .navbar-nav .dropdown-menu{position:absolute}.navbar-expand .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand>.container,.navbar-expand>.container-fluid{-ms-flex-wrap:nowrap;flex-wrap:nowrap}.navbar-expand .navbar-collapse{display:-ms-flexbox!important;display:flex!important;-ms-flex-preferred-size:auto;flex-basis:auto}.navbar-expand .navbar-toggler{display:none}.navbar-light .navbar-brand,.navbar-light .navbar-brand:focus,.navbar-light .navbar-brand:hover{color:rgba(0,0,0,.9)}.navbar-light .navbar-nav .nav-link{color:rgba(0,0,0,.5)}.navbar-light .navbar-nav .nav-link:focus,.navbar-light .navbar-nav .nav-link:hover{color:rgba(0,0,0,.7)}.navbar-light .navbar-nav .nav-link.disabled{color:rgba(0,0,0,.3)}.navbar-light .navbar-nav .active>.nav-link,.navbar-light .navbar-nav .nav-link.active,.navbar-light .navbar-nav .nav-link.show,.navbar-light .navbar-nav .show>.nav-link{color:rgba(0,0,0,.9)}.navbar-light .navbar-toggler{color:rgba(0,0,0,.5);border-color:rgba(0,0,0,.1)}.navbar-light .navbar-toggler-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 30 30' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='rgba(0, 0, 0, 0.5)' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 7h22M4 15h22M4 23h22'/%3E%3C/svg%3E")}.navbar-light .navbar-text{color:rgba(0,0,0,.5)}.navbar-light .navbar-text a,.navbar-light .navbar-text a:focus,.navbar-light .navbar-text a:hover{color:rgba(0,0,0,.9)}.navbar-dark .navbar-brand,.navbar-dark .navbar-brand:focus,.navbar-dark .navbar-brand:hover{color:#fff}.navbar-dark .navbar-nav .nav-link{color:hsla(0,0%,100%,.5)}.navbar-dark .navbar-nav .nav-link:focus,.navbar-dark .navbar-nav .nav-link:hover{color:hsla(0,0%,100%,.75)}.navbar-dark .navbar-nav .nav-link.disabled{color:hsla(0,0%,100%,.25)}.navbar-dark .navbar-nav .active>.nav-link,.navbar-dark .navbar-nav .nav-link.active,.navbar-dark .navbar-nav .nav-link.show,.navbar-dark .navbar-nav .show>.nav-link{color:#fff}.navbar-dark .navbar-toggler{color:hsla(0,0%,100%,.5);border-color:hsla(0,0%,100%,.1)}.navbar-dark .navbar-toggler-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 30 30' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='rgba(255, 255, 255, 0.5)' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 7h22M4 15h22M4 23h22'/%3E%3C/svg%3E")}.navbar-dark .navbar-text{color:hsla(0,0%,100%,.5)}.navbar-dark .navbar-text a,.navbar-dark .navbar-text a:focus,.navbar-dark .navbar-text a:hover{color:#fff}.card{position:relative;display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;min-width:0;word-wrap:break-word;background-color:#fff;background-clip:border-box;border:1px solid rgba(0,0,0,.125);border-radius:.25rem}.card>hr{margin-right:0;margin-left:0}.card>.list-group:first-child .list-group-item:first-child{border-top-left-radius:.25rem;border-top-right-radius:.25rem}.card>.list-group:last-child .list-group-item:last-child{border-bottom-right-radius:.25rem;border-bottom-left-radius:.25rem}.card-body{-ms-flex:1 1 auto;flex:1 1 auto;padding:1.25rem}.card-title{margin-bottom:.75rem}.card-subtitle{margin-top:-.375rem}.card-subtitle,.card-text:last-child{margin-bottom:0}.card-link:hover{text-decoration:none}.card-link+.card-link{margin-left:1.25rem}.card-header{padding:.75rem 1.25rem;margin-bottom:0;background-color:rgba(0,0,0,.03);border-bottom:1px solid rgba(0,0,0,.125)}.card-header:first-child{border-radius:calc(.25rem - 1px) calc(.25rem - 1px) 0 0}.card-header+.list-group .list-group-item:first-child{border-top:0}.card-footer{padding:.75rem 1.25rem;background-color:rgba(0,0,0,.03);border-top:1px solid rgba(0,0,0,.125)}.card-footer:last-child{border-radius:0 0 calc(.25rem - 1px) calc(.25rem - 1px)}.card-header-tabs{margin-bottom:-.75rem;border-bottom:0}.card-header-pills,.card-header-tabs{margin-right:-.625rem;margin-left:-.625rem}.card-img-overlay{position:absolute;top:0;right:0;bottom:0;left:0;padding:1.25rem}.card-img{width:100%;border-radius:calc(.25rem - 1px)}.card-img-top{width:100%;border-top-left-radius:calc(.25rem - 1px);border-top-right-radius:calc(.25rem - 1px)}.card-img-bottom{width:100%;border-bottom-right-radius:calc(.25rem - 1px);border-bottom-left-radius:calc(.25rem - 1px)}.card-deck{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column}.card-deck .card{margin-bottom:15px}@media (min-width:576px){.card-deck{-ms-flex-flow:row wrap;flex-flow:row wrap;margin-right:-15px;margin-left:-15px}.card-deck .card{display:-ms-flexbox;display:flex;-ms-flex:1 0 0%;flex:1 0 0%;-ms-flex-direction:column;flex-direction:column;margin-right:15px;margin-bottom:0;margin-left:15px}}.card-group{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column}.card-group>.card{margin-bottom:15px}@media (min-width:576px){.card-group{-ms-flex-flow:row wrap;flex-flow:row wrap}.card-group>.card{-ms-flex:1 0 0%;flex:1 0 0%;margin-bottom:0}.card-group>.card+.card{margin-left:0;border-left:0}.card-group>.card:not(:last-child){border-top-right-radius:0;border-bottom-right-radius:0}.card-group>.card:not(:last-child) .card-header,.card-group>.card:not(:last-child) .card-img-top{border-top-right-radius:0}.card-group>.card:not(:last-child) .card-footer,.card-group>.card:not(:last-child) .card-img-bottom{border-bottom-right-radius:0}.card-group>.card:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.card-group>.card:not(:first-child) .card-header,.card-group>.card:not(:first-child) .card-img-top{border-top-left-radius:0}.card-group>.card:not(:first-child) .card-footer,.card-group>.card:not(:first-child) .card-img-bottom{border-bottom-left-radius:0}}.card-columns .card{margin-bottom:.75rem}@media (min-width:576px){.card-columns{column-count:3;column-gap:1.25rem;orphans:1;widows:1}.card-columns .card{display:inline-block;width:100%}}.accordion>.card{overflow:hidden}.accordion>.card:not(:first-of-type) .card-header:first-child{border-radius:0}.accordion>.card:not(:first-of-type):not(:last-of-type){border-bottom:0;border-radius:0}.accordion>.card:first-of-type{border-bottom:0;border-bottom-right-radius:0;border-bottom-left-radius:0}.accordion>.card:last-of-type{border-top-left-radius:0;border-top-right-radius:0}.accordion>.card .card-header{margin-bottom:-1px}.breadcrumb{display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;padding:.75rem 1rem;margin-bottom:1rem;list-style:none;background-color:#e9ecef;border-radius:.25rem}.breadcrumb-item+.breadcrumb-item{padding-left:.5rem}.breadcrumb-item+.breadcrumb-item:before{display:inline-block;padding-right:.5rem;color:#6c757d;content:"/"}.breadcrumb-item+.breadcrumb-item:hover:before{text-decoration:underline;text-decoration:none}.breadcrumb-item.active{color:#6c757d}.pagination{display:-ms-flexbox;display:flex;padding-left:0;list-style:none;border-radius:.25rem}.page-link{position:relative;display:block;padding:.5rem .75rem;margin-left:-1px;line-height:1.25;color:#007bff;background-color:#fff;border:1px solid #dee2e6}.page-link:hover{z-index:2;color:#0056b3;text-decoration:none;background-color:#e9ecef;border-color:#dee2e6}.page-link:focus{z-index:2;outline:0;box-shadow:0 0 0 .2rem rgba(0,123,255,.25)}.page-item:first-child .page-link{margin-left:0;border-top-left-radius:.25rem;border-bottom-left-radius:.25rem}.page-item:last-child .page-link{border-top-right-radius:.25rem;border-bottom-right-radius:.25rem}.page-item.active .page-link{z-index:1;color:#fff;background-color:#007bff;border-color:#007bff}.page-item.disabled .page-link{color:#6c757d;pointer-events:none;cursor:auto;background-color:#fff;border-color:#dee2e6}.pagination-lg .page-link{padding:.75rem 1.5rem;font-size:1.25rem;line-height:1.5}.pagination-lg .page-item:first-child .page-link{border-top-left-radius:.3rem;border-bottom-left-radius:.3rem}.pagination-lg .page-item:last-child .page-link{border-top-right-radius:.3rem;border-bottom-right-radius:.3rem}.pagination-sm .page-link{padding:.25rem .5rem;font-size:.875rem;line-height:1.5}.pagination-sm .page-item:first-child .page-link{border-top-left-radius:.2rem;border-bottom-left-radius:.2rem}.pagination-sm .page-item:last-child .page-link{border-top-right-radius:.2rem;border-bottom-right-radius:.2rem}.badge{display:inline-block;padding:.25em .4em;font-size:75%;font-weight:700;line-height:1;text-align:center;white-space:nowrap;vertical-align:baseline;border-radius:.25rem;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.badge{transition:none}}a.badge:focus,a.badge:hover{text-decoration:none}.badge:empty{display:none}.btn .badge{position:relative;top:-1px}.badge-pill{padding-right:.6em;padding-left:.6em;border-radius:10rem}.badge-primary{color:#fff;background-color:#007bff}a.badge-primary:focus,a.badge-primary:hover{color:#fff;background-color:#0062cc}a.badge-primary.focus,a.badge-primary:focus{outline:0;box-shadow:0 0 0 .2rem rgba(0,123,255,.5)}.badge-secondary{color:#fff;background-color:#6c757d}a.badge-secondary:focus,a.badge-secondary:hover{color:#fff;background-color:#545b62}a.badge-secondary.focus,a.badge-secondary:focus{outline:0;box-shadow:0 0 0 .2rem hsla(208,7%,46%,.5)}.badge-success{color:#fff;background-color:#28a745}a.badge-success:focus,a.badge-success:hover{color:#fff;background-color:#1e7e34}a.badge-success.focus,a.badge-success:focus{outline:0;box-shadow:0 0 0 .2rem rgba(40,167,69,.5)}.badge-info{color:#fff;background-color:#17a2b8}a.badge-info:focus,a.badge-info:hover{color:#fff;background-color:#117a8b}a.badge-info.focus,a.badge-info:focus{outline:0;box-shadow:0 0 0 .2rem rgba(23,162,184,.5)}.badge-warning{color:#212529;background-color:#ffc107}a.badge-warning:focus,a.badge-warning:hover{color:#212529;background-color:#d39e00}a.badge-warning.focus,a.badge-warning:focus{outline:0;box-shadow:0 0 0 .2rem rgba(255,193,7,.5)}.badge-danger{color:#fff;background-color:#dc3545}a.badge-danger:focus,a.badge-danger:hover{color:#fff;background-color:#bd2130}a.badge-danger.focus,a.badge-danger:focus{outline:0;box-shadow:0 0 0 .2rem rgba(220,53,69,.5)}.badge-light{color:#212529;background-color:#f8f9fa}a.badge-light:focus,a.badge-light:hover{color:#212529;background-color:#dae0e5}a.badge-light.focus,a.badge-light:focus{outline:0;box-shadow:0 0 0 .2rem rgba(248,249,250,.5)}.badge-dark{color:#fff;background-color:#343a40}a.badge-dark:focus,a.badge-dark:hover{color:#fff;background-color:#1d2124}a.badge-dark.focus,a.badge-dark:focus{outline:0;box-shadow:0 0 0 .2rem rgba(52,58,64,.5)}.jumbotron{padding:2rem 1rem;margin-bottom:2rem;background-color:#e9ecef;border-radius:.3rem}@media (min-width:576px){.jumbotron{padding:4rem 2rem}}.jumbotron-fluid{padding-right:0;padding-left:0;border-radius:0}.alert{position:relative;padding:.75rem 1.25rem;margin-bottom:1rem;border:1px solid transparent;border-radius:.25rem}.alert-heading{color:inherit}.alert-link{font-weight:700}.alert-dismissible{padding-right:4rem}.alert-dismissible .close{position:absolute;top:0;right:0;padding:.75rem 1.25rem;color:inherit}.alert-primary{color:#004085;background-color:#cce5ff;border-color:#b8daff}.alert-primary hr{border-top-color:#9fcdff}.alert-primary .alert-link{color:#002752}.alert-secondary{color:#383d41;background-color:#e2e3e5;border-color:#d6d8db}.alert-secondary hr{border-top-color:#c8cbcf}.alert-secondary .alert-link{color:#202326}.alert-success{color:#155724;background-color:#d4edda;border-color:#c3e6cb}.alert-success hr{border-top-color:#b1dfbb}.alert-success .alert-link{color:#0b2e13}.alert-info{color:#0c5460;background-color:#d1ecf1;border-color:#bee5eb}.alert-info hr{border-top-color:#abdde5}.alert-info .alert-link{color:#062c33}.alert-warning{color:#856404;background-color:#fff3cd;border-color:#ffeeba}.alert-warning hr{border-top-color:#ffe8a1}.alert-warning .alert-link{color:#533f03}.alert-danger{color:#721c24;background-color:#f8d7da;border-color:#f5c6cb}.alert-danger hr{border-top-color:#f1b0b7}.alert-danger .alert-link{color:#491217}.alert-light{color:#818182;background-color:#fefefe;border-color:#fdfdfe}.alert-light hr{border-top-color:#ececf6}.alert-light .alert-link{color:#686868}.alert-dark{color:#1b1e21;background-color:#d6d8d9;border-color:#c6c8ca}.alert-dark hr{border-top-color:#b9bbbe}.alert-dark .alert-link{color:#040505}@keyframes progress-bar-stripes{0%{background-position:1rem 0}to{background-position:0 0}}.progress{height:1rem;overflow:hidden;font-size:.75rem;background-color:#e9ecef;border-radius:.25rem}.progress,.progress-bar{display:-ms-flexbox;display:flex}.progress-bar{-ms-flex-direction:column;flex-direction:column;-ms-flex-pack:center;justify-content:center;color:#fff;text-align:center;white-space:nowrap;background-color:#007bff;transition:width .6s ease}@media (prefers-reduced-motion:reduce){.progress-bar{transition:none}}.progress-bar-striped{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent);background-size:1rem 1rem}.progress-bar-animated{animation:progress-bar-stripes 1s linear infinite}@media (prefers-reduced-motion:reduce){.progress-bar-animated{animation:none}}.media{display:-ms-flexbox;display:flex;-ms-flex-align:start;align-items:flex-start}.media-body{-ms-flex:1;flex:1}.list-group{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;padding-left:0;margin-bottom:0}.list-group-item-action{width:100%;color:#495057;text-align:inherit}.list-group-item-action:focus,.list-group-item-action:hover{z-index:1;color:#495057;text-decoration:none;background-color:#f8f9fa}.list-group-item-action:active{color:#212529;background-color:#e9ecef}.list-group-item{position:relative;display:block;padding:.75rem 1.25rem;margin-bottom:-1px;background-color:#fff;border:1px solid rgba(0,0,0,.125)}.list-group-item:first-child{border-top-left-radius:.25rem;border-top-right-radius:.25rem}.list-group-item:last-child{margin-bottom:0;border-bottom-right-radius:.25rem;border-bottom-left-radius:.25rem}.list-group-item.disabled,.list-group-item:disabled{color:#6c757d;pointer-events:none;background-color:#fff}.list-group-item.active{z-index:2;color:#fff;background-color:#007bff;border-color:#007bff}.list-group-horizontal{-ms-flex-direction:row;flex-direction:row}.list-group-horizontal .list-group-item{margin-right:-1px;margin-bottom:0}.list-group-horizontal .list-group-item:first-child{border-top-left-radius:.25rem;border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal .list-group-item:last-child{margin-right:0;border-top-right-radius:.25rem;border-bottom-right-radius:.25rem;border-bottom-left-radius:0}@media (min-width:576px){.list-group-horizontal-sm{-ms-flex-direction:row;flex-direction:row}.list-group-horizontal-sm .list-group-item{margin-right:-1px;margin-bottom:0}.list-group-horizontal-sm .list-group-item:first-child{border-top-left-radius:.25rem;border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal-sm .list-group-item:last-child{margin-right:0;border-top-right-radius:.25rem;border-bottom-right-radius:.25rem;border-bottom-left-radius:0}}@media (min-width:768px){.list-group-horizontal-md{-ms-flex-direction:row;flex-direction:row}.list-group-horizontal-md .list-group-item{margin-right:-1px;margin-bottom:0}.list-group-horizontal-md .list-group-item:first-child{border-top-left-radius:.25rem;border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal-md .list-group-item:last-child{margin-right:0;border-top-right-radius:.25rem;border-bottom-right-radius:.25rem;border-bottom-left-radius:0}}@media (min-width:992px){.list-group-horizontal-lg{-ms-flex-direction:row;flex-direction:row}.list-group-horizontal-lg .list-group-item{margin-right:-1px;margin-bottom:0}.list-group-horizontal-lg .list-group-item:first-child{border-top-left-radius:.25rem;border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal-lg .list-group-item:last-child{margin-right:0;border-top-right-radius:.25rem;border-bottom-right-radius:.25rem;border-bottom-left-radius:0}}@media (min-width:1200px){.list-group-horizontal-xl{-ms-flex-direction:row;flex-direction:row}.list-group-horizontal-xl .list-group-item{margin-right:-1px;margin-bottom:0}.list-group-horizontal-xl .list-group-item:first-child{border-top-left-radius:.25rem;border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal-xl .list-group-item:last-child{margin-right:0;border-top-right-radius:.25rem;border-bottom-right-radius:.25rem;border-bottom-left-radius:0}}.list-group-flush .list-group-item{border-right:0;border-left:0;border-radius:0}.list-group-flush .list-group-item:last-child{margin-bottom:-1px}.list-group-flush:first-child .list-group-item:first-child{border-top:0}.list-group-flush:last-child .list-group-item:last-child{margin-bottom:0;border-bottom:0}.list-group-item-primary{color:#004085;background-color:#b8daff}.list-group-item-primary.list-group-item-action:focus,.list-group-item-primary.list-group-item-action:hover{color:#004085;background-color:#9fcdff}.list-group-item-primary.list-group-item-action.active{color:#fff;background-color:#004085;border-color:#004085}.list-group-item-secondary{color:#383d41;background-color:#d6d8db}.list-group-item-secondary.list-group-item-action:focus,.list-group-item-secondary.list-group-item-action:hover{color:#383d41;background-color:#c8cbcf}.list-group-item-secondary.list-group-item-action.active{color:#fff;background-color:#383d41;border-color:#383d41}.list-group-item-success{color:#155724;background-color:#c3e6cb}.list-group-item-success.list-group-item-action:focus,.list-group-item-success.list-group-item-action:hover{color:#155724;background-color:#b1dfbb}.list-group-item-success.list-group-item-action.active{color:#fff;background-color:#155724;border-color:#155724}.list-group-item-info{color:#0c5460;background-color:#bee5eb}.list-group-item-info.list-group-item-action:focus,.list-group-item-info.list-group-item-action:hover{color:#0c5460;background-color:#abdde5}.list-group-item-info.list-group-item-action.active{color:#fff;background-color:#0c5460;border-color:#0c5460}.list-group-item-warning{color:#856404;background-color:#ffeeba}.list-group-item-warning.list-group-item-action:focus,.list-group-item-warning.list-group-item-action:hover{color:#856404;background-color:#ffe8a1}.list-group-item-warning.list-group-item-action.active{color:#fff;background-color:#856404;border-color:#856404}.list-group-item-danger{color:#721c24;background-color:#f5c6cb}.list-group-item-danger.list-group-item-action:focus,.list-group-item-danger.list-group-item-action:hover{color:#721c24;background-color:#f1b0b7}.list-group-item-danger.list-group-item-action.active{color:#fff;background-color:#721c24;border-color:#721c24}.list-group-item-light{color:#818182;background-color:#fdfdfe}.list-group-item-light.list-group-item-action:focus,.list-group-item-light.list-group-item-action:hover{color:#818182;background-color:#ececf6}.list-group-item-light.list-group-item-action.active{color:#fff;background-color:#818182;border-color:#818182}.list-group-item-dark{color:#1b1e21;background-color:#c6c8ca}.list-group-item-dark.list-group-item-action:focus,.list-group-item-dark.list-group-item-action:hover{color:#1b1e21;background-color:#b9bbbe}.list-group-item-dark.list-group-item-action.active{color:#fff;background-color:#1b1e21;border-color:#1b1e21}.close{float:right;font-size:1.5rem;font-weight:700;line-height:1;color:#000;text-shadow:0 1px 0 #fff;opacity:.5}.close:hover{color:#000;text-decoration:none}.close:not(:disabled):not(.disabled):focus,.close:not(:disabled):not(.disabled):hover{opacity:.75}button.close{padding:0;background-color:transparent;border:0;-webkit-appearance:none;-moz-appearance:none;appearance:none}a.close.disabled{pointer-events:none}.toast{max-width:350px;overflow:hidden;font-size:.875rem;background-color:hsla(0,0%,100%,.85);background-clip:padding-box;border:1px solid rgba(0,0,0,.1);box-shadow:0 .25rem .75rem rgba(0,0,0,.1);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);opacity:0;border-radius:.25rem}.toast:not(:last-child){margin-bottom:.75rem}.toast.showing{opacity:1}.toast.show{display:block;opacity:1}.toast.hide{display:none}.toast-header{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;padding:.25rem .75rem;color:#6c757d;background-color:hsla(0,0%,100%,.85);background-clip:padding-box;border-bottom:1px solid rgba(0,0,0,.05)}.toast-body{padding:.75rem}.modal-open{overflow:hidden}.modal-open .modal{overflow-x:hidden;overflow-y:auto}.modal{position:fixed;top:0;left:0;z-index:1050;display:none;width:100%;height:100%;overflow:hidden;outline:0}.modal-dialog{position:relative;width:auto;margin:.5rem;pointer-events:none}.modal.fade .modal-dialog{transition:transform .3s ease-out;transform:translateY(-50px)}@media (prefers-reduced-motion:reduce){.modal.fade .modal-dialog{transition:none}}.modal.show .modal-dialog{transform:none}.modal-dialog-scrollable{display:-ms-flexbox;display:flex;max-height:calc(100% - 1rem)}.modal-dialog-scrollable .modal-content{max-height:calc(100vh - 1rem);overflow:hidden}.modal-dialog-scrollable .modal-footer,.modal-dialog-scrollable .modal-header{-ms-flex-negative:0;flex-shrink:0}.modal-dialog-scrollable .modal-body{overflow-y:auto}.modal-dialog-centered{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;min-height:calc(100% - 1rem)}.modal-dialog-centered:before{display:block;height:calc(100vh - 1rem);content:""}.modal-dialog-centered.modal-dialog-scrollable{-ms-flex-direction:column;flex-direction:column;-ms-flex-pack:center;justify-content:center;height:100%}.modal-dialog-centered.modal-dialog-scrollable .modal-content{max-height:none}.modal-dialog-centered.modal-dialog-scrollable:before{content:none}.modal-content{position:relative;display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;width:100%;pointer-events:auto;background-color:#fff;background-clip:padding-box;border:1px solid rgba(0,0,0,.2);border-radius:.3rem;outline:0}.modal-backdrop{position:fixed;top:0;left:0;z-index:1040;width:100vw;height:100vh;background-color:#000}.modal-backdrop.fade{opacity:0}.modal-backdrop.show{opacity:.5}.modal-header{display:-ms-flexbox;display:flex;-ms-flex-align:start;align-items:flex-start;-ms-flex-pack:justify;justify-content:space-between;padding:1rem;border-bottom:1px solid #dee2e6;border-top-left-radius:.3rem;border-top-right-radius:.3rem}.modal-header .close{padding:1rem;margin:-1rem -1rem -1rem auto}.modal-title{margin-bottom:0;line-height:1.5}.modal-body{position:relative;-ms-flex:1 1 auto;flex:1 1 auto;padding:1rem}.modal-footer{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:end;justify-content:flex-end;padding:1rem;border-top:1px solid #dee2e6;border-bottom-right-radius:.3rem;border-bottom-left-radius:.3rem}.modal-footer>:not(:first-child){margin-left:.25rem}.modal-footer>:not(:last-child){margin-right:.25rem}.modal-scrollbar-measure{position:absolute;top:-9999px;width:50px;height:50px;overflow:scroll}@media (min-width:576px){.modal-dialog{max-width:500px;margin:1.75rem auto}.modal-dialog-scrollable{max-height:calc(100% - 3.5rem)}.modal-dialog-scrollable .modal-content{max-height:calc(100vh - 3.5rem)}.modal-dialog-centered{min-height:calc(100% - 3.5rem)}.modal-dialog-centered:before{height:calc(100vh - 3.5rem)}.modal-sm{max-width:300px}}@media (min-width:992px){.modal-lg,.modal-xl{max-width:800px}}@media (min-width:1200px){.modal-xl{max-width:1140px}}.tooltip{position:absolute;z-index:1070;display:block;margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif;font-style:normal;font-weight:400;line-height:1.5;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;white-space:normal;line-break:auto;font-size:.875rem;word-wrap:break-word;opacity:0}.tooltip.show{opacity:.9}.tooltip .arrow{position:absolute;display:block;width:.8rem;height:.4rem}.tooltip .arrow:before{position:absolute;content:"";border-color:transparent;border-style:solid}.bs-tooltip-auto[x-placement^=top],.bs-tooltip-top{padding:.4rem 0}.bs-tooltip-auto[x-placement^=top] .arrow,.bs-tooltip-top .arrow{bottom:0}.bs-tooltip-auto[x-placement^=top] .arrow:before,.bs-tooltip-top .arrow:before{top:0;border-width:.4rem .4rem 0;border-top-color:#000}.bs-tooltip-auto[x-placement^=right],.bs-tooltip-right{padding:0 .4rem}.bs-tooltip-auto[x-placement^=right] .arrow,.bs-tooltip-right .arrow{left:0;width:.4rem;height:.8rem}.bs-tooltip-auto[x-placement^=right] .arrow:before,.bs-tooltip-right .arrow:before{right:0;border-width:.4rem .4rem .4rem 0;border-right-color:#000}.bs-tooltip-auto[x-placement^=bottom],.bs-tooltip-bottom{padding:.4rem 0}.bs-tooltip-auto[x-placement^=bottom] .arrow,.bs-tooltip-bottom .arrow{top:0}.bs-tooltip-auto[x-placement^=bottom] .arrow:before,.bs-tooltip-bottom .arrow:before{bottom:0;border-width:0 .4rem .4rem;border-bottom-color:#000}.bs-tooltip-auto[x-placement^=left],.bs-tooltip-left{padding:0 .4rem}.bs-tooltip-auto[x-placement^=left] .arrow,.bs-tooltip-left .arrow{right:0;width:.4rem;height:.8rem}.bs-tooltip-auto[x-placement^=left] .arrow:before,.bs-tooltip-left .arrow:before{left:0;border-width:.4rem 0 .4rem .4rem;border-left-color:#000}.tooltip-inner{max-width:200px;padding:.25rem .5rem;color:#fff;text-align:center;background-color:#000;border-radius:.25rem}.popover{top:0;left:0;z-index:1060;max-width:276px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif;font-style:normal;font-weight:400;line-height:1.5;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;white-space:normal;line-break:auto;font-size:.875rem;word-wrap:break-word;background-color:#fff;background-clip:padding-box;border:1px solid rgba(0,0,0,.2);border-radius:.3rem}.popover,.popover .arrow{position:absolute;display:block}.popover .arrow{width:1rem;height:.5rem;margin:0 .3rem}.popover .arrow:after,.popover .arrow:before{position:absolute;display:block;content:"";border-color:transparent;border-style:solid}.bs-popover-auto[x-placement^=top],.bs-popover-top{margin-bottom:.5rem}.bs-popover-auto[x-placement^=top]>.arrow,.bs-popover-top>.arrow{bottom:calc((.5rem + 1px) * -1)}.bs-popover-auto[x-placement^=top]>.arrow:before,.bs-popover-top>.arrow:before{bottom:0;border-width:.5rem .5rem 0;border-top-color:rgba(0,0,0,.25)}.bs-popover-auto[x-placement^=top]>.arrow:after,.bs-popover-top>.arrow:after{bottom:1px;border-width:.5rem .5rem 0;border-top-color:#fff}.bs-popover-auto[x-placement^=right],.bs-popover-right{margin-left:.5rem}.bs-popover-auto[x-placement^=right]>.arrow,.bs-popover-right>.arrow{left:calc((.5rem + 1px) * -1);width:.5rem;height:1rem;margin:.3rem 0}.bs-popover-auto[x-placement^=right]>.arrow:before,.bs-popover-right>.arrow:before{left:0;border-width:.5rem .5rem .5rem 0;border-right-color:rgba(0,0,0,.25)}.bs-popover-auto[x-placement^=right]>.arrow:after,.bs-popover-right>.arrow:after{left:1px;border-width:.5rem .5rem .5rem 0;border-right-color:#fff}.bs-popover-auto[x-placement^=bottom],.bs-popover-bottom{margin-top:.5rem}.bs-popover-auto[x-placement^=bottom]>.arrow,.bs-popover-bottom>.arrow{top:calc((.5rem + 1px) * -1)}.bs-popover-auto[x-placement^=bottom]>.arrow:before,.bs-popover-bottom>.arrow:before{top:0;border-width:0 .5rem .5rem;border-bottom-color:rgba(0,0,0,.25)}.bs-popover-auto[x-placement^=bottom]>.arrow:after,.bs-popover-bottom>.arrow:after{top:1px;border-width:0 .5rem .5rem;border-bottom-color:#fff}.bs-popover-auto[x-placement^=bottom] .popover-header:before,.bs-popover-bottom .popover-header:before{position:absolute;top:0;left:50%;display:block;width:1rem;margin-left:-.5rem;content:"";border-bottom:1px solid #f7f7f7}.bs-popover-auto[x-placement^=left],.bs-popover-left{margin-right:.5rem}.bs-popover-auto[x-placement^=left]>.arrow,.bs-popover-left>.arrow{right:calc((.5rem + 1px) * -1);width:.5rem;height:1rem;margin:.3rem 0}.bs-popover-auto[x-placement^=left]>.arrow:before,.bs-popover-left>.arrow:before{right:0;border-width:.5rem 0 .5rem .5rem;border-left-color:rgba(0,0,0,.25)}.bs-popover-auto[x-placement^=left]>.arrow:after,.bs-popover-left>.arrow:after{right:1px;border-width:.5rem 0 .5rem .5rem;border-left-color:#fff}.popover-header{padding:.5rem .75rem;margin-bottom:0;font-size:1rem;background-color:#f7f7f7;border-bottom:1px solid #ebebeb;border-top-left-radius:calc(.3rem - 1px);border-top-right-radius:calc(.3rem - 1px)}.popover-header:empty{display:none}.popover-body{padding:.5rem .75rem;color:#212529}.carousel{position:relative}.carousel.pointer-event{-ms-touch-action:pan-y;touch-action:pan-y}.carousel-inner{position:relative;width:100%;overflow:hidden}.carousel-inner:after{display:block;clear:both;content:""}.carousel-item{position:relative;display:none;float:left;width:100%;margin-right:-100%;-webkit-backface-visibility:hidden;backface-visibility:hidden;transition:transform .6s ease-in-out}@media (prefers-reduced-motion:reduce){.carousel-item{transition:none}}.carousel-item-next,.carousel-item-prev,.carousel-item.active{display:block}.active.carousel-item-right,.carousel-item-next:not(.carousel-item-left){transform:translateX(100%)}.active.carousel-item-left,.carousel-item-prev:not(.carousel-item-right){transform:translateX(-100%)}.carousel-fade .carousel-item{opacity:0;transition-property:opacity;transform:none}.carousel-fade .carousel-item-next.carousel-item-left,.carousel-fade .carousel-item-prev.carousel-item-right,.carousel-fade .carousel-item.active{z-index:1;opacity:1}.carousel-fade .active.carousel-item-left,.carousel-fade .active.carousel-item-right{z-index:0;opacity:0;transition:opacity 0s .6s}@media (prefers-reduced-motion:reduce){.carousel-fade .active.carousel-item-left,.carousel-fade .active.carousel-item-right{transition:none}}.carousel-control-next,.carousel-control-prev{position:absolute;top:0;bottom:0;z-index:1;display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;width:15%;color:#fff;text-align:center;opacity:.5;transition:opacity .15s ease}@media (prefers-reduced-motion:reduce){.carousel-control-next,.carousel-control-prev{transition:none}}.carousel-control-next:focus,.carousel-control-next:hover,.carousel-control-prev:focus,.carousel-control-prev:hover{color:#fff;text-decoration:none;outline:0;opacity:.9}.carousel-control-prev{left:0}.carousel-control-next{right:0}.carousel-control-next-icon,.carousel-control-prev-icon{display:inline-block;width:20px;height:20px;background:no-repeat 50%/100% 100%}.carousel-control-prev-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 8 8'%3E%3Cpath d='M5.25 0l-4 4 4 4 1.5-1.5L4.25 4l2.5-2.5L5.25 0z'/%3E%3C/svg%3E")}.carousel-control-next-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 8 8'%3E%3Cpath d='M2.75 0l-1.5 1.5L3.75 4l-2.5 2.5L2.75 8l4-4-4-4z'/%3E%3C/svg%3E")}.carousel-indicators{position:absolute;right:0;bottom:0;left:0;z-index:15;display:-ms-flexbox;display:flex;-ms-flex-pack:center;justify-content:center;padding-left:0;margin-right:15%;margin-left:15%;list-style:none}.carousel-indicators li{box-sizing:content-box;-ms-flex:0 1 auto;flex:0 1 auto;width:30px;height:3px;margin-right:3px;margin-left:3px;text-indent:-999px;cursor:pointer;background-color:#fff;background-clip:padding-box;border-top:10px solid transparent;border-bottom:10px solid transparent;opacity:.5;transition:opacity .6s ease}@media (prefers-reduced-motion:reduce){.carousel-indicators li{transition:none}}.carousel-indicators .active{opacity:1}.carousel-caption{position:absolute;right:15%;bottom:20px;left:15%;z-index:10;padding-top:20px;padding-bottom:20px;color:#fff;text-align:center}@keyframes spinner-border{to{transform:rotate(1turn)}}.spinner-border{display:inline-block;width:2rem;height:2rem;vertical-align:text-bottom;border:.25em solid currentColor;border-right-color:transparent;border-radius:50%;animation:spinner-border .75s linear infinite}.spinner-border-sm{width:1rem;height:1rem;border-width:.2em}@keyframes spinner-grow{0%{transform:scale(0)}50%{opacity:1}}.spinner-grow{display:inline-block;width:2rem;height:2rem;vertical-align:text-bottom;background-color:currentColor;border-radius:50%;opacity:0;animation:spinner-grow .75s linear infinite}.spinner-grow-sm{width:1rem;height:1rem}.align-baseline{vertical-align:baseline!important}.align-top{vertical-align:top!important}.align-middle{vertical-align:middle!important}.align-bottom{vertical-align:bottom!important}.align-text-bottom{vertical-align:text-bottom!important}.align-text-top{vertical-align:text-top!important}.bg-primary{background-color:#007bff!important}a.bg-primary:focus,a.bg-primary:hover,button.bg-primary:focus,button.bg-primary:hover{background-color:#0062cc!important}.bg-secondary{background-color:#6c757d!important}a.bg-secondary:focus,a.bg-secondary:hover,button.bg-secondary:focus,button.bg-secondary:hover{background-color:#545b62!important}.bg-success{background-color:#28a745!important}a.bg-success:focus,a.bg-success:hover,button.bg-success:focus,button.bg-success:hover{background-color:#1e7e34!important}.bg-info{background-color:#17a2b8!important}a.bg-info:focus,a.bg-info:hover,button.bg-info:focus,button.bg-info:hover{background-color:#117a8b!important}.bg-warning{background-color:#ffc107!important}a.bg-warning:focus,a.bg-warning:hover,button.bg-warning:focus,button.bg-warning:hover{background-color:#d39e00!important}.bg-danger{background-color:#dc3545!important}a.bg-danger:focus,a.bg-danger:hover,button.bg-danger:focus,button.bg-danger:hover{background-color:#bd2130!important}.bg-light{background-color:#f8f9fa!important}a.bg-light:focus,a.bg-light:hover,button.bg-light:focus,button.bg-light:hover{background-color:#dae0e5!important}.bg-dark{background-color:#343a40!important}a.bg-dark:focus,a.bg-dark:hover,button.bg-dark:focus,button.bg-dark:hover{background-color:#1d2124!important}.bg-white{background-color:#fff!important}.bg-transparent{background-color:transparent!important}.border{border:1px solid #dee2e6!important}.border-top{border-top:1px solid #dee2e6!important}.border-right{border-right:1px solid #dee2e6!important}.border-bottom{border-bottom:1px solid #dee2e6!important}.border-left{border-left:1px solid #dee2e6!important}.border-0{border:0!important}.border-top-0{border-top:0!important}.border-right-0{border-right:0!important}.border-bottom-0{border-bottom:0!important}.border-left-0{border-left:0!important}.border-primary{border-color:#007bff!important}.border-secondary{border-color:#6c757d!important}.border-success{border-color:#28a745!important}.border-info{border-color:#17a2b8!important}.border-warning{border-color:#ffc107!important}.border-danger{border-color:#dc3545!important}.border-light{border-color:#f8f9fa!important}.border-dark{border-color:#343a40!important}.border-white{border-color:#fff!important}.rounded-sm{border-radius:.2rem!important}.rounded{border-radius:.25rem!important}.rounded-top{border-top-left-radius:.25rem!important}.rounded-right,.rounded-top{border-top-right-radius:.25rem!important}.rounded-bottom,.rounded-right{border-bottom-right-radius:.25rem!important}.rounded-bottom,.rounded-left{border-bottom-left-radius:.25rem!important}.rounded-left{border-top-left-radius:.25rem!important}.rounded-lg{border-radius:.3rem!important}.rounded-circle{border-radius:50%!important}.rounded-pill{border-radius:50rem!important}.rounded-0{border-radius:0!important}.clearfix:after{display:block;clear:both;content:""}.d-none{display:none!important}.d-inline{display:inline!important}.d-inline-block{display:inline-block!important}.d-block{display:block!important}.d-table{display:table!important}.d-table-row{display:table-row!important}.d-table-cell{display:table-cell!important}.d-flex{display:-ms-flexbox!important;display:flex!important}.d-inline-flex{display:-ms-inline-flexbox!important;display:inline-flex!important}@media (min-width:576px){.d-sm-none{display:none!important}.d-sm-inline{display:inline!important}.d-sm-inline-block{display:inline-block!important}.d-sm-block{display:block!important}.d-sm-table{display:table!important}.d-sm-table-row{display:table-row!important}.d-sm-table-cell{display:table-cell!important}.d-sm-flex{display:-ms-flexbox!important;display:flex!important}.d-sm-inline-flex{display:-ms-inline-flexbox!important;display:inline-flex!important}}@media (min-width:768px){.d-md-none{display:none!important}.d-md-inline{display:inline!important}.d-md-inline-block{display:inline-block!important}.d-md-block{display:block!important}.d-md-table{display:table!important}.d-md-table-row{display:table-row!important}.d-md-table-cell{display:table-cell!important}.d-md-flex{display:-ms-flexbox!important;display:flex!important}.d-md-inline-flex{display:-ms-inline-flexbox!important;display:inline-flex!important}}@media (min-width:992px){.d-lg-none{display:none!important}.d-lg-inline{display:inline!important}.d-lg-inline-block{display:inline-block!important}.d-lg-block{display:block!important}.d-lg-table{display:table!important}.d-lg-table-row{display:table-row!important}.d-lg-table-cell{display:table-cell!important}.d-lg-flex{display:-ms-flexbox!important;display:flex!important}.d-lg-inline-flex{display:-ms-inline-flexbox!important;display:inline-flex!important}}@media (min-width:1200px){.d-xl-none{display:none!important}.d-xl-inline{display:inline!important}.d-xl-inline-block{display:inline-block!important}.d-xl-block{display:block!important}.d-xl-table{display:table!important}.d-xl-table-row{display:table-row!important}.d-xl-table-cell{display:table-cell!important}.d-xl-flex{display:-ms-flexbox!important;display:flex!important}.d-xl-inline-flex{display:-ms-inline-flexbox!important;display:inline-flex!important}}@media print{.d-print-none{display:none!important}.d-print-inline{display:inline!important}.d-print-inline-block{display:inline-block!important}.d-print-block{display:block!important}.d-print-table{display:table!important}.d-print-table-row{display:table-row!important}.d-print-table-cell{display:table-cell!important}.d-print-flex{display:-ms-flexbox!important;display:flex!important}.d-print-inline-flex{display:-ms-inline-flexbox!important;display:inline-flex!important}}.embed-responsive{position:relative;display:block;width:100%;padding:0;overflow:hidden}.embed-responsive:before{display:block;content:""}.embed-responsive .embed-responsive-item,.embed-responsive embed,.embed-responsive iframe,.embed-responsive object,.embed-responsive video{position:absolute;top:0;bottom:0;left:0;width:100%;height:100%;border:0}.embed-responsive-21by9:before{padding-top:42.857143%}.embed-responsive-16by9:before{padding-top:56.25%}.embed-responsive-4by3:before{padding-top:75%}.embed-responsive-1by1:before{padding-top:100%}.flex-row{-ms-flex-direction:row!important;flex-direction:row!important}.flex-column{-ms-flex-direction:column!important;flex-direction:column!important}.flex-row-reverse{-ms-flex-direction:row-reverse!important;flex-direction:row-reverse!important}.flex-column-reverse{-ms-flex-direction:column-reverse!important;flex-direction:column-reverse!important}.flex-wrap{-ms-flex-wrap:wrap!important;flex-wrap:wrap!important}.flex-nowrap{-ms-flex-wrap:nowrap!important;flex-wrap:nowrap!important}.flex-wrap-reverse{-ms-flex-wrap:wrap-reverse!important;flex-wrap:wrap-reverse!important}.flex-fill{-ms-flex:1 1 auto!important;flex:1 1 auto!important}.flex-grow-0{-ms-flex-positive:0!important;flex-grow:0!important}.flex-grow-1{-ms-flex-positive:1!important;flex-grow:1!important}.flex-shrink-0{-ms-flex-negative:0!important;flex-shrink:0!important}.flex-shrink-1{-ms-flex-negative:1!important;flex-shrink:1!important}.justify-content-start{-ms-flex-pack:start!important;justify-content:flex-start!important}.justify-content-end{-ms-flex-pack:end!important;justify-content:flex-end!important}.justify-content-center{-ms-flex-pack:center!important;justify-content:center!important}.justify-content-between{-ms-flex-pack:justify!important;justify-content:space-between!important}.justify-content-around{-ms-flex-pack:distribute!important;justify-content:space-around!important}.align-items-start{-ms-flex-align:start!important;align-items:flex-start!important}.align-items-end{-ms-flex-align:end!important;align-items:flex-end!important}.align-items-center{-ms-flex-align:center!important;align-items:center!important}.align-items-baseline{-ms-flex-align:baseline!important;align-items:baseline!important}.align-items-stretch{-ms-flex-align:stretch!important;align-items:stretch!important}.align-content-start{-ms-flex-line-pack:start!important;align-content:flex-start!important}.align-content-end{-ms-flex-line-pack:end!important;align-content:flex-end!important}.align-content-center{-ms-flex-line-pack:center!important;align-content:center!important}.align-content-between{-ms-flex-line-pack:justify!important;align-content:space-between!important}.align-content-around{-ms-flex-line-pack:distribute!important;align-content:space-around!important}.align-content-stretch{-ms-flex-line-pack:stretch!important;align-content:stretch!important}.align-self-auto{-ms-flex-item-align:auto!important;align-self:auto!important}.align-self-start{-ms-flex-item-align:start!important;align-self:flex-start!important}.align-self-end{-ms-flex-item-align:end!important;align-self:flex-end!important}.align-self-center{-ms-flex-item-align:center!important;align-self:center!important}.align-self-baseline{-ms-flex-item-align:baseline!important;align-self:baseline!important}.align-self-stretch{-ms-flex-item-align:stretch!important;align-self:stretch!important}@media (min-width:576px){.flex-sm-row{-ms-flex-direction:row!important;flex-direction:row!important}.flex-sm-column{-ms-flex-direction:column!important;flex-direction:column!important}.flex-sm-row-reverse{-ms-flex-direction:row-reverse!important;flex-direction:row-reverse!important}.flex-sm-column-reverse{-ms-flex-direction:column-reverse!important;flex-direction:column-reverse!important}.flex-sm-wrap{-ms-flex-wrap:wrap!important;flex-wrap:wrap!important}.flex-sm-nowrap{-ms-flex-wrap:nowrap!important;flex-wrap:nowrap!important}.flex-sm-wrap-reverse{-ms-flex-wrap:wrap-reverse!important;flex-wrap:wrap-reverse!important}.flex-sm-fill{-ms-flex:1 1 auto!important;flex:1 1 auto!important}.flex-sm-grow-0{-ms-flex-positive:0!important;flex-grow:0!important}.flex-sm-grow-1{-ms-flex-positive:1!important;flex-grow:1!important}.flex-sm-shrink-0{-ms-flex-negative:0!important;flex-shrink:0!important}.flex-sm-shrink-1{-ms-flex-negative:1!important;flex-shrink:1!important}.justify-content-sm-start{-ms-flex-pack:start!important;justify-content:flex-start!important}.justify-content-sm-end{-ms-flex-pack:end!important;justify-content:flex-end!important}.justify-content-sm-center{-ms-flex-pack:center!important;justify-content:center!important}.justify-content-sm-between{-ms-flex-pack:justify!important;justify-content:space-between!important}.justify-content-sm-around{-ms-flex-pack:distribute!important;justify-content:space-around!important}.align-items-sm-start{-ms-flex-align:start!important;align-items:flex-start!important}.align-items-sm-end{-ms-flex-align:end!important;align-items:flex-end!important}.align-items-sm-center{-ms-flex-align:center!important;align-items:center!important}.align-items-sm-baseline{-ms-flex-align:baseline!important;align-items:baseline!important}.align-items-sm-stretch{-ms-flex-align:stretch!important;align-items:stretch!important}.align-content-sm-start{-ms-flex-line-pack:start!important;align-content:flex-start!important}.align-content-sm-end{-ms-flex-line-pack:end!important;align-content:flex-end!important}.align-content-sm-center{-ms-flex-line-pack:center!important;align-content:center!important}.align-content-sm-between{-ms-flex-line-pack:justify!important;align-content:space-between!important}.align-content-sm-around{-ms-flex-line-pack:distribute!important;align-content:space-around!important}.align-content-sm-stretch{-ms-flex-line-pack:stretch!important;align-content:stretch!important}.align-self-sm-auto{-ms-flex-item-align:auto!important;align-self:auto!important}.align-self-sm-start{-ms-flex-item-align:start!important;align-self:flex-start!important}.align-self-sm-end{-ms-flex-item-align:end!important;align-self:flex-end!important}.align-self-sm-center{-ms-flex-item-align:center!important;align-self:center!important}.align-self-sm-baseline{-ms-flex-item-align:baseline!important;align-self:baseline!important}.align-self-sm-stretch{-ms-flex-item-align:stretch!important;align-self:stretch!important}}@media (min-width:768px){.flex-md-row{-ms-flex-direction:row!important;flex-direction:row!important}.flex-md-column{-ms-flex-direction:column!important;flex-direction:column!important}.flex-md-row-reverse{-ms-flex-direction:row-reverse!important;flex-direction:row-reverse!important}.flex-md-column-reverse{-ms-flex-direction:column-reverse!important;flex-direction:column-reverse!important}.flex-md-wrap{-ms-flex-wrap:wrap!important;flex-wrap:wrap!important}.flex-md-nowrap{-ms-flex-wrap:nowrap!important;flex-wrap:nowrap!important}.flex-md-wrap-reverse{-ms-flex-wrap:wrap-reverse!important;flex-wrap:wrap-reverse!important}.flex-md-fill{-ms-flex:1 1 auto!important;flex:1 1 auto!important}.flex-md-grow-0{-ms-flex-positive:0!important;flex-grow:0!important}.flex-md-grow-1{-ms-flex-positive:1!important;flex-grow:1!important}.flex-md-shrink-0{-ms-flex-negative:0!important;flex-shrink:0!important}.flex-md-shrink-1{-ms-flex-negative:1!important;flex-shrink:1!important}.justify-content-md-start{-ms-flex-pack:start!important;justify-content:flex-start!important}.justify-content-md-end{-ms-flex-pack:end!important;justify-content:flex-end!important}.justify-content-md-center{-ms-flex-pack:center!important;justify-content:center!important}.justify-content-md-between{-ms-flex-pack:justify!important;justify-content:space-between!important}.justify-content-md-around{-ms-flex-pack:distribute!important;justify-content:space-around!important}.align-items-md-start{-ms-flex-align:start!important;align-items:flex-start!important}.align-items-md-end{-ms-flex-align:end!important;align-items:flex-end!important}.align-items-md-center{-ms-flex-align:center!important;align-items:center!important}.align-items-md-baseline{-ms-flex-align:baseline!important;align-items:baseline!important}.align-items-md-stretch{-ms-flex-align:stretch!important;align-items:stretch!important}.align-content-md-start{-ms-flex-line-pack:start!important;align-content:flex-start!important}.align-content-md-end{-ms-flex-line-pack:end!important;align-content:flex-end!important}.align-content-md-center{-ms-flex-line-pack:center!important;align-content:center!important}.align-content-md-between{-ms-flex-line-pack:justify!important;align-content:space-between!important}.align-content-md-around{-ms-flex-line-pack:distribute!important;align-content:space-around!important}.align-content-md-stretch{-ms-flex-line-pack:stretch!important;align-content:stretch!important}.align-self-md-auto{-ms-flex-item-align:auto!important;align-self:auto!important}.align-self-md-start{-ms-flex-item-align:start!important;align-self:flex-start!important}.align-self-md-end{-ms-flex-item-align:end!important;align-self:flex-end!important}.align-self-md-center{-ms-flex-item-align:center!important;align-self:center!important}.align-self-md-baseline{-ms-flex-item-align:baseline!important;align-self:baseline!important}.align-self-md-stretch{-ms-flex-item-align:stretch!important;align-self:stretch!important}}@media (min-width:992px){.flex-lg-row{-ms-flex-direction:row!important;flex-direction:row!important}.flex-lg-column{-ms-flex-direction:column!important;flex-direction:column!important}.flex-lg-row-reverse{-ms-flex-direction:row-reverse!important;flex-direction:row-reverse!important}.flex-lg-column-reverse{-ms-flex-direction:column-reverse!important;flex-direction:column-reverse!important}.flex-lg-wrap{-ms-flex-wrap:wrap!important;flex-wrap:wrap!important}.flex-lg-nowrap{-ms-flex-wrap:nowrap!important;flex-wrap:nowrap!important}.flex-lg-wrap-reverse{-ms-flex-wrap:wrap-reverse!important;flex-wrap:wrap-reverse!important}.flex-lg-fill{-ms-flex:1 1 auto!important;flex:1 1 auto!important}.flex-lg-grow-0{-ms-flex-positive:0!important;flex-grow:0!important}.flex-lg-grow-1{-ms-flex-positive:1!important;flex-grow:1!important}.flex-lg-shrink-0{-ms-flex-negative:0!important;flex-shrink:0!important}.flex-lg-shrink-1{-ms-flex-negative:1!important;flex-shrink:1!important}.justify-content-lg-start{-ms-flex-pack:start!important;justify-content:flex-start!important}.justify-content-lg-end{-ms-flex-pack:end!important;justify-content:flex-end!important}.justify-content-lg-center{-ms-flex-pack:center!important;justify-content:center!important}.justify-content-lg-between{-ms-flex-pack:justify!important;justify-content:space-between!important}.justify-content-lg-around{-ms-flex-pack:distribute!important;justify-content:space-around!important}.align-items-lg-start{-ms-flex-align:start!important;align-items:flex-start!important}.align-items-lg-end{-ms-flex-align:end!important;align-items:flex-end!important}.align-items-lg-center{-ms-flex-align:center!important;align-items:center!important}.align-items-lg-baseline{-ms-flex-align:baseline!important;align-items:baseline!important}.align-items-lg-stretch{-ms-flex-align:stretch!important;align-items:stretch!important}.align-content-lg-start{-ms-flex-line-pack:start!important;align-content:flex-start!important}.align-content-lg-end{-ms-flex-line-pack:end!important;align-content:flex-end!important}.align-content-lg-center{-ms-flex-line-pack:center!important;align-content:center!important}.align-content-lg-between{-ms-flex-line-pack:justify!important;align-content:space-between!important}.align-content-lg-around{-ms-flex-line-pack:distribute!important;align-content:space-around!important}.align-content-lg-stretch{-ms-flex-line-pack:stretch!important;align-content:stretch!important}.align-self-lg-auto{-ms-flex-item-align:auto!important;align-self:auto!important}.align-self-lg-start{-ms-flex-item-align:start!important;align-self:flex-start!important}.align-self-lg-end{-ms-flex-item-align:end!important;align-self:flex-end!important}.align-self-lg-center{-ms-flex-item-align:center!important;align-self:center!important}.align-self-lg-baseline{-ms-flex-item-align:baseline!important;align-self:baseline!important}.align-self-lg-stretch{-ms-flex-item-align:stretch!important;align-self:stretch!important}}@media (min-width:1200px){.flex-xl-row{-ms-flex-direction:row!important;flex-direction:row!important}.flex-xl-column{-ms-flex-direction:column!important;flex-direction:column!important}.flex-xl-row-reverse{-ms-flex-direction:row-reverse!important;flex-direction:row-reverse!important}.flex-xl-column-reverse{-ms-flex-direction:column-reverse!important;flex-direction:column-reverse!important}.flex-xl-wrap{-ms-flex-wrap:wrap!important;flex-wrap:wrap!important}.flex-xl-nowrap{-ms-flex-wrap:nowrap!important;flex-wrap:nowrap!important}.flex-xl-wrap-reverse{-ms-flex-wrap:wrap-reverse!important;flex-wrap:wrap-reverse!important}.flex-xl-fill{-ms-flex:1 1 auto!important;flex:1 1 auto!important}.flex-xl-grow-0{-ms-flex-positive:0!important;flex-grow:0!important}.flex-xl-grow-1{-ms-flex-positive:1!important;flex-grow:1!important}.flex-xl-shrink-0{-ms-flex-negative:0!important;flex-shrink:0!important}.flex-xl-shrink-1{-ms-flex-negative:1!important;flex-shrink:1!important}.justify-content-xl-start{-ms-flex-pack:start!important;justify-content:flex-start!important}.justify-content-xl-end{-ms-flex-pack:end!important;justify-content:flex-end!important}.justify-content-xl-center{-ms-flex-pack:center!important;justify-content:center!important}.justify-content-xl-between{-ms-flex-pack:justify!important;justify-content:space-between!important}.justify-content-xl-around{-ms-flex-pack:distribute!important;justify-content:space-around!important}.align-items-xl-start{-ms-flex-align:start!important;align-items:flex-start!important}.align-items-xl-end{-ms-flex-align:end!important;align-items:flex-end!important}.align-items-xl-center{-ms-flex-align:center!important;align-items:center!important}.align-items-xl-baseline{-ms-flex-align:baseline!important;align-items:baseline!important}.align-items-xl-stretch{-ms-flex-align:stretch!important;align-items:stretch!important}.align-content-xl-start{-ms-flex-line-pack:start!important;align-content:flex-start!important}.align-content-xl-end{-ms-flex-line-pack:end!important;align-content:flex-end!important}.align-content-xl-center{-ms-flex-line-pack:center!important;align-content:center!important}.align-content-xl-between{-ms-flex-line-pack:justify!important;align-content:space-between!important}.align-content-xl-around{-ms-flex-line-pack:distribute!important;align-content:space-around!important}.align-content-xl-stretch{-ms-flex-line-pack:stretch!important;align-content:stretch!important}.align-self-xl-auto{-ms-flex-item-align:auto!important;align-self:auto!important}.align-self-xl-start{-ms-flex-item-align:start!important;align-self:flex-start!important}.align-self-xl-end{-ms-flex-item-align:end!important;align-self:flex-end!important}.align-self-xl-center{-ms-flex-item-align:center!important;align-self:center!important}.align-self-xl-baseline{-ms-flex-item-align:baseline!important;align-self:baseline!important}.align-self-xl-stretch{-ms-flex-item-align:stretch!important;align-self:stretch!important}}.float-left{float:left!important}.float-right{float:right!important}.float-none{float:none!important}@media (min-width:576px){.float-sm-left{float:left!important}.float-sm-right{float:right!important}.float-sm-none{float:none!important}}@media (min-width:768px){.float-md-left{float:left!important}.float-md-right{float:right!important}.float-md-none{float:none!important}}@media (min-width:992px){.float-lg-left{float:left!important}.float-lg-right{float:right!important}.float-lg-none{float:none!important}}@media (min-width:1200px){.float-xl-left{float:left!important}.float-xl-right{float:right!important}.float-xl-none{float:none!important}}.overflow-auto{overflow:auto!important}.overflow-hidden{overflow:hidden!important}.position-static{position:static!important}.position-relative{position:relative!important}.position-absolute{position:absolute!important}.position-fixed{position:fixed!important}.position-sticky{position:-webkit-sticky!important;position:sticky!important}.fixed-top{top:0}.fixed-bottom,.fixed-top{position:fixed;right:0;left:0;z-index:1030}.fixed-bottom{bottom:0}@supports ((position:-webkit-sticky) or (position:sticky)){.sticky-top{position:-webkit-sticky;position:sticky;top:0;z-index:1020}}.sr-only{white-space:nowrap}.sr-only-focusable:active,.sr-only-focusable:focus{white-space:normal}.shadow-sm{box-shadow:0 .125rem .25rem rgba(0,0,0,.075)!important}.shadow{box-shadow:0 .5rem 1rem rgba(0,0,0,.15)!important}.shadow-lg{box-shadow:0 1rem 3rem rgba(0,0,0,.175)!important}.shadow-none{box-shadow:none!important}.w-25{width:25%!important}.w-50{width:50%!important}.w-75{width:75%!important}.w-100{width:100%!important}.w-auto{width:auto!important}.h-25{height:25%!important}.h-50{height:50%!important}.h-75{height:75%!important}.h-100{height:100%!important}.h-auto{height:auto!important}.mw-100{max-width:100%!important}.mh-100{max-height:100%!important}.min-vw-100{min-width:100vw!important}.min-vh-100{min-height:100vh!important}.vw-100{width:100vw!important}.vh-100{height:100vh!important}.stretched-link:after{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;pointer-events:auto;content:"";background-color:transparent}.m-0{margin:0!important}.mt-0,.my-0{margin-top:0!important}.mr-0,.mx-0{margin-right:0!important}.mb-0,.my-0{margin-bottom:0!important}.ml-0,.mx-0{margin-left:0!important}.m-1{margin:.25rem!important}.mt-1,.my-1{margin-top:.25rem!important}.mr-1,.mx-1{margin-right:.25rem!important}.mb-1,.my-1{margin-bottom:.25rem!important}.ml-1,.mx-1{margin-left:.25rem!important}.m-2{margin:.5rem!important}.mt-2,.my-2{margin-top:.5rem!important}.mr-2,.mx-2{margin-right:.5rem!important}.mb-2,.my-2{margin-bottom:.5rem!important}.ml-2,.mx-2{margin-left:.5rem!important}.m-3{margin:1rem!important}.mt-3,.my-3{margin-top:1rem!important}.mr-3,.mx-3{margin-right:1rem!important}.mb-3,.my-3{margin-bottom:1rem!important}.ml-3,.mx-3{margin-left:1rem!important}.m-4{margin:1.5rem!important}.mt-4,.my-4{margin-top:1.5rem!important}.mr-4,.mx-4{margin-right:1.5rem!important}.mb-4,.my-4{margin-bottom:1.5rem!important}.ml-4,.mx-4{margin-left:1.5rem!important}.m-5{margin:3rem!important}.mt-5,.my-5{margin-top:3rem!important}.mr-5,.mx-5{margin-right:3rem!important}.mb-5,.my-5{margin-bottom:3rem!important}.ml-5,.mx-5{margin-left:3rem!important}.p-0{padding:0!important}.pt-0,.py-0{padding-top:0!important}.pr-0,.px-0{padding-right:0!important}.pb-0,.py-0{padding-bottom:0!important}.pl-0,.px-0{padding-left:0!important}.p-1{padding:.25rem!important}.pt-1,.py-1{padding-top:.25rem!important}.pr-1,.px-1{padding-right:.25rem!important}.pb-1,.py-1{padding-bottom:.25rem!important}.pl-1,.px-1{padding-left:.25rem!important}.p-2{padding:.5rem!important}.pt-2,.py-2{padding-top:.5rem!important}.pr-2,.px-2{padding-right:.5rem!important}.pb-2,.py-2{padding-bottom:.5rem!important}.pl-2,.px-2{padding-left:.5rem!important}.p-3{padding:1rem!important}.pt-3,.py-3{padding-top:1rem!important}.pr-3,.px-3{padding-right:1rem!important}.pb-3,.py-3{padding-bottom:1rem!important}.pl-3,.px-3{padding-left:1rem!important}.p-4{padding:1.5rem!important}.pt-4,.py-4{padding-top:1.5rem!important}.pr-4,.px-4{padding-right:1.5rem!important}.pb-4,.py-4{padding-bottom:1.5rem!important}.pl-4,.px-4{padding-left:1.5rem!important}.p-5{padding:3rem!important}.pt-5,.py-5{padding-top:3rem!important}.pr-5,.px-5{padding-right:3rem!important}.pb-5,.py-5{padding-bottom:3rem!important}.pl-5,.px-5{padding-left:3rem!important}.m-n1{margin:-.25rem!important}.mt-n1,.my-n1{margin-top:-.25rem!important}.mr-n1,.mx-n1{margin-right:-.25rem!important}.mb-n1,.my-n1{margin-bottom:-.25rem!important}.ml-n1,.mx-n1{margin-left:-.25rem!important}.m-n2{margin:-.5rem!important}.mt-n2,.my-n2{margin-top:-.5rem!important}.mr-n2,.mx-n2{margin-right:-.5rem!important}.mb-n2,.my-n2{margin-bottom:-.5rem!important}.ml-n2,.mx-n2{margin-left:-.5rem!important}.m-n3{margin:-1rem!important}.mt-n3,.my-n3{margin-top:-1rem!important}.mr-n3,.mx-n3{margin-right:-1rem!important}.mb-n3,.my-n3{margin-bottom:-1rem!important}.ml-n3,.mx-n3{margin-left:-1rem!important}.m-n4{margin:-1.5rem!important}.mt-n4,.my-n4{margin-top:-1.5rem!important}.mr-n4,.mx-n4{margin-right:-1.5rem!important}.mb-n4,.my-n4{margin-bottom:-1.5rem!important}.ml-n4,.mx-n4{margin-left:-1.5rem!important}.m-n5{margin:-3rem!important}.mt-n5,.my-n5{margin-top:-3rem!important}.mr-n5,.mx-n5{margin-right:-3rem!important}.mb-n5,.my-n5{margin-bottom:-3rem!important}.ml-n5,.mx-n5{margin-left:-3rem!important}.m-auto{margin:auto!important}.mt-auto,.my-auto{margin-top:auto!important}.mr-auto,.mx-auto{margin-right:auto!important}.mb-auto,.my-auto{margin-bottom:auto!important}.ml-auto,.mx-auto{margin-left:auto!important}@media (min-width:576px){.m-sm-0{margin:0!important}.mt-sm-0,.my-sm-0{margin-top:0!important}.mr-sm-0,.mx-sm-0{margin-right:0!important}.mb-sm-0,.my-sm-0{margin-bottom:0!important}.ml-sm-0,.mx-sm-0{margin-left:0!important}.m-sm-1{margin:.25rem!important}.mt-sm-1,.my-sm-1{margin-top:.25rem!important}.mr-sm-1,.mx-sm-1{margin-right:.25rem!important}.mb-sm-1,.my-sm-1{margin-bottom:.25rem!important}.ml-sm-1,.mx-sm-1{margin-left:.25rem!important}.m-sm-2{margin:.5rem!important}.mt-sm-2,.my-sm-2{margin-top:.5rem!important}.mr-sm-2,.mx-sm-2{margin-right:.5rem!important}.mb-sm-2,.my-sm-2{margin-bottom:.5rem!important}.ml-sm-2,.mx-sm-2{margin-left:.5rem!important}.m-sm-3{margin:1rem!important}.mt-sm-3,.my-sm-3{margin-top:1rem!important}.mr-sm-3,.mx-sm-3{margin-right:1rem!important}.mb-sm-3,.my-sm-3{margin-bottom:1rem!important}.ml-sm-3,.mx-sm-3{margin-left:1rem!important}.m-sm-4{margin:1.5rem!important}.mt-sm-4,.my-sm-4{margin-top:1.5rem!important}.mr-sm-4,.mx-sm-4{margin-right:1.5rem!important}.mb-sm-4,.my-sm-4{margin-bottom:1.5rem!important}.ml-sm-4,.mx-sm-4{margin-left:1.5rem!important}.m-sm-5{margin:3rem!important}.mt-sm-5,.my-sm-5{margin-top:3rem!important}.mr-sm-5,.mx-sm-5{margin-right:3rem!important}.mb-sm-5,.my-sm-5{margin-bottom:3rem!important}.ml-sm-5,.mx-sm-5{margin-left:3rem!important}.p-sm-0{padding:0!important}.pt-sm-0,.py-sm-0{padding-top:0!important}.pr-sm-0,.px-sm-0{padding-right:0!important}.pb-sm-0,.py-sm-0{padding-bottom:0!important}.pl-sm-0,.px-sm-0{padding-left:0!important}.p-sm-1{padding:.25rem!important}.pt-sm-1,.py-sm-1{padding-top:.25rem!important}.pr-sm-1,.px-sm-1{padding-right:.25rem!important}.pb-sm-1,.py-sm-1{padding-bottom:.25rem!important}.pl-sm-1,.px-sm-1{padding-left:.25rem!important}.p-sm-2{padding:.5rem!important}.pt-sm-2,.py-sm-2{padding-top:.5rem!important}.pr-sm-2,.px-sm-2{padding-right:.5rem!important}.pb-sm-2,.py-sm-2{padding-bottom:.5rem!important}.pl-sm-2,.px-sm-2{padding-left:.5rem!important}.p-sm-3{padding:1rem!important}.pt-sm-3,.py-sm-3{padding-top:1rem!important}.pr-sm-3,.px-sm-3{padding-right:1rem!important}.pb-sm-3,.py-sm-3{padding-bottom:1rem!important}.pl-sm-3,.px-sm-3{padding-left:1rem!important}.p-sm-4{padding:1.5rem!important}.pt-sm-4,.py-sm-4{padding-top:1.5rem!important}.pr-sm-4,.px-sm-4{padding-right:1.5rem!important}.pb-sm-4,.py-sm-4{padding-bottom:1.5rem!important}.pl-sm-4,.px-sm-4{padding-left:1.5rem!important}.p-sm-5{padding:3rem!important}.pt-sm-5,.py-sm-5{padding-top:3rem!important}.pr-sm-5,.px-sm-5{padding-right:3rem!important}.pb-sm-5,.py-sm-5{padding-bottom:3rem!important}.pl-sm-5,.px-sm-5{padding-left:3rem!important}.m-sm-n1{margin:-.25rem!important}.mt-sm-n1,.my-sm-n1{margin-top:-.25rem!important}.mr-sm-n1,.mx-sm-n1{margin-right:-.25rem!important}.mb-sm-n1,.my-sm-n1{margin-bottom:-.25rem!important}.ml-sm-n1,.mx-sm-n1{margin-left:-.25rem!important}.m-sm-n2{margin:-.5rem!important}.mt-sm-n2,.my-sm-n2{margin-top:-.5rem!important}.mr-sm-n2,.mx-sm-n2{margin-right:-.5rem!important}.mb-sm-n2,.my-sm-n2{margin-bottom:-.5rem!important}.ml-sm-n2,.mx-sm-n2{margin-left:-.5rem!important}.m-sm-n3{margin:-1rem!important}.mt-sm-n3,.my-sm-n3{margin-top:-1rem!important}.mr-sm-n3,.mx-sm-n3{margin-right:-1rem!important}.mb-sm-n3,.my-sm-n3{margin-bottom:-1rem!important}.ml-sm-n3,.mx-sm-n3{margin-left:-1rem!important}.m-sm-n4{margin:-1.5rem!important}.mt-sm-n4,.my-sm-n4{margin-top:-1.5rem!important}.mr-sm-n4,.mx-sm-n4{margin-right:-1.5rem!important}.mb-sm-n4,.my-sm-n4{margin-bottom:-1.5rem!important}.ml-sm-n4,.mx-sm-n4{margin-left:-1.5rem!important}.m-sm-n5{margin:-3rem!important}.mt-sm-n5,.my-sm-n5{margin-top:-3rem!important}.mr-sm-n5,.mx-sm-n5{margin-right:-3rem!important}.mb-sm-n5,.my-sm-n5{margin-bottom:-3rem!important}.ml-sm-n5,.mx-sm-n5{margin-left:-3rem!important}.m-sm-auto{margin:auto!important}.mt-sm-auto,.my-sm-auto{margin-top:auto!important}.mr-sm-auto,.mx-sm-auto{margin-right:auto!important}.mb-sm-auto,.my-sm-auto{margin-bottom:auto!important}.ml-sm-auto,.mx-sm-auto{margin-left:auto!important}}@media (min-width:768px){.m-md-0{margin:0!important}.mt-md-0,.my-md-0{margin-top:0!important}.mr-md-0,.mx-md-0{margin-right:0!important}.mb-md-0,.my-md-0{margin-bottom:0!important}.ml-md-0,.mx-md-0{margin-left:0!important}.m-md-1{margin:.25rem!important}.mt-md-1,.my-md-1{margin-top:.25rem!important}.mr-md-1,.mx-md-1{margin-right:.25rem!important}.mb-md-1,.my-md-1{margin-bottom:.25rem!important}.ml-md-1,.mx-md-1{margin-left:.25rem!important}.m-md-2{margin:.5rem!important}.mt-md-2,.my-md-2{margin-top:.5rem!important}.mr-md-2,.mx-md-2{margin-right:.5rem!important}.mb-md-2,.my-md-2{margin-bottom:.5rem!important}.ml-md-2,.mx-md-2{margin-left:.5rem!important}.m-md-3{margin:1rem!important}.mt-md-3,.my-md-3{margin-top:1rem!important}.mr-md-3,.mx-md-3{margin-right:1rem!important}.mb-md-3,.my-md-3{margin-bottom:1rem!important}.ml-md-3,.mx-md-3{margin-left:1rem!important}.m-md-4{margin:1.5rem!important}.mt-md-4,.my-md-4{margin-top:1.5rem!important}.mr-md-4,.mx-md-4{margin-right:1.5rem!important}.mb-md-4,.my-md-4{margin-bottom:1.5rem!important}.ml-md-4,.mx-md-4{margin-left:1.5rem!important}.m-md-5{margin:3rem!important}.mt-md-5,.my-md-5{margin-top:3rem!important}.mr-md-5,.mx-md-5{margin-right:3rem!important}.mb-md-5,.my-md-5{margin-bottom:3rem!important}.ml-md-5,.mx-md-5{margin-left:3rem!important}.p-md-0{padding:0!important}.pt-md-0,.py-md-0{padding-top:0!important}.pr-md-0,.px-md-0{padding-right:0!important}.pb-md-0,.py-md-0{padding-bottom:0!important}.pl-md-0,.px-md-0{padding-left:0!important}.p-md-1{padding:.25rem!important}.pt-md-1,.py-md-1{padding-top:.25rem!important}.pr-md-1,.px-md-1{padding-right:.25rem!important}.pb-md-1,.py-md-1{padding-bottom:.25rem!important}.pl-md-1,.px-md-1{padding-left:.25rem!important}.p-md-2{padding:.5rem!important}.pt-md-2,.py-md-2{padding-top:.5rem!important}.pr-md-2,.px-md-2{padding-right:.5rem!important}.pb-md-2,.py-md-2{padding-bottom:.5rem!important}.pl-md-2,.px-md-2{padding-left:.5rem!important}.p-md-3{padding:1rem!important}.pt-md-3,.py-md-3{padding-top:1rem!important}.pr-md-3,.px-md-3{padding-right:1rem!important}.pb-md-3,.py-md-3{padding-bottom:1rem!important}.pl-md-3,.px-md-3{padding-left:1rem!important}.p-md-4{padding:1.5rem!important}.pt-md-4,.py-md-4{padding-top:1.5rem!important}.pr-md-4,.px-md-4{padding-right:1.5rem!important}.pb-md-4,.py-md-4{padding-bottom:1.5rem!important}.pl-md-4,.px-md-4{padding-left:1.5rem!important}.p-md-5{padding:3rem!important}.pt-md-5,.py-md-5{padding-top:3rem!important}.pr-md-5,.px-md-5{padding-right:3rem!important}.pb-md-5,.py-md-5{padding-bottom:3rem!important}.pl-md-5,.px-md-5{padding-left:3rem!important}.m-md-n1{margin:-.25rem!important}.mt-md-n1,.my-md-n1{margin-top:-.25rem!important}.mr-md-n1,.mx-md-n1{margin-right:-.25rem!important}.mb-md-n1,.my-md-n1{margin-bottom:-.25rem!important}.ml-md-n1,.mx-md-n1{margin-left:-.25rem!important}.m-md-n2{margin:-.5rem!important}.mt-md-n2,.my-md-n2{margin-top:-.5rem!important}.mr-md-n2,.mx-md-n2{margin-right:-.5rem!important}.mb-md-n2,.my-md-n2{margin-bottom:-.5rem!important}.ml-md-n2,.mx-md-n2{margin-left:-.5rem!important}.m-md-n3{margin:-1rem!important}.mt-md-n3,.my-md-n3{margin-top:-1rem!important}.mr-md-n3,.mx-md-n3{margin-right:-1rem!important}.mb-md-n3,.my-md-n3{margin-bottom:-1rem!important}.ml-md-n3,.mx-md-n3{margin-left:-1rem!important}.m-md-n4{margin:-1.5rem!important}.mt-md-n4,.my-md-n4{margin-top:-1.5rem!important}.mr-md-n4,.mx-md-n4{margin-right:-1.5rem!important}.mb-md-n4,.my-md-n4{margin-bottom:-1.5rem!important}.ml-md-n4,.mx-md-n4{margin-left:-1.5rem!important}.m-md-n5{margin:-3rem!important}.mt-md-n5,.my-md-n5{margin-top:-3rem!important}.mr-md-n5,.mx-md-n5{margin-right:-3rem!important}.mb-md-n5,.my-md-n5{margin-bottom:-3rem!important}.ml-md-n5,.mx-md-n5{margin-left:-3rem!important}.m-md-auto{margin:auto!important}.mt-md-auto,.my-md-auto{margin-top:auto!important}.mr-md-auto,.mx-md-auto{margin-right:auto!important}.mb-md-auto,.my-md-auto{margin-bottom:auto!important}.ml-md-auto,.mx-md-auto{margin-left:auto!important}}@media (min-width:992px){.m-lg-0{margin:0!important}.mt-lg-0,.my-lg-0{margin-top:0!important}.mr-lg-0,.mx-lg-0{margin-right:0!important}.mb-lg-0,.my-lg-0{margin-bottom:0!important}.ml-lg-0,.mx-lg-0{margin-left:0!important}.m-lg-1{margin:.25rem!important}.mt-lg-1,.my-lg-1{margin-top:.25rem!important}.mr-lg-1,.mx-lg-1{margin-right:.25rem!important}.mb-lg-1,.my-lg-1{margin-bottom:.25rem!important}.ml-lg-1,.mx-lg-1{margin-left:.25rem!important}.m-lg-2{margin:.5rem!important}.mt-lg-2,.my-lg-2{margin-top:.5rem!important}.mr-lg-2,.mx-lg-2{margin-right:.5rem!important}.mb-lg-2,.my-lg-2{margin-bottom:.5rem!important}.ml-lg-2,.mx-lg-2{margin-left:.5rem!important}.m-lg-3{margin:1rem!important}.mt-lg-3,.my-lg-3{margin-top:1rem!important}.mr-lg-3,.mx-lg-3{margin-right:1rem!important}.mb-lg-3,.my-lg-3{margin-bottom:1rem!important}.ml-lg-3,.mx-lg-3{margin-left:1rem!important}.m-lg-4{margin:1.5rem!important}.mt-lg-4,.my-lg-4{margin-top:1.5rem!important}.mr-lg-4,.mx-lg-4{margin-right:1.5rem!important}.mb-lg-4,.my-lg-4{margin-bottom:1.5rem!important}.ml-lg-4,.mx-lg-4{margin-left:1.5rem!important}.m-lg-5{margin:3rem!important}.mt-lg-5,.my-lg-5{margin-top:3rem!important}.mr-lg-5,.mx-lg-5{margin-right:3rem!important}.mb-lg-5,.my-lg-5{margin-bottom:3rem!important}.ml-lg-5,.mx-lg-5{margin-left:3rem!important}.p-lg-0{padding:0!important}.pt-lg-0,.py-lg-0{padding-top:0!important}.pr-lg-0,.px-lg-0{padding-right:0!important}.pb-lg-0,.py-lg-0{padding-bottom:0!important}.pl-lg-0,.px-lg-0{padding-left:0!important}.p-lg-1{padding:.25rem!important}.pt-lg-1,.py-lg-1{padding-top:.25rem!important}.pr-lg-1,.px-lg-1{padding-right:.25rem!important}.pb-lg-1,.py-lg-1{padding-bottom:.25rem!important}.pl-lg-1,.px-lg-1{padding-left:.25rem!important}.p-lg-2{padding:.5rem!important}.pt-lg-2,.py-lg-2{padding-top:.5rem!important}.pr-lg-2,.px-lg-2{padding-right:.5rem!important}.pb-lg-2,.py-lg-2{padding-bottom:.5rem!important}.pl-lg-2,.px-lg-2{padding-left:.5rem!important}.p-lg-3{padding:1rem!important}.pt-lg-3,.py-lg-3{padding-top:1rem!important}.pr-lg-3,.px-lg-3{padding-right:1rem!important}.pb-lg-3,.py-lg-3{padding-bottom:1rem!important}.pl-lg-3,.px-lg-3{padding-left:1rem!important}.p-lg-4{padding:1.5rem!important}.pt-lg-4,.py-lg-4{padding-top:1.5rem!important}.pr-lg-4,.px-lg-4{padding-right:1.5rem!important}.pb-lg-4,.py-lg-4{padding-bottom:1.5rem!important}.pl-lg-4,.px-lg-4{padding-left:1.5rem!important}.p-lg-5{padding:3rem!important}.pt-lg-5,.py-lg-5{padding-top:3rem!important}.pr-lg-5,.px-lg-5{padding-right:3rem!important}.pb-lg-5,.py-lg-5{padding-bottom:3rem!important}.pl-lg-5,.px-lg-5{padding-left:3rem!important}.m-lg-n1{margin:-.25rem!important}.mt-lg-n1,.my-lg-n1{margin-top:-.25rem!important}.mr-lg-n1,.mx-lg-n1{margin-right:-.25rem!important}.mb-lg-n1,.my-lg-n1{margin-bottom:-.25rem!important}.ml-lg-n1,.mx-lg-n1{margin-left:-.25rem!important}.m-lg-n2{margin:-.5rem!important}.mt-lg-n2,.my-lg-n2{margin-top:-.5rem!important}.mr-lg-n2,.mx-lg-n2{margin-right:-.5rem!important}.mb-lg-n2,.my-lg-n2{margin-bottom:-.5rem!important}.ml-lg-n2,.mx-lg-n2{margin-left:-.5rem!important}.m-lg-n3{margin:-1rem!important}.mt-lg-n3,.my-lg-n3{margin-top:-1rem!important}.mr-lg-n3,.mx-lg-n3{margin-right:-1rem!important}.mb-lg-n3,.my-lg-n3{margin-bottom:-1rem!important}.ml-lg-n3,.mx-lg-n3{margin-left:-1rem!important}.m-lg-n4{margin:-1.5rem!important}.mt-lg-n4,.my-lg-n4{margin-top:-1.5rem!important}.mr-lg-n4,.mx-lg-n4{margin-right:-1.5rem!important}.mb-lg-n4,.my-lg-n4{margin-bottom:-1.5rem!important}.ml-lg-n4,.mx-lg-n4{margin-left:-1.5rem!important}.m-lg-n5{margin:-3rem!important}.mt-lg-n5,.my-lg-n5{margin-top:-3rem!important}.mr-lg-n5,.mx-lg-n5{margin-right:-3rem!important}.mb-lg-n5,.my-lg-n5{margin-bottom:-3rem!important}.ml-lg-n5,.mx-lg-n5{margin-left:-3rem!important}.m-lg-auto{margin:auto!important}.mt-lg-auto,.my-lg-auto{margin-top:auto!important}.mr-lg-auto,.mx-lg-auto{margin-right:auto!important}.mb-lg-auto,.my-lg-auto{margin-bottom:auto!important}.ml-lg-auto,.mx-lg-auto{margin-left:auto!important}}@media (min-width:1200px){.m-xl-0{margin:0!important}.mt-xl-0,.my-xl-0{margin-top:0!important}.mr-xl-0,.mx-xl-0{margin-right:0!important}.mb-xl-0,.my-xl-0{margin-bottom:0!important}.ml-xl-0,.mx-xl-0{margin-left:0!important}.m-xl-1{margin:.25rem!important}.mt-xl-1,.my-xl-1{margin-top:.25rem!important}.mr-xl-1,.mx-xl-1{margin-right:.25rem!important}.mb-xl-1,.my-xl-1{margin-bottom:.25rem!important}.ml-xl-1,.mx-xl-1{margin-left:.25rem!important}.m-xl-2{margin:.5rem!important}.mt-xl-2,.my-xl-2{margin-top:.5rem!important}.mr-xl-2,.mx-xl-2{margin-right:.5rem!important}.mb-xl-2,.my-xl-2{margin-bottom:.5rem!important}.ml-xl-2,.mx-xl-2{margin-left:.5rem!important}.m-xl-3{margin:1rem!important}.mt-xl-3,.my-xl-3{margin-top:1rem!important}.mr-xl-3,.mx-xl-3{margin-right:1rem!important}.mb-xl-3,.my-xl-3{margin-bottom:1rem!important}.ml-xl-3,.mx-xl-3{margin-left:1rem!important}.m-xl-4{margin:1.5rem!important}.mt-xl-4,.my-xl-4{margin-top:1.5rem!important}.mr-xl-4,.mx-xl-4{margin-right:1.5rem!important}.mb-xl-4,.my-xl-4{margin-bottom:1.5rem!important}.ml-xl-4,.mx-xl-4{margin-left:1.5rem!important}.m-xl-5{margin:3rem!important}.mt-xl-5,.my-xl-5{margin-top:3rem!important}.mr-xl-5,.mx-xl-5{margin-right:3rem!important}.mb-xl-5,.my-xl-5{margin-bottom:3rem!important}.ml-xl-5,.mx-xl-5{margin-left:3rem!important}.p-xl-0{padding:0!important}.pt-xl-0,.py-xl-0{padding-top:0!important}.pr-xl-0,.px-xl-0{padding-right:0!important}.pb-xl-0,.py-xl-0{padding-bottom:0!important}.pl-xl-0,.px-xl-0{padding-left:0!important}.p-xl-1{padding:.25rem!important}.pt-xl-1,.py-xl-1{padding-top:.25rem!important}.pr-xl-1,.px-xl-1{padding-right:.25rem!important}.pb-xl-1,.py-xl-1{padding-bottom:.25rem!important}.pl-xl-1,.px-xl-1{padding-left:.25rem!important}.p-xl-2{padding:.5rem!important}.pt-xl-2,.py-xl-2{padding-top:.5rem!important}.pr-xl-2,.px-xl-2{padding-right:.5rem!important}.pb-xl-2,.py-xl-2{padding-bottom:.5rem!important}.pl-xl-2,.px-xl-2{padding-left:.5rem!important}.p-xl-3{padding:1rem!important}.pt-xl-3,.py-xl-3{padding-top:1rem!important}.pr-xl-3,.px-xl-3{padding-right:1rem!important}.pb-xl-3,.py-xl-3{padding-bottom:1rem!important}.pl-xl-3,.px-xl-3{padding-left:1rem!important}.p-xl-4{padding:1.5rem!important}.pt-xl-4,.py-xl-4{padding-top:1.5rem!important}.pr-xl-4,.px-xl-4{padding-right:1.5rem!important}.pb-xl-4,.py-xl-4{padding-bottom:1.5rem!important}.pl-xl-4,.px-xl-4{padding-left:1.5rem!important}.p-xl-5{padding:3rem!important}.pt-xl-5,.py-xl-5{padding-top:3rem!important}.pr-xl-5,.px-xl-5{padding-right:3rem!important}.pb-xl-5,.py-xl-5{padding-bottom:3rem!important}.pl-xl-5,.px-xl-5{padding-left:3rem!important}.m-xl-n1{margin:-.25rem!important}.mt-xl-n1,.my-xl-n1{margin-top:-.25rem!important}.mr-xl-n1,.mx-xl-n1{margin-right:-.25rem!important}.mb-xl-n1,.my-xl-n1{margin-bottom:-.25rem!important}.ml-xl-n1,.mx-xl-n1{margin-left:-.25rem!important}.m-xl-n2{margin:-.5rem!important}.mt-xl-n2,.my-xl-n2{margin-top:-.5rem!important}.mr-xl-n2,.mx-xl-n2{margin-right:-.5rem!important}.mb-xl-n2,.my-xl-n2{margin-bottom:-.5rem!important}.ml-xl-n2,.mx-xl-n2{margin-left:-.5rem!important}.m-xl-n3{margin:-1rem!important}.mt-xl-n3,.my-xl-n3{margin-top:-1rem!important}.mr-xl-n3,.mx-xl-n3{margin-right:-1rem!important}.mb-xl-n3,.my-xl-n3{margin-bottom:-1rem!important}.ml-xl-n3,.mx-xl-n3{margin-left:-1rem!important}.m-xl-n4{margin:-1.5rem!important}.mt-xl-n4,.my-xl-n4{margin-top:-1.5rem!important}.mr-xl-n4,.mx-xl-n4{margin-right:-1.5rem!important}.mb-xl-n4,.my-xl-n4{margin-bottom:-1.5rem!important}.ml-xl-n4,.mx-xl-n4{margin-left:-1.5rem!important}.m-xl-n5{margin:-3rem!important}.mt-xl-n5,.my-xl-n5{margin-top:-3rem!important}.mr-xl-n5,.mx-xl-n5{margin-right:-3rem!important}.mb-xl-n5,.my-xl-n5{margin-bottom:-3rem!important}.ml-xl-n5,.mx-xl-n5{margin-left:-3rem!important}.m-xl-auto{margin:auto!important}.mt-xl-auto,.my-xl-auto{margin-top:auto!important}.mr-xl-auto,.mx-xl-auto{margin-right:auto!important}.mb-xl-auto,.my-xl-auto{margin-bottom:auto!important}.ml-xl-auto,.mx-xl-auto{margin-left:auto!important}}.text-monospace{font-family:SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace!important}.text-justify{text-align:justify!important}.text-wrap{white-space:normal!important}.text-nowrap{white-space:nowrap!important}.text-truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.text-left{text-align:left!important}.text-right{text-align:right!important}.text-center{text-align:center!important}@media (min-width:576px){.text-sm-left{text-align:left!important}.text-sm-right{text-align:right!important}.text-sm-center{text-align:center!important}}@media (min-width:768px){.text-md-left{text-align:left!important}.text-md-right{text-align:right!important}.text-md-center{text-align:center!important}}@media (min-width:992px){.text-lg-left{text-align:left!important}.text-lg-right{text-align:right!important}.text-lg-center{text-align:center!important}}@media (min-width:1200px){.text-xl-left{text-align:left!important}.text-xl-right{text-align:right!important}.text-xl-center{text-align:center!important}}.text-lowercase{text-transform:lowercase!important}.text-uppercase{text-transform:uppercase!important}.text-capitalize{text-transform:capitalize!important}.font-weight-light{font-weight:300!important}.font-weight-lighter{font-weight:lighter!important}.font-weight-normal{font-weight:400!important}.font-weight-bold{font-weight:700!important}.font-weight-bolder{font-weight:bolder!important}.font-italic{font-style:italic!important}.text-white{color:#fff!important}.text-primary{color:#007bff!important}a.text-primary:focus,a.text-primary:hover{color:#0056b3!important}.text-secondary{color:#6c757d!important}a.text-secondary:focus,a.text-secondary:hover{color:#494f54!important}.text-success{color:#28a745!important}a.text-success:focus,a.text-success:hover{color:#19692c!important}.text-info{color:#17a2b8!important}a.text-info:focus,a.text-info:hover{color:#0f6674!important}.text-warning{color:#ffc107!important}a.text-warning:focus,a.text-warning:hover{color:#ba8b00!important}.text-danger{color:#dc3545!important}a.text-danger:focus,a.text-danger:hover{color:#a71d2a!important}.text-light{color:#f8f9fa!important}a.text-light:focus,a.text-light:hover{color:#cbd3da!important}.text-dark{color:#343a40!important}a.text-dark:focus,a.text-dark:hover{color:#121416!important}.text-body{color:#212529!important}.text-muted{color:#6c757d!important}.text-black-50{color:rgba(0,0,0,.5)!important}.text-white-50{color:hsla(0,0%,100%,.5)!important}.text-hide{font:0/0 a;color:transparent;text-shadow:none;background-color:transparent;border:0}.text-decoration-none{text-decoration:none!important}.text-break{word-break:break-word!important;overflow-wrap:break-word!important}.text-reset{color:inherit!important}.visible{visibility:visible!important}.invisible{visibility:hidden!important}@media print{*,:after,:before{text-shadow:none!important;box-shadow:none!important}a:not(.btn){text-decoration:underline}abbr[title]:after{content:" (" attr(title) ")"}pre{white-space:pre-wrap!important}blockquote,pre{border:1px solid #adb5bd;page-break-inside:avoid}thead{display:table-header-group}img,tr{page-break-inside:avoid}h2,h3,p{orphans:3;widows:3}h2,h3{page-break-after:avoid}@page{size:a3}.container,body{min-width:992px!important}.navbar{display:none}.badge{border:1px solid #000}.table{border-collapse:collapse!important}.table td,.table th{background-color:#fff!important}.table-bordered td,.table-bordered th{border:1px solid #dee2e6!important}.table-dark{color:inherit}.table-dark tbody+tbody,.table-dark td,.table-dark th,.table-dark thead th{border-color:#dee2e6}.table .thead-dark th{color:inherit;border-color:#dee2e6}}[data-aos][data-aos][data-aos-duration="50"],body[data-aos-duration="50"] [data-aos]{transition-duration:50ms}[data-aos][data-aos][data-aos-delay="50"],body[data-aos-delay="50"] [data-aos]{transition-delay:0s}[data-aos][data-aos][data-aos-delay="50"].aos-animate,body[data-aos-delay="50"] [data-aos].aos-animate{transition-delay:50ms}[data-aos][data-aos][data-aos-duration="100"],body[data-aos-duration="100"] [data-aos]{transition-duration:.1s}[data-aos][data-aos][data-aos-delay="100"],body[data-aos-delay="100"] [data-aos]{transition-delay:0s}[data-aos][data-aos][data-aos-delay="100"].aos-animate,body[data-aos-delay="100"] [data-aos].aos-animate{transition-delay:.1s}[data-aos][data-aos][data-aos-duration="150"],body[data-aos-duration="150"] [data-aos]{transition-duration:.15s}[data-aos][data-aos][data-aos-delay="150"],body[data-aos-delay="150"] [data-aos]{transition-delay:0s}[data-aos][data-aos][data-aos-delay="150"].aos-animate,body[data-aos-delay="150"] [data-aos].aos-animate{transition-delay:.15s}[data-aos][data-aos][data-aos-duration="200"],body[data-aos-duration="200"] [data-aos]{transition-duration:.2s}[data-aos][data-aos][data-aos-delay="200"],body[data-aos-delay="200"] [data-aos]{transition-delay:0s}[data-aos][data-aos][data-aos-delay="200"].aos-animate,body[data-aos-delay="200"] [data-aos].aos-animate{transition-delay:.2s}[data-aos][data-aos][data-aos-duration="250"],body[data-aos-duration="250"] [data-aos]{transition-duration:.25s}[data-aos][data-aos][data-aos-delay="250"],body[data-aos-delay="250"] [data-aos]{transition-delay:0s}[data-aos][data-aos][data-aos-delay="250"].aos-animate,body[data-aos-delay="250"] [data-aos].aos-animate{transition-delay:.25s}[data-aos][data-aos][data-aos-duration="300"],body[data-aos-duration="300"] [data-aos]{transition-duration:.3s}[data-aos][data-aos][data-aos-delay="300"],body[data-aos-delay="300"] [data-aos]{transition-delay:0s}[data-aos][data-aos][data-aos-delay="300"].aos-animate,body[data-aos-delay="300"] [data-aos].aos-animate{transition-delay:.3s}[data-aos][data-aos][data-aos-duration="350"],body[data-aos-duration="350"] [data-aos]{transition-duration:.35s}[data-aos][data-aos][data-aos-delay="350"],body[data-aos-delay="350"] [data-aos]{transition-delay:0s}[data-aos][data-aos][data-aos-delay="350"].aos-animate,body[data-aos-delay="350"] [data-aos].aos-animate{transition-delay:.35s}[data-aos][data-aos][data-aos-duration="400"],body[data-aos-duration="400"] [data-aos]{transition-duration:.4s}[data-aos][data-aos][data-aos-delay="400"],body[data-aos-delay="400"] [data-aos]{transition-delay:0s}[data-aos][data-aos][data-aos-delay="400"].aos-animate,body[data-aos-delay="400"] [data-aos].aos-animate{transition-delay:.4s}[data-aos][data-aos][data-aos-duration="450"],body[data-aos-duration="450"] [data-aos]{transition-duration:.45s}[data-aos][data-aos][data-aos-delay="450"],body[data-aos-delay="450"] [data-aos]{transition-delay:0s}[data-aos][data-aos][data-aos-delay="450"].aos-animate,body[data-aos-delay="450"] [data-aos].aos-animate{transition-delay:.45s}[data-aos][data-aos][data-aos-duration="500"],body[data-aos-duration="500"] [data-aos]{transition-duration:.5s}[data-aos][data-aos][data-aos-delay="500"],body[data-aos-delay="500"] [data-aos]{transition-delay:0s}[data-aos][data-aos][data-aos-delay="500"].aos-animate,body[data-aos-delay="500"] [data-aos].aos-animate{transition-delay:.5s}[data-aos][data-aos][data-aos-duration="550"],body[data-aos-duration="550"] [data-aos]{transition-duration:.55s}[data-aos][data-aos][data-aos-delay="550"],body[data-aos-delay="550"] [data-aos]{transition-delay:0s}[data-aos][data-aos][data-aos-delay="550"].aos-animate,body[data-aos-delay="550"] [data-aos].aos-animate{transition-delay:.55s}[data-aos][data-aos][data-aos-duration="600"],body[data-aos-duration="600"] [data-aos]{transition-duration:.6s}[data-aos][data-aos][data-aos-delay="600"],body[data-aos-delay="600"] [data-aos]{transition-delay:0s}[data-aos][data-aos][data-aos-delay="600"].aos-animate,body[data-aos-delay="600"] [data-aos].aos-animate{transition-delay:.6s}[data-aos][data-aos][data-aos-duration="650"],body[data-aos-duration="650"] [data-aos]{transition-duration:.65s}[data-aos][data-aos][data-aos-delay="650"],body[data-aos-delay="650"] [data-aos]{transition-delay:0s}[data-aos][data-aos][data-aos-delay="650"].aos-animate,body[data-aos-delay="650"] [data-aos].aos-animate{transition-delay:.65s}[data-aos][data-aos][data-aos-duration="700"],body[data-aos-duration="700"] [data-aos]{transition-duration:.7s}[data-aos][data-aos][data-aos-delay="700"],body[data-aos-delay="700"] [data-aos]{transition-delay:0s}[data-aos][data-aos][data-aos-delay="700"].aos-animate,body[data-aos-delay="700"] [data-aos].aos-animate{transition-delay:.7s}[data-aos][data-aos][data-aos-duration="750"],body[data-aos-duration="750"] [data-aos]{transition-duration:.75s}[data-aos][data-aos][data-aos-delay="750"],body[data-aos-delay="750"] [data-aos]{transition-delay:0s}[data-aos][data-aos][data-aos-delay="750"].aos-animate,body[data-aos-delay="750"] [data-aos].aos-animate{transition-delay:.75s}[data-aos][data-aos][data-aos-duration="800"],body[data-aos-duration="800"] [data-aos]{transition-duration:.8s}[data-aos][data-aos][data-aos-delay="800"],body[data-aos-delay="800"] [data-aos]{transition-delay:0s}[data-aos][data-aos][data-aos-delay="800"].aos-animate,body[data-aos-delay="800"] [data-aos].aos-animate{transition-delay:.8s}[data-aos][data-aos][data-aos-duration="850"],body[data-aos-duration="850"] [data-aos]{transition-duration:.85s}[data-aos][data-aos][data-aos-delay="850"],body[data-aos-delay="850"] [data-aos]{transition-delay:0s}[data-aos][data-aos][data-aos-delay="850"].aos-animate,body[data-aos-delay="850"] [data-aos].aos-animate{transition-delay:.85s}[data-aos][data-aos][data-aos-duration="900"],body[data-aos-duration="900"] [data-aos]{transition-duration:.9s}[data-aos][data-aos][data-aos-delay="900"],body[data-aos-delay="900"] [data-aos]{transition-delay:0s}[data-aos][data-aos][data-aos-delay="900"].aos-animate,body[data-aos-delay="900"] [data-aos].aos-animate{transition-delay:.9s}[data-aos][data-aos][data-aos-duration="950"],body[data-aos-duration="950"] [data-aos]{transition-duration:.95s}[data-aos][data-aos][data-aos-delay="950"],body[data-aos-delay="950"] [data-aos]{transition-delay:0s}[data-aos][data-aos][data-aos-delay="950"].aos-animate,body[data-aos-delay="950"] [data-aos].aos-animate{transition-delay:.95s}[data-aos][data-aos][data-aos-duration="1000"],body[data-aos-duration="1000"] [data-aos]{transition-duration:1s}[data-aos][data-aos][data-aos-delay="1000"],body[data-aos-delay="1000"] [data-aos]{transition-delay:0s}[data-aos][data-aos][data-aos-delay="1000"].aos-animate,body[data-aos-delay="1000"] [data-aos].aos-animate{transition-delay:1s}[data-aos][data-aos][data-aos-duration="1050"],body[data-aos-duration="1050"] [data-aos]{transition-duration:1.05s}[data-aos][data-aos][data-aos-delay="1050"],body[data-aos-delay="1050"] [data-aos]{transition-delay:0s}[data-aos][data-aos][data-aos-delay="1050"].aos-animate,body[data-aos-delay="1050"] [data-aos].aos-animate{transition-delay:1.05s}[data-aos][data-aos][data-aos-duration="1100"],body[data-aos-duration="1100"] [data-aos]{transition-duration:1.1s}[data-aos][data-aos][data-aos-delay="1100"],body[data-aos-delay="1100"] [data-aos]{transition-delay:0s}[data-aos][data-aos][data-aos-delay="1100"].aos-animate,body[data-aos-delay="1100"] [data-aos].aos-animate{transition-delay:1.1s}[data-aos][data-aos][data-aos-duration="1150"],body[data-aos-duration="1150"] [data-aos]{transition-duration:1.15s}[data-aos][data-aos][data-aos-delay="1150"],body[data-aos-delay="1150"] [data-aos]{transition-delay:0s}[data-aos][data-aos][data-aos-delay="1150"].aos-animate,body[data-aos-delay="1150"] [data-aos].aos-animate{transition-delay:1.15s}[data-aos][data-aos][data-aos-duration="1200"],body[data-aos-duration="1200"] [data-aos]{transition-duration:1.2s}[data-aos][data-aos][data-aos-delay="1200"],body[data-aos-delay="1200"] [data-aos]{transition-delay:0s}[data-aos][data-aos][data-aos-delay="1200"].aos-animate,body[data-aos-delay="1200"] [data-aos].aos-animate{transition-delay:1.2s}[data-aos][data-aos][data-aos-duration="1250"],body[data-aos-duration="1250"] [data-aos]{transition-duration:1.25s}[data-aos][data-aos][data-aos-delay="1250"],body[data-aos-delay="1250"] [data-aos]{transition-delay:0s}[data-aos][data-aos][data-aos-delay="1250"].aos-animate,body[data-aos-delay="1250"] [data-aos].aos-animate{transition-delay:1.25s}[data-aos][data-aos][data-aos-duration="1300"],body[data-aos-duration="1300"] [data-aos]{transition-duration:1.3s}[data-aos][data-aos][data-aos-delay="1300"],body[data-aos-delay="1300"] [data-aos]{transition-delay:0s}[data-aos][data-aos][data-aos-delay="1300"].aos-animate,body[data-aos-delay="1300"] [data-aos].aos-animate{transition-delay:1.3s}[data-aos][data-aos][data-aos-duration="1350"],body[data-aos-duration="1350"] [data-aos]{transition-duration:1.35s}[data-aos][data-aos][data-aos-delay="1350"],body[data-aos-delay="1350"] [data-aos]{transition-delay:0s}[data-aos][data-aos][data-aos-delay="1350"].aos-animate,body[data-aos-delay="1350"] [data-aos].aos-animate{transition-delay:1.35s}[data-aos][data-aos][data-aos-duration="1400"],body[data-aos-duration="1400"] [data-aos]{transition-duration:1.4s}[data-aos][data-aos][data-aos-delay="1400"],body[data-aos-delay="1400"] [data-aos]{transition-delay:0s}[data-aos][data-aos][data-aos-delay="1400"].aos-animate,body[data-aos-delay="1400"] [data-aos].aos-animate{transition-delay:1.4s}[data-aos][data-aos][data-aos-duration="1450"],body[data-aos-duration="1450"] [data-aos]{transition-duration:1.45s}[data-aos][data-aos][data-aos-delay="1450"],body[data-aos-delay="1450"] [data-aos]{transition-delay:0s}[data-aos][data-aos][data-aos-delay="1450"].aos-animate,body[data-aos-delay="1450"] [data-aos].aos-animate{transition-delay:1.45s}[data-aos][data-aos][data-aos-duration="1500"],body[data-aos-duration="1500"] [data-aos]{transition-duration:1.5s}[data-aos][data-aos][data-aos-delay="1500"],body[data-aos-delay="1500"] [data-aos]{transition-delay:0s}[data-aos][data-aos][data-aos-delay="1500"].aos-animate,body[data-aos-delay="1500"] [data-aos].aos-animate{transition-delay:1.5s}[data-aos][data-aos][data-aos-duration="1550"],body[data-aos-duration="1550"] [data-aos]{transition-duration:1.55s}[data-aos][data-aos][data-aos-delay="1550"],body[data-aos-delay="1550"] [data-aos]{transition-delay:0s}[data-aos][data-aos][data-aos-delay="1550"].aos-animate,body[data-aos-delay="1550"] [data-aos].aos-animate{transition-delay:1.55s}[data-aos][data-aos][data-aos-duration="1600"],body[data-aos-duration="1600"] [data-aos]{transition-duration:1.6s}[data-aos][data-aos][data-aos-delay="1600"],body[data-aos-delay="1600"] [data-aos]{transition-delay:0s}[data-aos][data-aos][data-aos-delay="1600"].aos-animate,body[data-aos-delay="1600"] [data-aos].aos-animate{transition-delay:1.6s}[data-aos][data-aos][data-aos-duration="1650"],body[data-aos-duration="1650"] [data-aos]{transition-duration:1.65s}[data-aos][data-aos][data-aos-delay="1650"],body[data-aos-delay="1650"] [data-aos]{transition-delay:0s}[data-aos][data-aos][data-aos-delay="1650"].aos-animate,body[data-aos-delay="1650"] [data-aos].aos-animate{transition-delay:1.65s}[data-aos][data-aos][data-aos-duration="1700"],body[data-aos-duration="1700"] [data-aos]{transition-duration:1.7s}[data-aos][data-aos][data-aos-delay="1700"],body[data-aos-delay="1700"] [data-aos]{transition-delay:0s}[data-aos][data-aos][data-aos-delay="1700"].aos-animate,body[data-aos-delay="1700"] [data-aos].aos-animate{transition-delay:1.7s}[data-aos][data-aos][data-aos-duration="1750"],body[data-aos-duration="1750"] [data-aos]{transition-duration:1.75s}[data-aos][data-aos][data-aos-delay="1750"],body[data-aos-delay="1750"] [data-aos]{transition-delay:0s}[data-aos][data-aos][data-aos-delay="1750"].aos-animate,body[data-aos-delay="1750"] [data-aos].aos-animate{transition-delay:1.75s}[data-aos][data-aos][data-aos-duration="1800"],body[data-aos-duration="1800"] [data-aos]{transition-duration:1.8s}[data-aos][data-aos][data-aos-delay="1800"],body[data-aos-delay="1800"] [data-aos]{transition-delay:0s}[data-aos][data-aos][data-aos-delay="1800"].aos-animate,body[data-aos-delay="1800"] [data-aos].aos-animate{transition-delay:1.8s}[data-aos][data-aos][data-aos-duration="1850"],body[data-aos-duration="1850"] [data-aos]{transition-duration:1.85s}[data-aos][data-aos][data-aos-delay="1850"],body[data-aos-delay="1850"] [data-aos]{transition-delay:0s}[data-aos][data-aos][data-aos-delay="1850"].aos-animate,body[data-aos-delay="1850"] [data-aos].aos-animate{transition-delay:1.85s}[data-aos][data-aos][data-aos-duration="1900"],body[data-aos-duration="1900"] [data-aos]{transition-duration:1.9s}[data-aos][data-aos][data-aos-delay="1900"],body[data-aos-delay="1900"] [data-aos]{transition-delay:0s}[data-aos][data-aos][data-aos-delay="1900"].aos-animate,body[data-aos-delay="1900"] [data-aos].aos-animate{transition-delay:1.9s}[data-aos][data-aos][data-aos-duration="1950"],body[data-aos-duration="1950"] [data-aos]{transition-duration:1.95s}[data-aos][data-aos][data-aos-delay="1950"],body[data-aos-delay="1950"] [data-aos]{transition-delay:0s}[data-aos][data-aos][data-aos-delay="1950"].aos-animate,body[data-aos-delay="1950"] [data-aos].aos-animate{transition-delay:1.95s}[data-aos][data-aos][data-aos-duration="2000"],body[data-aos-duration="2000"] [data-aos]{transition-duration:2s}[data-aos][data-aos][data-aos-delay="2000"],body[data-aos-delay="2000"] [data-aos]{transition-delay:0s}[data-aos][data-aos][data-aos-delay="2000"].aos-animate,body[data-aos-delay="2000"] [data-aos].aos-animate{transition-delay:2s}[data-aos][data-aos][data-aos-duration="2050"],body[data-aos-duration="2050"] [data-aos]{transition-duration:2.05s}[data-aos][data-aos][data-aos-delay="2050"],body[data-aos-delay="2050"] [data-aos]{transition-delay:0s}[data-aos][data-aos][data-aos-delay="2050"].aos-animate,body[data-aos-delay="2050"] [data-aos].aos-animate{transition-delay:2.05s}[data-aos][data-aos][data-aos-duration="2100"],body[data-aos-duration="2100"] [data-aos]{transition-duration:2.1s}[data-aos][data-aos][data-aos-delay="2100"],body[data-aos-delay="2100"] [data-aos]{transition-delay:0s}[data-aos][data-aos][data-aos-delay="2100"].aos-animate,body[data-aos-delay="2100"] [data-aos].aos-animate{transition-delay:2.1s}[data-aos][data-aos][data-aos-duration="2150"],body[data-aos-duration="2150"] [data-aos]{transition-duration:2.15s}[data-aos][data-aos][data-aos-delay="2150"],body[data-aos-delay="2150"] [data-aos]{transition-delay:0s}[data-aos][data-aos][data-aos-delay="2150"].aos-animate,body[data-aos-delay="2150"] [data-aos].aos-animate{transition-delay:2.15s}[data-aos][data-aos][data-aos-duration="2200"],body[data-aos-duration="2200"] [data-aos]{transition-duration:2.2s}[data-aos][data-aos][data-aos-delay="2200"],body[data-aos-delay="2200"] [data-aos]{transition-delay:0s}[data-aos][data-aos][data-aos-delay="2200"].aos-animate,body[data-aos-delay="2200"] [data-aos].aos-animate{transition-delay:2.2s}[data-aos][data-aos][data-aos-duration="2250"],body[data-aos-duration="2250"] [data-aos]{transition-duration:2.25s}[data-aos][data-aos][data-aos-delay="2250"],body[data-aos-delay="2250"] [data-aos]{transition-delay:0s}[data-aos][data-aos][data-aos-delay="2250"].aos-animate,body[data-aos-delay="2250"] [data-aos].aos-animate{transition-delay:2.25s}[data-aos][data-aos][data-aos-duration="2300"],body[data-aos-duration="2300"] [data-aos]{transition-duration:2.3s}[data-aos][data-aos][data-aos-delay="2300"],body[data-aos-delay="2300"] [data-aos]{transition-delay:0s}[data-aos][data-aos][data-aos-delay="2300"].aos-animate,body[data-aos-delay="2300"] [data-aos].aos-animate{transition-delay:2.3s}[data-aos][data-aos][data-aos-duration="2350"],body[data-aos-duration="2350"] [data-aos]{transition-duration:2.35s}[data-aos][data-aos][data-aos-delay="2350"],body[data-aos-delay="2350"] [data-aos]{transition-delay:0s}[data-aos][data-aos][data-aos-delay="2350"].aos-animate,body[data-aos-delay="2350"] [data-aos].aos-animate{transition-delay:2.35s}[data-aos][data-aos][data-aos-duration="2400"],body[data-aos-duration="2400"] [data-aos]{transition-duration:2.4s}[data-aos][data-aos][data-aos-delay="2400"],body[data-aos-delay="2400"] [data-aos]{transition-delay:0s}[data-aos][data-aos][data-aos-delay="2400"].aos-animate,body[data-aos-delay="2400"] [data-aos].aos-animate{transition-delay:2.4s}[data-aos][data-aos][data-aos-duration="2450"],body[data-aos-duration="2450"] [data-aos]{transition-duration:2.45s}[data-aos][data-aos][data-aos-delay="2450"],body[data-aos-delay="2450"] [data-aos]{transition-delay:0s}[data-aos][data-aos][data-aos-delay="2450"].aos-animate,body[data-aos-delay="2450"] [data-aos].aos-animate{transition-delay:2.45s}[data-aos][data-aos][data-aos-duration="2500"],body[data-aos-duration="2500"] [data-aos]{transition-duration:2.5s}[data-aos][data-aos][data-aos-delay="2500"],body[data-aos-delay="2500"] [data-aos]{transition-delay:0s}[data-aos][data-aos][data-aos-delay="2500"].aos-animate,body[data-aos-delay="2500"] [data-aos].aos-animate{transition-delay:2.5s}[data-aos][data-aos][data-aos-duration="2550"],body[data-aos-duration="2550"] [data-aos]{transition-duration:2.55s}[data-aos][data-aos][data-aos-delay="2550"],body[data-aos-delay="2550"] [data-aos]{transition-delay:0s}[data-aos][data-aos][data-aos-delay="2550"].aos-animate,body[data-aos-delay="2550"] [data-aos].aos-animate{transition-delay:2.55s}[data-aos][data-aos][data-aos-duration="2600"],body[data-aos-duration="2600"] [data-aos]{transition-duration:2.6s}[data-aos][data-aos][data-aos-delay="2600"],body[data-aos-delay="2600"] [data-aos]{transition-delay:0s}[data-aos][data-aos][data-aos-delay="2600"].aos-animate,body[data-aos-delay="2600"] [data-aos].aos-animate{transition-delay:2.6s}[data-aos][data-aos][data-aos-duration="2650"],body[data-aos-duration="2650"] [data-aos]{transition-duration:2.65s}[data-aos][data-aos][data-aos-delay="2650"],body[data-aos-delay="2650"] [data-aos]{transition-delay:0s}[data-aos][data-aos][data-aos-delay="2650"].aos-animate,body[data-aos-delay="2650"] [data-aos].aos-animate{transition-delay:2.65s}[data-aos][data-aos][data-aos-duration="2700"],body[data-aos-duration="2700"] [data-aos]{transition-duration:2.7s}[data-aos][data-aos][data-aos-delay="2700"],body[data-aos-delay="2700"] [data-aos]{transition-delay:0s}[data-aos][data-aos][data-aos-delay="2700"].aos-animate,body[data-aos-delay="2700"] [data-aos].aos-animate{transition-delay:2.7s}[data-aos][data-aos][data-aos-duration="2750"],body[data-aos-duration="2750"] [data-aos]{transition-duration:2.75s}[data-aos][data-aos][data-aos-delay="2750"],body[data-aos-delay="2750"] [data-aos]{transition-delay:0s}[data-aos][data-aos][data-aos-delay="2750"].aos-animate,body[data-aos-delay="2750"] [data-aos].aos-animate{transition-delay:2.75s}[data-aos][data-aos][data-aos-duration="2800"],body[data-aos-duration="2800"] [data-aos]{transition-duration:2.8s}[data-aos][data-aos][data-aos-delay="2800"],body[data-aos-delay="2800"] [data-aos]{transition-delay:0s}[data-aos][data-aos][data-aos-delay="2800"].aos-animate,body[data-aos-delay="2800"] [data-aos].aos-animate{transition-delay:2.8s}[data-aos][data-aos][data-aos-duration="2850"],body[data-aos-duration="2850"] [data-aos]{transition-duration:2.85s}[data-aos][data-aos][data-aos-delay="2850"],body[data-aos-delay="2850"] [data-aos]{transition-delay:0s}[data-aos][data-aos][data-aos-delay="2850"].aos-animate,body[data-aos-delay="2850"] [data-aos].aos-animate{transition-delay:2.85s}[data-aos][data-aos][data-aos-duration="2900"],body[data-aos-duration="2900"] [data-aos]{transition-duration:2.9s}[data-aos][data-aos][data-aos-delay="2900"],body[data-aos-delay="2900"] [data-aos]{transition-delay:0s}[data-aos][data-aos][data-aos-delay="2900"].aos-animate,body[data-aos-delay="2900"] [data-aos].aos-animate{transition-delay:2.9s}[data-aos][data-aos][data-aos-duration="2950"],body[data-aos-duration="2950"] [data-aos]{transition-duration:2.95s}[data-aos][data-aos][data-aos-delay="2950"],body[data-aos-delay="2950"] [data-aos]{transition-delay:0s}[data-aos][data-aos][data-aos-delay="2950"].aos-animate,body[data-aos-delay="2950"] [data-aos].aos-animate{transition-delay:2.95s}[data-aos][data-aos][data-aos-duration="3000"],body[data-aos-duration="3000"] [data-aos]{transition-duration:3s}[data-aos][data-aos][data-aos-delay="3000"],body[data-aos-delay="3000"] [data-aos]{transition-delay:0s}[data-aos][data-aos][data-aos-delay="3000"].aos-animate,body[data-aos-delay="3000"] [data-aos].aos-animate{transition-delay:3s}[data-aos]{pointer-events:none}[data-aos].aos-animate{pointer-events:auto}[data-aos][data-aos][data-aos-easing=linear],body[data-aos-easing=linear] [data-aos]{transition-timing-function:cubic-bezier(.25,.25,.75,.75)}[data-aos][data-aos][data-aos-easing=ease],body[data-aos-easing=ease] [data-aos]{transition-timing-function:ease}[data-aos][data-aos][data-aos-easing=ease-in],body[data-aos-easing=ease-in] [data-aos]{transition-timing-function:ease-in}[data-aos][data-aos][data-aos-easing=ease-out],body[data-aos-easing=ease-out] [data-aos]{transition-timing-function:ease-out}[data-aos][data-aos][data-aos-easing=ease-in-out],body[data-aos-easing=ease-in-out] [data-aos]{transition-timing-function:ease-in-out}[data-aos][data-aos][data-aos-easing=ease-in-back],body[data-aos-easing=ease-in-back] [data-aos]{transition-timing-function:cubic-bezier(.6,-.28,.735,.045)}[data-aos][data-aos][data-aos-easing=ease-out-back],body[data-aos-easing=ease-out-back] [data-aos]{transition-timing-function:cubic-bezier(.175,.885,.32,1.275)}[data-aos][data-aos][data-aos-easing=ease-in-out-back],body[data-aos-easing=ease-in-out-back] [data-aos]{transition-timing-function:cubic-bezier(.68,-.55,.265,1.55)}[data-aos][data-aos][data-aos-easing=ease-in-sine],body[data-aos-easing=ease-in-sine] [data-aos]{transition-timing-function:cubic-bezier(.47,0,.745,.715)}[data-aos][data-aos][data-aos-easing=ease-out-sine],body[data-aos-easing=ease-out-sine] [data-aos]{transition-timing-function:cubic-bezier(.39,.575,.565,1)}[data-aos][data-aos][data-aos-easing=ease-in-out-sine],body[data-aos-easing=ease-in-out-sine] [data-aos]{transition-timing-function:cubic-bezier(.445,.05,.55,.95)}[data-aos][data-aos][data-aos-easing=ease-in-quad],body[data-aos-easing=ease-in-quad] [data-aos]{transition-timing-function:cubic-bezier(.55,.085,.68,.53)}[data-aos][data-aos][data-aos-easing=ease-out-quad],body[data-aos-easing=ease-out-quad] [data-aos]{transition-timing-function:cubic-bezier(.25,.46,.45,.94)}[data-aos][data-aos][data-aos-easing=ease-in-out-quad],body[data-aos-easing=ease-in-out-quad] [data-aos]{transition-timing-function:cubic-bezier(.455,.03,.515,.955)}[data-aos][data-aos][data-aos-easing=ease-in-cubic],body[data-aos-easing=ease-in-cubic] [data-aos]{transition-timing-function:cubic-bezier(.55,.085,.68,.53)}[data-aos][data-aos][data-aos-easing=ease-out-cubic],body[data-aos-easing=ease-out-cubic] [data-aos]{transition-timing-function:cubic-bezier(.25,.46,.45,.94)}[data-aos][data-aos][data-aos-easing=ease-in-out-cubic],body[data-aos-easing=ease-in-out-cubic] [data-aos]{transition-timing-function:cubic-bezier(.455,.03,.515,.955)}[data-aos][data-aos][data-aos-easing=ease-in-quart],body[data-aos-easing=ease-in-quart] [data-aos]{transition-timing-function:cubic-bezier(.55,.085,.68,.53)}[data-aos][data-aos][data-aos-easing=ease-out-quart],body[data-aos-easing=ease-out-quart] [data-aos]{transition-timing-function:cubic-bezier(.25,.46,.45,.94)}[data-aos][data-aos][data-aos-easing=ease-in-out-quart],body[data-aos-easing=ease-in-out-quart] [data-aos]{transition-timing-function:cubic-bezier(.455,.03,.515,.955)}@media screen{html:not(.no-js) [data-aos^=fade][data-aos^=fade]{opacity:0;transition-property:opacity,transform}html:not(.no-js) [data-aos^=fade][data-aos^=fade].aos-animate{opacity:1;transform:none}html:not(.no-js) [data-aos=fade-up]{transform:translate3d(0,100px,0)}html:not(.no-js) [data-aos=fade-down]{transform:translate3d(0,-100px,0)}html:not(.no-js) [data-aos=fade-right]{transform:translate3d(-100px,0,0)}html:not(.no-js) [data-aos=fade-left]{transform:translate3d(100px,0,0)}html:not(.no-js) [data-aos=fade-up-right]{transform:translate3d(-100px,100px,0)}html:not(.no-js) [data-aos=fade-up-left]{transform:translate3d(100px,100px,0)}html:not(.no-js) [data-aos=fade-down-right]{transform:translate3d(-100px,-100px,0)}html:not(.no-js) [data-aos=fade-down-left]{transform:translate3d(100px,-100px,0)}html:not(.no-js) [data-aos^=zoom][data-aos^=zoom]{opacity:0;transition-property:opacity,transform}html:not(.no-js) [data-aos^=zoom][data-aos^=zoom].aos-animate{opacity:1;transform:translateZ(0) scale(1)}html:not(.no-js) [data-aos=zoom-in]{transform:scale(.6)}html:not(.no-js) [data-aos=zoom-in-up]{transform:translate3d(0,100px,0) scale(.6)}html:not(.no-js) [data-aos=zoom-in-down]{transform:translate3d(0,-100px,0) scale(.6)}html:not(.no-js) [data-aos=zoom-in-right]{transform:translate3d(-100px,0,0) scale(.6)}html:not(.no-js) [data-aos=zoom-in-left]{transform:translate3d(100px,0,0) scale(.6)}html:not(.no-js) [data-aos=zoom-out]{transform:scale(1.2)}html:not(.no-js) [data-aos=zoom-out-up]{transform:translate3d(0,100px,0) scale(1.2)}html:not(.no-js) [data-aos=zoom-out-down]{transform:translate3d(0,-100px,0) scale(1.2)}html:not(.no-js) [data-aos=zoom-out-right]{transform:translate3d(-100px,0,0) scale(1.2)}html:not(.no-js) [data-aos=zoom-out-left]{transform:translate3d(100px,0,0) scale(1.2)}html:not(.no-js) [data-aos^=slide][data-aos^=slide]{transition-property:transform;visibility:hidden}html:not(.no-js) [data-aos^=slide][data-aos^=slide].aos-animate{visibility:visible;transform:translateZ(0)}html:not(.no-js) [data-aos=slide-up]{transform:translate3d(0,100%,0)}html:not(.no-js) [data-aos=slide-down]{transform:translate3d(0,-100%,0)}html:not(.no-js) [data-aos=slide-right]{transform:translate3d(-100%,0,0)}html:not(.no-js) [data-aos=slide-left]{transform:translate3d(100%,0,0)}html:not(.no-js) [data-aos^=flip][data-aos^=flip]{-webkit-backface-visibility:hidden;backface-visibility:hidden;transition-property:transform}html:not(.no-js) [data-aos=flip-left]{transform:perspective(2500px) rotateY(-100deg)}html:not(.no-js) [data-aos=flip-left].aos-animate{transform:perspective(2500px) rotateY(0)}html:not(.no-js) [data-aos=flip-right]{transform:perspective(2500px) rotateY(100deg)}html:not(.no-js) [data-aos=flip-right].aos-animate{transform:perspective(2500px) rotateY(0)}html:not(.no-js) [data-aos=flip-up]{transform:perspective(2500px) rotateX(-100deg)}html:not(.no-js) [data-aos=flip-up].aos-animate{transform:perspective(2500px) rotateX(0)}html:not(.no-js) [data-aos=flip-down]{transform:perspective(2500px) rotateX(100deg)}html:not(.no-js) [data-aos=flip-down].aos-animate{transform:perspective(2500px) rotateX(0)}}.hljs{display:block;overflow-x:auto;padding:.5em;color:#383a42;background:#fafafa}.hljs-comment,.hljs-quote{color:#a0a1a7;font-style:italic}.hljs-doctag,.hljs-formula,.hljs-keyword{color:#a626a4}.hljs-deletion,.hljs-name,.hljs-section,.hljs-selector-tag,.hljs-subst{color:#e45649}.hljs-literal{color:#0184bb}.hljs-addition,.hljs-attribute,.hljs-meta-string,.hljs-regexp,.hljs-string{color:#50a14f}.hljs-built_in,.hljs-class .hljs-title{color:#c18401}.hljs-attr,.hljs-number,.hljs-selector-attr,.hljs-selector-class,.hljs-selector-pseudo,.hljs-template-variable,.hljs-type,.hljs-variable{color:#986801}.hljs-bullet,.hljs-link,.hljs-meta,.hljs-selector-id,.hljs-symbol,.hljs-title{color:#4078f2}.hljs-emphasis{font-style:italic}.hljs-strong{font-weight:700}.hljs-link{text-decoration:underline} + +/*! + * Font Awesome Free 5.8.0 by @fontawesome - https://fontawesome.com + * License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) + */.fa,.fab,.fal,.far,.fas{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;display:inline-block;font-style:normal;font-variant:normal;text-rendering:auto;line-height:1}.fa-lg{font-size:1.33333em;line-height:.75em;vertical-align:-.0667em}.fa-xs{font-size:.75em}.fa-sm{font-size:.875em}.fa-1x{font-size:1em}.fa-2x{font-size:2em}.fa-3x{font-size:3em}.fa-4x{font-size:4em}.fa-5x{font-size:5em}.fa-6x{font-size:6em}.fa-7x{font-size:7em}.fa-8x{font-size:8em}.fa-9x{font-size:9em}.fa-10x{font-size:10em}.fa-fw{text-align:center;width:1.25em}.fa-ul{list-style-type:none;margin-left:2.5em;padding-left:0}.fa-ul>li{position:relative}.fa-li{left:-2em;position:absolute;text-align:center;width:2em;line-height:inherit}.fa-border{border:.08em solid #eee;border-radius:.1em;padding:.2em .25em .15em}.fa-pull-left{float:left}.fa-pull-right{float:right}.fa.fa-pull-left,.fab.fa-pull-left,.fal.fa-pull-left,.far.fa-pull-left,.fas.fa-pull-left{margin-right:.3em}.fa.fa-pull-right,.fab.fa-pull-right,.fal.fa-pull-right,.far.fa-pull-right,.fas.fa-pull-right{margin-left:.3em}.fa-spin{animation:fa-spin 2s infinite linear}.fa-pulse{animation:fa-spin 1s infinite steps(8)}@keyframes fa-spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.fa-rotate-90{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=1)";transform:rotate(90deg)}.fa-rotate-180{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=2)";transform:rotate(180deg)}.fa-rotate-270{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=3)";transform:rotate(270deg)}.fa-flip-horizontal{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1)";transform:scaleX(-1)}.fa-flip-vertical{transform:scaleY(-1)}.fa-flip-both,.fa-flip-horizontal.fa-flip-vertical,.fa-flip-vertical{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)"}.fa-flip-both,.fa-flip-horizontal.fa-flip-vertical{transform:scale(-1)}:root .fa-flip-both,:root .fa-flip-horizontal,:root .fa-flip-vertical,:root .fa-rotate-90,:root .fa-rotate-180,:root .fa-rotate-270{filter:none}.fa-stack{display:inline-block;height:2em;line-height:2em;position:relative;vertical-align:middle;width:2.5em}.fa-stack-1x,.fa-stack-2x{left:0;position:absolute;text-align:center;width:100%}.fa-stack-1x{line-height:inherit}.fa-stack-2x{font-size:2em}.fa-inverse{color:#fff}.fa-500px:before{content:"\f26e"}.fa-accessible-icon:before{content:"\f368"}.fa-accusoft:before{content:"\f369"}.fa-acquisitions-incorporated:before{content:"\f6af"}.fa-ad:before{content:"\f641"}.fa-address-book:before{content:"\f2b9"}.fa-address-card:before{content:"\f2bb"}.fa-adjust:before{content:"\f042"}.fa-adn:before{content:"\f170"}.fa-adobe:before{content:"\f778"}.fa-adversal:before{content:"\f36a"}.fa-affiliatetheme:before{content:"\f36b"}.fa-air-freshener:before{content:"\f5d0"}.fa-airbnb:before{content:"\f834"}.fa-algolia:before{content:"\f36c"}.fa-align-center:before{content:"\f037"}.fa-align-justify:before{content:"\f039"}.fa-align-left:before{content:"\f036"}.fa-align-right:before{content:"\f038"}.fa-alipay:before{content:"\f642"}.fa-allergies:before{content:"\f461"}.fa-amazon:before{content:"\f270"}.fa-amazon-pay:before{content:"\f42c"}.fa-ambulance:before{content:"\f0f9"}.fa-american-sign-language-interpreting:before{content:"\f2a3"}.fa-amilia:before{content:"\f36d"}.fa-anchor:before{content:"\f13d"}.fa-android:before{content:"\f17b"}.fa-angellist:before{content:"\f209"}.fa-angle-double-down:before{content:"\f103"}.fa-angle-double-left:before{content:"\f100"}.fa-angle-double-right:before{content:"\f101"}.fa-angle-double-up:before{content:"\f102"}.fa-angle-down:before{content:"\f107"}.fa-angle-left:before{content:"\f104"}.fa-angle-right:before{content:"\f105"}.fa-angle-up:before{content:"\f106"}.fa-angry:before{content:"\f556"}.fa-angrycreative:before{content:"\f36e"}.fa-angular:before{content:"\f420"}.fa-ankh:before{content:"\f644"}.fa-app-store:before{content:"\f36f"}.fa-app-store-ios:before{content:"\f370"}.fa-apper:before{content:"\f371"}.fa-apple:before{content:"\f179"}.fa-apple-alt:before{content:"\f5d1"}.fa-apple-pay:before{content:"\f415"}.fa-archive:before{content:"\f187"}.fa-archway:before{content:"\f557"}.fa-arrow-alt-circle-down:before{content:"\f358"}.fa-arrow-alt-circle-left:before{content:"\f359"}.fa-arrow-alt-circle-right:before{content:"\f35a"}.fa-arrow-alt-circle-up:before{content:"\f35b"}.fa-arrow-circle-down:before{content:"\f0ab"}.fa-arrow-circle-left:before{content:"\f0a8"}.fa-arrow-circle-right:before{content:"\f0a9"}.fa-arrow-circle-up:before{content:"\f0aa"}.fa-arrow-down:before{content:"\f063"}.fa-arrow-left:before{content:"\f060"}.fa-arrow-right:before{content:"\f061"}.fa-arrow-up:before{content:"\f062"}.fa-arrows-alt:before{content:"\f0b2"}.fa-arrows-alt-h:before{content:"\f337"}.fa-arrows-alt-v:before{content:"\f338"}.fa-artstation:before{content:"\f77a"}.fa-assistive-listening-systems:before{content:"\f2a2"}.fa-asterisk:before{content:"\f069"}.fa-asymmetrik:before{content:"\f372"}.fa-at:before{content:"\f1fa"}.fa-atlas:before{content:"\f558"}.fa-atlassian:before{content:"\f77b"}.fa-atom:before{content:"\f5d2"}.fa-audible:before{content:"\f373"}.fa-audio-description:before{content:"\f29e"}.fa-autoprefixer:before{content:"\f41c"}.fa-avianex:before{content:"\f374"}.fa-aviato:before{content:"\f421"}.fa-award:before{content:"\f559"}.fa-aws:before{content:"\f375"}.fa-baby:before{content:"\f77c"}.fa-baby-carriage:before{content:"\f77d"}.fa-backspace:before{content:"\f55a"}.fa-backward:before{content:"\f04a"}.fa-bacon:before{content:"\f7e5"}.fa-balance-scale:before{content:"\f24e"}.fa-ban:before{content:"\f05e"}.fa-band-aid:before{content:"\f462"}.fa-bandcamp:before{content:"\f2d5"}.fa-barcode:before{content:"\f02a"}.fa-bars:before{content:"\f0c9"}.fa-baseball-ball:before{content:"\f433"}.fa-basketball-ball:before{content:"\f434"}.fa-bath:before{content:"\f2cd"}.fa-battery-empty:before{content:"\f244"}.fa-battery-full:before{content:"\f240"}.fa-battery-half:before{content:"\f242"}.fa-battery-quarter:before{content:"\f243"}.fa-battery-three-quarters:before{content:"\f241"}.fa-battle-net:before{content:"\f835"}.fa-bed:before{content:"\f236"}.fa-beer:before{content:"\f0fc"}.fa-behance:before{content:"\f1b4"}.fa-behance-square:before{content:"\f1b5"}.fa-bell:before{content:"\f0f3"}.fa-bell-slash:before{content:"\f1f6"}.fa-bezier-curve:before{content:"\f55b"}.fa-bible:before{content:"\f647"}.fa-bicycle:before{content:"\f206"}.fa-bimobject:before{content:"\f378"}.fa-binoculars:before{content:"\f1e5"}.fa-biohazard:before{content:"\f780"}.fa-birthday-cake:before{content:"\f1fd"}.fa-bitbucket:before{content:"\f171"}.fa-bitcoin:before{content:"\f379"}.fa-bity:before{content:"\f37a"}.fa-black-tie:before{content:"\f27e"}.fa-blackberry:before{content:"\f37b"}.fa-blender:before{content:"\f517"}.fa-blender-phone:before{content:"\f6b6"}.fa-blind:before{content:"\f29d"}.fa-blog:before{content:"\f781"}.fa-blogger:before{content:"\f37c"}.fa-blogger-b:before{content:"\f37d"}.fa-bluetooth:before{content:"\f293"}.fa-bluetooth-b:before{content:"\f294"}.fa-bold:before{content:"\f032"}.fa-bolt:before{content:"\f0e7"}.fa-bomb:before{content:"\f1e2"}.fa-bone:before{content:"\f5d7"}.fa-bong:before{content:"\f55c"}.fa-book:before{content:"\f02d"}.fa-book-dead:before{content:"\f6b7"}.fa-book-medical:before{content:"\f7e6"}.fa-book-open:before{content:"\f518"}.fa-book-reader:before{content:"\f5da"}.fa-bookmark:before{content:"\f02e"}.fa-bootstrap:before{content:"\f836"}.fa-bowling-ball:before{content:"\f436"}.fa-box:before{content:"\f466"}.fa-box-open:before{content:"\f49e"}.fa-boxes:before{content:"\f468"}.fa-braille:before{content:"\f2a1"}.fa-brain:before{content:"\f5dc"}.fa-bread-slice:before{content:"\f7ec"}.fa-briefcase:before{content:"\f0b1"}.fa-briefcase-medical:before{content:"\f469"}.fa-broadcast-tower:before{content:"\f519"}.fa-broom:before{content:"\f51a"}.fa-brush:before{content:"\f55d"}.fa-btc:before{content:"\f15a"}.fa-buffer:before{content:"\f837"}.fa-bug:before{content:"\f188"}.fa-building:before{content:"\f1ad"}.fa-bullhorn:before{content:"\f0a1"}.fa-bullseye:before{content:"\f140"}.fa-burn:before{content:"\f46a"}.fa-buromobelexperte:before{content:"\f37f"}.fa-bus:before{content:"\f207"}.fa-bus-alt:before{content:"\f55e"}.fa-business-time:before{content:"\f64a"}.fa-buysellads:before{content:"\f20d"}.fa-calculator:before{content:"\f1ec"}.fa-calendar:before{content:"\f133"}.fa-calendar-alt:before{content:"\f073"}.fa-calendar-check:before{content:"\f274"}.fa-calendar-day:before{content:"\f783"}.fa-calendar-minus:before{content:"\f272"}.fa-calendar-plus:before{content:"\f271"}.fa-calendar-times:before{content:"\f273"}.fa-calendar-week:before{content:"\f784"}.fa-camera:before{content:"\f030"}.fa-camera-retro:before{content:"\f083"}.fa-campground:before{content:"\f6bb"}.fa-canadian-maple-leaf:before{content:"\f785"}.fa-candy-cane:before{content:"\f786"}.fa-cannabis:before{content:"\f55f"}.fa-capsules:before{content:"\f46b"}.fa-car:before{content:"\f1b9"}.fa-car-alt:before{content:"\f5de"}.fa-car-battery:before{content:"\f5df"}.fa-car-crash:before{content:"\f5e1"}.fa-car-side:before{content:"\f5e4"}.fa-caret-down:before{content:"\f0d7"}.fa-caret-left:before{content:"\f0d9"}.fa-caret-right:before{content:"\f0da"}.fa-caret-square-down:before{content:"\f150"}.fa-caret-square-left:before{content:"\f191"}.fa-caret-square-right:before{content:"\f152"}.fa-caret-square-up:before{content:"\f151"}.fa-caret-up:before{content:"\f0d8"}.fa-carrot:before{content:"\f787"}.fa-cart-arrow-down:before{content:"\f218"}.fa-cart-plus:before{content:"\f217"}.fa-cash-register:before{content:"\f788"}.fa-cat:before{content:"\f6be"}.fa-cc-amazon-pay:before{content:"\f42d"}.fa-cc-amex:before{content:"\f1f3"}.fa-cc-apple-pay:before{content:"\f416"}.fa-cc-diners-club:before{content:"\f24c"}.fa-cc-discover:before{content:"\f1f2"}.fa-cc-jcb:before{content:"\f24b"}.fa-cc-mastercard:before{content:"\f1f1"}.fa-cc-paypal:before{content:"\f1f4"}.fa-cc-stripe:before{content:"\f1f5"}.fa-cc-visa:before{content:"\f1f0"}.fa-centercode:before{content:"\f380"}.fa-centos:before{content:"\f789"}.fa-certificate:before{content:"\f0a3"}.fa-chair:before{content:"\f6c0"}.fa-chalkboard:before{content:"\f51b"}.fa-chalkboard-teacher:before{content:"\f51c"}.fa-charging-station:before{content:"\f5e7"}.fa-chart-area:before{content:"\f1fe"}.fa-chart-bar:before{content:"\f080"}.fa-chart-line:before{content:"\f201"}.fa-chart-pie:before{content:"\f200"}.fa-check:before{content:"\f00c"}.fa-check-circle:before{content:"\f058"}.fa-check-double:before{content:"\f560"}.fa-check-square:before{content:"\f14a"}.fa-cheese:before{content:"\f7ef"}.fa-chess:before{content:"\f439"}.fa-chess-bishop:before{content:"\f43a"}.fa-chess-board:before{content:"\f43c"}.fa-chess-king:before{content:"\f43f"}.fa-chess-knight:before{content:"\f441"}.fa-chess-pawn:before{content:"\f443"}.fa-chess-queen:before{content:"\f445"}.fa-chess-rook:before{content:"\f447"}.fa-chevron-circle-down:before{content:"\f13a"}.fa-chevron-circle-left:before{content:"\f137"}.fa-chevron-circle-right:before{content:"\f138"}.fa-chevron-circle-up:before{content:"\f139"}.fa-chevron-down:before{content:"\f078"}.fa-chevron-left:before{content:"\f053"}.fa-chevron-right:before{content:"\f054"}.fa-chevron-up:before{content:"\f077"}.fa-child:before{content:"\f1ae"}.fa-chrome:before{content:"\f268"}.fa-chromecast:before{content:"\f838"}.fa-church:before{content:"\f51d"}.fa-circle:before{content:"\f111"}.fa-circle-notch:before{content:"\f1ce"}.fa-city:before{content:"\f64f"}.fa-clinic-medical:before{content:"\f7f2"}.fa-clipboard:before{content:"\f328"}.fa-clipboard-check:before{content:"\f46c"}.fa-clipboard-list:before{content:"\f46d"}.fa-clock:before{content:"\f017"}.fa-clone:before{content:"\f24d"}.fa-closed-captioning:before{content:"\f20a"}.fa-cloud:before{content:"\f0c2"}.fa-cloud-download-alt:before{content:"\f381"}.fa-cloud-meatball:before{content:"\f73b"}.fa-cloud-moon:before{content:"\f6c3"}.fa-cloud-moon-rain:before{content:"\f73c"}.fa-cloud-rain:before{content:"\f73d"}.fa-cloud-showers-heavy:before{content:"\f740"}.fa-cloud-sun:before{content:"\f6c4"}.fa-cloud-sun-rain:before{content:"\f743"}.fa-cloud-upload-alt:before{content:"\f382"}.fa-cloudscale:before{content:"\f383"}.fa-cloudsmith:before{content:"\f384"}.fa-cloudversify:before{content:"\f385"}.fa-cocktail:before{content:"\f561"}.fa-code:before{content:"\f121"}.fa-code-branch:before{content:"\f126"}.fa-codepen:before{content:"\f1cb"}.fa-codiepie:before{content:"\f284"}.fa-coffee:before{content:"\f0f4"}.fa-cog:before{content:"\f013"}.fa-cogs:before{content:"\f085"}.fa-coins:before{content:"\f51e"}.fa-columns:before{content:"\f0db"}.fa-comment:before{content:"\f075"}.fa-comment-alt:before{content:"\f27a"}.fa-comment-dollar:before{content:"\f651"}.fa-comment-dots:before{content:"\f4ad"}.fa-comment-medical:before{content:"\f7f5"}.fa-comment-slash:before{content:"\f4b3"}.fa-comments:before{content:"\f086"}.fa-comments-dollar:before{content:"\f653"}.fa-compact-disc:before{content:"\f51f"}.fa-compass:before{content:"\f14e"}.fa-compress:before{content:"\f066"}.fa-compress-arrows-alt:before{content:"\f78c"}.fa-concierge-bell:before{content:"\f562"}.fa-confluence:before{content:"\f78d"}.fa-connectdevelop:before{content:"\f20e"}.fa-contao:before{content:"\f26d"}.fa-cookie:before{content:"\f563"}.fa-cookie-bite:before{content:"\f564"}.fa-copy:before{content:"\f0c5"}.fa-copyright:before{content:"\f1f9"}.fa-couch:before{content:"\f4b8"}.fa-cpanel:before{content:"\f388"}.fa-creative-commons:before{content:"\f25e"}.fa-creative-commons-by:before{content:"\f4e7"}.fa-creative-commons-nc:before{content:"\f4e8"}.fa-creative-commons-nc-eu:before{content:"\f4e9"}.fa-creative-commons-nc-jp:before{content:"\f4ea"}.fa-creative-commons-nd:before{content:"\f4eb"}.fa-creative-commons-pd:before{content:"\f4ec"}.fa-creative-commons-pd-alt:before{content:"\f4ed"}.fa-creative-commons-remix:before{content:"\f4ee"}.fa-creative-commons-sa:before{content:"\f4ef"}.fa-creative-commons-sampling:before{content:"\f4f0"}.fa-creative-commons-sampling-plus:before{content:"\f4f1"}.fa-creative-commons-share:before{content:"\f4f2"}.fa-creative-commons-zero:before{content:"\f4f3"}.fa-credit-card:before{content:"\f09d"}.fa-critical-role:before{content:"\f6c9"}.fa-crop:before{content:"\f125"}.fa-crop-alt:before{content:"\f565"}.fa-cross:before{content:"\f654"}.fa-crosshairs:before{content:"\f05b"}.fa-crow:before{content:"\f520"}.fa-crown:before{content:"\f521"}.fa-crutch:before{content:"\f7f7"}.fa-css3:before{content:"\f13c"}.fa-css3-alt:before{content:"\f38b"}.fa-cube:before{content:"\f1b2"}.fa-cubes:before{content:"\f1b3"}.fa-cut:before{content:"\f0c4"}.fa-cuttlefish:before{content:"\f38c"}.fa-d-and-d:before{content:"\f38d"}.fa-d-and-d-beyond:before{content:"\f6ca"}.fa-dashcube:before{content:"\f210"}.fa-database:before{content:"\f1c0"}.fa-deaf:before{content:"\f2a4"}.fa-delicious:before{content:"\f1a5"}.fa-democrat:before{content:"\f747"}.fa-deploydog:before{content:"\f38e"}.fa-deskpro:before{content:"\f38f"}.fa-desktop:before{content:"\f108"}.fa-dev:before{content:"\f6cc"}.fa-deviantart:before{content:"\f1bd"}.fa-dharmachakra:before{content:"\f655"}.fa-dhl:before{content:"\f790"}.fa-diagnoses:before{content:"\f470"}.fa-diaspora:before{content:"\f791"}.fa-dice:before{content:"\f522"}.fa-dice-d20:before{content:"\f6cf"}.fa-dice-d6:before{content:"\f6d1"}.fa-dice-five:before{content:"\f523"}.fa-dice-four:before{content:"\f524"}.fa-dice-one:before{content:"\f525"}.fa-dice-six:before{content:"\f526"}.fa-dice-three:before{content:"\f527"}.fa-dice-two:before{content:"\f528"}.fa-digg:before{content:"\f1a6"}.fa-digital-ocean:before{content:"\f391"}.fa-digital-tachograph:before{content:"\f566"}.fa-directions:before{content:"\f5eb"}.fa-discord:before{content:"\f392"}.fa-discourse:before{content:"\f393"}.fa-divide:before{content:"\f529"}.fa-dizzy:before{content:"\f567"}.fa-dna:before{content:"\f471"}.fa-dochub:before{content:"\f394"}.fa-docker:before{content:"\f395"}.fa-dog:before{content:"\f6d3"}.fa-dollar-sign:before{content:"\f155"}.fa-dolly:before{content:"\f472"}.fa-dolly-flatbed:before{content:"\f474"}.fa-donate:before{content:"\f4b9"}.fa-door-closed:before{content:"\f52a"}.fa-door-open:before{content:"\f52b"}.fa-dot-circle:before{content:"\f192"}.fa-dove:before{content:"\f4ba"}.fa-download:before{content:"\f019"}.fa-draft2digital:before{content:"\f396"}.fa-drafting-compass:before{content:"\f568"}.fa-dragon:before{content:"\f6d5"}.fa-draw-polygon:before{content:"\f5ee"}.fa-dribbble:before{content:"\f17d"}.fa-dribbble-square:before{content:"\f397"}.fa-dropbox:before{content:"\f16b"}.fa-drum:before{content:"\f569"}.fa-drum-steelpan:before{content:"\f56a"}.fa-drumstick-bite:before{content:"\f6d7"}.fa-drupal:before{content:"\f1a9"}.fa-dumbbell:before{content:"\f44b"}.fa-dumpster:before{content:"\f793"}.fa-dumpster-fire:before{content:"\f794"}.fa-dungeon:before{content:"\f6d9"}.fa-dyalog:before{content:"\f399"}.fa-earlybirds:before{content:"\f39a"}.fa-ebay:before{content:"\f4f4"}.fa-edge:before{content:"\f282"}.fa-edit:before{content:"\f044"}.fa-egg:before{content:"\f7fb"}.fa-eject:before{content:"\f052"}.fa-elementor:before{content:"\f430"}.fa-ellipsis-h:before{content:"\f141"}.fa-ellipsis-v:before{content:"\f142"}.fa-ello:before{content:"\f5f1"}.fa-ember:before{content:"\f423"}.fa-empire:before{content:"\f1d1"}.fa-envelope:before{content:"\f0e0"}.fa-envelope-open:before{content:"\f2b6"}.fa-envelope-open-text:before{content:"\f658"}.fa-envelope-square:before{content:"\f199"}.fa-envira:before{content:"\f299"}.fa-equals:before{content:"\f52c"}.fa-eraser:before{content:"\f12d"}.fa-erlang:before{content:"\f39d"}.fa-ethereum:before{content:"\f42e"}.fa-ethernet:before{content:"\f796"}.fa-etsy:before{content:"\f2d7"}.fa-euro-sign:before{content:"\f153"}.fa-evernote:before{content:"\f839"}.fa-exchange-alt:before{content:"\f362"}.fa-exclamation:before{content:"\f12a"}.fa-exclamation-circle:before{content:"\f06a"}.fa-exclamation-triangle:before{content:"\f071"}.fa-expand:before{content:"\f065"}.fa-expand-arrows-alt:before{content:"\f31e"}.fa-expeditedssl:before{content:"\f23e"}.fa-external-link-alt:before{content:"\f35d"}.fa-external-link-square-alt:before{content:"\f360"}.fa-eye:before{content:"\f06e"}.fa-eye-dropper:before{content:"\f1fb"}.fa-eye-slash:before{content:"\f070"}.fa-facebook:before{content:"\f09a"}.fa-facebook-f:before{content:"\f39e"}.fa-facebook-messenger:before{content:"\f39f"}.fa-facebook-square:before{content:"\f082"}.fa-fantasy-flight-games:before{content:"\f6dc"}.fa-fast-backward:before{content:"\f049"}.fa-fast-forward:before{content:"\f050"}.fa-fax:before{content:"\f1ac"}.fa-feather:before{content:"\f52d"}.fa-feather-alt:before{content:"\f56b"}.fa-fedex:before{content:"\f797"}.fa-fedora:before{content:"\f798"}.fa-female:before{content:"\f182"}.fa-fighter-jet:before{content:"\f0fb"}.fa-figma:before{content:"\f799"}.fa-file:before{content:"\f15b"}.fa-file-alt:before{content:"\f15c"}.fa-file-archive:before{content:"\f1c6"}.fa-file-audio:before{content:"\f1c7"}.fa-file-code:before{content:"\f1c9"}.fa-file-contract:before{content:"\f56c"}.fa-file-csv:before{content:"\f6dd"}.fa-file-download:before{content:"\f56d"}.fa-file-excel:before{content:"\f1c3"}.fa-file-export:before{content:"\f56e"}.fa-file-image:before{content:"\f1c5"}.fa-file-import:before{content:"\f56f"}.fa-file-invoice:before{content:"\f570"}.fa-file-invoice-dollar:before{content:"\f571"}.fa-file-medical:before{content:"\f477"}.fa-file-medical-alt:before{content:"\f478"}.fa-file-pdf:before{content:"\f1c1"}.fa-file-powerpoint:before{content:"\f1c4"}.fa-file-prescription:before{content:"\f572"}.fa-file-signature:before{content:"\f573"}.fa-file-upload:before{content:"\f574"}.fa-file-video:before{content:"\f1c8"}.fa-file-word:before{content:"\f1c2"}.fa-fill:before{content:"\f575"}.fa-fill-drip:before{content:"\f576"}.fa-film:before{content:"\f008"}.fa-filter:before{content:"\f0b0"}.fa-fingerprint:before{content:"\f577"}.fa-fire:before{content:"\f06d"}.fa-fire-alt:before{content:"\f7e4"}.fa-fire-extinguisher:before{content:"\f134"}.fa-firefox:before{content:"\f269"}.fa-first-aid:before{content:"\f479"}.fa-first-order:before{content:"\f2b0"}.fa-first-order-alt:before{content:"\f50a"}.fa-firstdraft:before{content:"\f3a1"}.fa-fish:before{content:"\f578"}.fa-fist-raised:before{content:"\f6de"}.fa-flag:before{content:"\f024"}.fa-flag-checkered:before{content:"\f11e"}.fa-flag-usa:before{content:"\f74d"}.fa-flask:before{content:"\f0c3"}.fa-flickr:before{content:"\f16e"}.fa-flipboard:before{content:"\f44d"}.fa-flushed:before{content:"\f579"}.fa-fly:before{content:"\f417"}.fa-folder:before{content:"\f07b"}.fa-folder-minus:before{content:"\f65d"}.fa-folder-open:before{content:"\f07c"}.fa-folder-plus:before{content:"\f65e"}.fa-font:before{content:"\f031"}.fa-font-awesome:before{content:"\f2b4"}.fa-font-awesome-alt:before{content:"\f35c"}.fa-font-awesome-flag:before{content:"\f425"}.fa-font-awesome-logo-full:before{content:"\f4e6"}.fa-fonticons:before{content:"\f280"}.fa-fonticons-fi:before{content:"\f3a2"}.fa-football-ball:before{content:"\f44e"}.fa-fort-awesome:before{content:"\f286"}.fa-fort-awesome-alt:before{content:"\f3a3"}.fa-forumbee:before{content:"\f211"}.fa-forward:before{content:"\f04e"}.fa-foursquare:before{content:"\f180"}.fa-free-code-camp:before{content:"\f2c5"}.fa-freebsd:before{content:"\f3a4"}.fa-frog:before{content:"\f52e"}.fa-frown:before{content:"\f119"}.fa-frown-open:before{content:"\f57a"}.fa-fulcrum:before{content:"\f50b"}.fa-funnel-dollar:before{content:"\f662"}.fa-futbol:before{content:"\f1e3"}.fa-galactic-republic:before{content:"\f50c"}.fa-galactic-senate:before{content:"\f50d"}.fa-gamepad:before{content:"\f11b"}.fa-gas-pump:before{content:"\f52f"}.fa-gavel:before{content:"\f0e3"}.fa-gem:before{content:"\f3a5"}.fa-genderless:before{content:"\f22d"}.fa-get-pocket:before{content:"\f265"}.fa-gg:before{content:"\f260"}.fa-gg-circle:before{content:"\f261"}.fa-ghost:before{content:"\f6e2"}.fa-gift:before{content:"\f06b"}.fa-gifts:before{content:"\f79c"}.fa-git:before{content:"\f1d3"}.fa-git-square:before{content:"\f1d2"}.fa-github:before{content:"\f09b"}.fa-github-alt:before{content:"\f113"}.fa-github-square:before{content:"\f092"}.fa-gitkraken:before{content:"\f3a6"}.fa-gitlab:before{content:"\f296"}.fa-gitter:before{content:"\f426"}.fa-glass-cheers:before{content:"\f79f"}.fa-glass-martini:before{content:"\f000"}.fa-glass-martini-alt:before{content:"\f57b"}.fa-glass-whiskey:before{content:"\f7a0"}.fa-glasses:before{content:"\f530"}.fa-glide:before{content:"\f2a5"}.fa-glide-g:before{content:"\f2a6"}.fa-globe:before{content:"\f0ac"}.fa-globe-africa:before{content:"\f57c"}.fa-globe-americas:before{content:"\f57d"}.fa-globe-asia:before{content:"\f57e"}.fa-globe-europe:before{content:"\f7a2"}.fa-gofore:before{content:"\f3a7"}.fa-golf-ball:before{content:"\f450"}.fa-goodreads:before{content:"\f3a8"}.fa-goodreads-g:before{content:"\f3a9"}.fa-google:before{content:"\f1a0"}.fa-google-drive:before{content:"\f3aa"}.fa-google-play:before{content:"\f3ab"}.fa-google-plus:before{content:"\f2b3"}.fa-google-plus-g:before{content:"\f0d5"}.fa-google-plus-square:before{content:"\f0d4"}.fa-google-wallet:before{content:"\f1ee"}.fa-gopuram:before{content:"\f664"}.fa-graduation-cap:before{content:"\f19d"}.fa-gratipay:before{content:"\f184"}.fa-grav:before{content:"\f2d6"}.fa-greater-than:before{content:"\f531"}.fa-greater-than-equal:before{content:"\f532"}.fa-grimace:before{content:"\f57f"}.fa-grin:before{content:"\f580"}.fa-grin-alt:before{content:"\f581"}.fa-grin-beam:before{content:"\f582"}.fa-grin-beam-sweat:before{content:"\f583"}.fa-grin-hearts:before{content:"\f584"}.fa-grin-squint:before{content:"\f585"}.fa-grin-squint-tears:before{content:"\f586"}.fa-grin-stars:before{content:"\f587"}.fa-grin-tears:before{content:"\f588"}.fa-grin-tongue:before{content:"\f589"}.fa-grin-tongue-squint:before{content:"\f58a"}.fa-grin-tongue-wink:before{content:"\f58b"}.fa-grin-wink:before{content:"\f58c"}.fa-grip-horizontal:before{content:"\f58d"}.fa-grip-lines:before{content:"\f7a4"}.fa-grip-lines-vertical:before{content:"\f7a5"}.fa-grip-vertical:before{content:"\f58e"}.fa-gripfire:before{content:"\f3ac"}.fa-grunt:before{content:"\f3ad"}.fa-guitar:before{content:"\f7a6"}.fa-gulp:before{content:"\f3ae"}.fa-h-square:before{content:"\f0fd"}.fa-hacker-news:before{content:"\f1d4"}.fa-hacker-news-square:before{content:"\f3af"}.fa-hackerrank:before{content:"\f5f7"}.fa-hamburger:before{content:"\f805"}.fa-hammer:before{content:"\f6e3"}.fa-hamsa:before{content:"\f665"}.fa-hand-holding:before{content:"\f4bd"}.fa-hand-holding-heart:before{content:"\f4be"}.fa-hand-holding-usd:before{content:"\f4c0"}.fa-hand-lizard:before{content:"\f258"}.fa-hand-middle-finger:before{content:"\f806"}.fa-hand-paper:before{content:"\f256"}.fa-hand-peace:before{content:"\f25b"}.fa-hand-point-down:before{content:"\f0a7"}.fa-hand-point-left:before{content:"\f0a5"}.fa-hand-point-right:before{content:"\f0a4"}.fa-hand-point-up:before{content:"\f0a6"}.fa-hand-pointer:before{content:"\f25a"}.fa-hand-rock:before{content:"\f255"}.fa-hand-scissors:before{content:"\f257"}.fa-hand-spock:before{content:"\f259"}.fa-hands:before{content:"\f4c2"}.fa-hands-helping:before{content:"\f4c4"}.fa-handshake:before{content:"\f2b5"}.fa-hanukiah:before{content:"\f6e6"}.fa-hard-hat:before{content:"\f807"}.fa-hashtag:before{content:"\f292"}.fa-hat-wizard:before{content:"\f6e8"}.fa-haykal:before{content:"\f666"}.fa-hdd:before{content:"\f0a0"}.fa-heading:before{content:"\f1dc"}.fa-headphones:before{content:"\f025"}.fa-headphones-alt:before{content:"\f58f"}.fa-headset:before{content:"\f590"}.fa-heart:before{content:"\f004"}.fa-heart-broken:before{content:"\f7a9"}.fa-heartbeat:before{content:"\f21e"}.fa-helicopter:before{content:"\f533"}.fa-highlighter:before{content:"\f591"}.fa-hiking:before{content:"\f6ec"}.fa-hippo:before{content:"\f6ed"}.fa-hips:before{content:"\f452"}.fa-hire-a-helper:before{content:"\f3b0"}.fa-history:before{content:"\f1da"}.fa-hockey-puck:before{content:"\f453"}.fa-holly-berry:before{content:"\f7aa"}.fa-home:before{content:"\f015"}.fa-hooli:before{content:"\f427"}.fa-hornbill:before{content:"\f592"}.fa-horse:before{content:"\f6f0"}.fa-horse-head:before{content:"\f7ab"}.fa-hospital:before{content:"\f0f8"}.fa-hospital-alt:before{content:"\f47d"}.fa-hospital-symbol:before{content:"\f47e"}.fa-hot-tub:before{content:"\f593"}.fa-hotdog:before{content:"\f80f"}.fa-hotel:before{content:"\f594"}.fa-hotjar:before{content:"\f3b1"}.fa-hourglass:before{content:"\f254"}.fa-hourglass-end:before{content:"\f253"}.fa-hourglass-half:before{content:"\f252"}.fa-hourglass-start:before{content:"\f251"}.fa-house-damage:before{content:"\f6f1"}.fa-houzz:before{content:"\f27c"}.fa-hryvnia:before{content:"\f6f2"}.fa-html5:before{content:"\f13b"}.fa-hubspot:before{content:"\f3b2"}.fa-i-cursor:before{content:"\f246"}.fa-ice-cream:before{content:"\f810"}.fa-icicles:before{content:"\f7ad"}.fa-id-badge:before{content:"\f2c1"}.fa-id-card:before{content:"\f2c2"}.fa-id-card-alt:before{content:"\f47f"}.fa-igloo:before{content:"\f7ae"}.fa-image:before{content:"\f03e"}.fa-images:before{content:"\f302"}.fa-imdb:before{content:"\f2d8"}.fa-inbox:before{content:"\f01c"}.fa-indent:before{content:"\f03c"}.fa-industry:before{content:"\f275"}.fa-infinity:before{content:"\f534"}.fa-info:before{content:"\f129"}.fa-info-circle:before{content:"\f05a"}.fa-instagram:before{content:"\f16d"}.fa-intercom:before{content:"\f7af"}.fa-internet-explorer:before{content:"\f26b"}.fa-invision:before{content:"\f7b0"}.fa-ioxhost:before{content:"\f208"}.fa-italic:before{content:"\f033"}.fa-itch-io:before{content:"\f83a"}.fa-itunes:before{content:"\f3b4"}.fa-itunes-note:before{content:"\f3b5"}.fa-java:before{content:"\f4e4"}.fa-jedi:before{content:"\f669"}.fa-jedi-order:before{content:"\f50e"}.fa-jenkins:before{content:"\f3b6"}.fa-jira:before{content:"\f7b1"}.fa-joget:before{content:"\f3b7"}.fa-joint:before{content:"\f595"}.fa-joomla:before{content:"\f1aa"}.fa-journal-whills:before{content:"\f66a"}.fa-js:before{content:"\f3b8"}.fa-js-square:before{content:"\f3b9"}.fa-jsfiddle:before{content:"\f1cc"}.fa-kaaba:before{content:"\f66b"}.fa-kaggle:before{content:"\f5fa"}.fa-key:before{content:"\f084"}.fa-keybase:before{content:"\f4f5"}.fa-keyboard:before{content:"\f11c"}.fa-keycdn:before{content:"\f3ba"}.fa-khanda:before{content:"\f66d"}.fa-kickstarter:before{content:"\f3bb"}.fa-kickstarter-k:before{content:"\f3bc"}.fa-kiss:before{content:"\f596"}.fa-kiss-beam:before{content:"\f597"}.fa-kiss-wink-heart:before{content:"\f598"}.fa-kiwi-bird:before{content:"\f535"}.fa-korvue:before{content:"\f42f"}.fa-landmark:before{content:"\f66f"}.fa-language:before{content:"\f1ab"}.fa-laptop:before{content:"\f109"}.fa-laptop-code:before{content:"\f5fc"}.fa-laptop-medical:before{content:"\f812"}.fa-laravel:before{content:"\f3bd"}.fa-lastfm:before{content:"\f202"}.fa-lastfm-square:before{content:"\f203"}.fa-laugh:before{content:"\f599"}.fa-laugh-beam:before{content:"\f59a"}.fa-laugh-squint:before{content:"\f59b"}.fa-laugh-wink:before{content:"\f59c"}.fa-layer-group:before{content:"\f5fd"}.fa-leaf:before{content:"\f06c"}.fa-leanpub:before{content:"\f212"}.fa-lemon:before{content:"\f094"}.fa-less:before{content:"\f41d"}.fa-less-than:before{content:"\f536"}.fa-less-than-equal:before{content:"\f537"}.fa-level-down-alt:before{content:"\f3be"}.fa-level-up-alt:before{content:"\f3bf"}.fa-life-ring:before{content:"\f1cd"}.fa-lightbulb:before{content:"\f0eb"}.fa-line:before{content:"\f3c0"}.fa-link:before{content:"\f0c1"}.fa-linkedin:before{content:"\f08c"}.fa-linkedin-in:before{content:"\f0e1"}.fa-linode:before{content:"\f2b8"}.fa-linux:before{content:"\f17c"}.fa-lira-sign:before{content:"\f195"}.fa-list:before{content:"\f03a"}.fa-list-alt:before{content:"\f022"}.fa-list-ol:before{content:"\f0cb"}.fa-list-ul:before{content:"\f0ca"}.fa-location-arrow:before{content:"\f124"}.fa-lock:before{content:"\f023"}.fa-lock-open:before{content:"\f3c1"}.fa-long-arrow-alt-down:before{content:"\f309"}.fa-long-arrow-alt-left:before{content:"\f30a"}.fa-long-arrow-alt-right:before{content:"\f30b"}.fa-long-arrow-alt-up:before{content:"\f30c"}.fa-low-vision:before{content:"\f2a8"}.fa-luggage-cart:before{content:"\f59d"}.fa-lyft:before{content:"\f3c3"}.fa-magento:before{content:"\f3c4"}.fa-magic:before{content:"\f0d0"}.fa-magnet:before{content:"\f076"}.fa-mail-bulk:before{content:"\f674"}.fa-mailchimp:before{content:"\f59e"}.fa-male:before{content:"\f183"}.fa-mandalorian:before{content:"\f50f"}.fa-map:before{content:"\f279"}.fa-map-marked:before{content:"\f59f"}.fa-map-marked-alt:before{content:"\f5a0"}.fa-map-marker:before{content:"\f041"}.fa-map-marker-alt:before{content:"\f3c5"}.fa-map-pin:before{content:"\f276"}.fa-map-signs:before{content:"\f277"}.fa-markdown:before{content:"\f60f"}.fa-marker:before{content:"\f5a1"}.fa-mars:before{content:"\f222"}.fa-mars-double:before{content:"\f227"}.fa-mars-stroke:before{content:"\f229"}.fa-mars-stroke-h:before{content:"\f22b"}.fa-mars-stroke-v:before{content:"\f22a"}.fa-mask:before{content:"\f6fa"}.fa-mastodon:before{content:"\f4f6"}.fa-maxcdn:before{content:"\f136"}.fa-medal:before{content:"\f5a2"}.fa-medapps:before{content:"\f3c6"}.fa-medium:before{content:"\f23a"}.fa-medium-m:before{content:"\f3c7"}.fa-medkit:before{content:"\f0fa"}.fa-medrt:before{content:"\f3c8"}.fa-meetup:before{content:"\f2e0"}.fa-megaport:before{content:"\f5a3"}.fa-meh:before{content:"\f11a"}.fa-meh-blank:before{content:"\f5a4"}.fa-meh-rolling-eyes:before{content:"\f5a5"}.fa-memory:before{content:"\f538"}.fa-mendeley:before{content:"\f7b3"}.fa-menorah:before{content:"\f676"}.fa-mercury:before{content:"\f223"}.fa-meteor:before{content:"\f753"}.fa-microchip:before{content:"\f2db"}.fa-microphone:before{content:"\f130"}.fa-microphone-alt:before{content:"\f3c9"}.fa-microphone-alt-slash:before{content:"\f539"}.fa-microphone-slash:before{content:"\f131"}.fa-microscope:before{content:"\f610"}.fa-microsoft:before{content:"\f3ca"}.fa-minus:before{content:"\f068"}.fa-minus-circle:before{content:"\f056"}.fa-minus-square:before{content:"\f146"}.fa-mitten:before{content:"\f7b5"}.fa-mix:before{content:"\f3cb"}.fa-mixcloud:before{content:"\f289"}.fa-mizuni:before{content:"\f3cc"}.fa-mobile:before{content:"\f10b"}.fa-mobile-alt:before{content:"\f3cd"}.fa-modx:before{content:"\f285"}.fa-monero:before{content:"\f3d0"}.fa-money-bill:before{content:"\f0d6"}.fa-money-bill-alt:before{content:"\f3d1"}.fa-money-bill-wave:before{content:"\f53a"}.fa-money-bill-wave-alt:before{content:"\f53b"}.fa-money-check:before{content:"\f53c"}.fa-money-check-alt:before{content:"\f53d"}.fa-monument:before{content:"\f5a6"}.fa-moon:before{content:"\f186"}.fa-mortar-pestle:before{content:"\f5a7"}.fa-mosque:before{content:"\f678"}.fa-motorcycle:before{content:"\f21c"}.fa-mountain:before{content:"\f6fc"}.fa-mouse-pointer:before{content:"\f245"}.fa-mug-hot:before{content:"\f7b6"}.fa-music:before{content:"\f001"}.fa-napster:before{content:"\f3d2"}.fa-neos:before{content:"\f612"}.fa-network-wired:before{content:"\f6ff"}.fa-neuter:before{content:"\f22c"}.fa-newspaper:before{content:"\f1ea"}.fa-nimblr:before{content:"\f5a8"}.fa-nintendo-switch:before{content:"\f418"}.fa-node:before{content:"\f419"}.fa-node-js:before{content:"\f3d3"}.fa-not-equal:before{content:"\f53e"}.fa-notes-medical:before{content:"\f481"}.fa-npm:before{content:"\f3d4"}.fa-ns8:before{content:"\f3d5"}.fa-nutritionix:before{content:"\f3d6"}.fa-object-group:before{content:"\f247"}.fa-object-ungroup:before{content:"\f248"}.fa-odnoklassniki:before{content:"\f263"}.fa-odnoklassniki-square:before{content:"\f264"}.fa-oil-can:before{content:"\f613"}.fa-old-republic:before{content:"\f510"}.fa-om:before{content:"\f679"}.fa-opencart:before{content:"\f23d"}.fa-openid:before{content:"\f19b"}.fa-opera:before{content:"\f26a"}.fa-optin-monster:before{content:"\f23c"}.fa-osi:before{content:"\f41a"}.fa-otter:before{content:"\f700"}.fa-outdent:before{content:"\f03b"}.fa-page4:before{content:"\f3d7"}.fa-pagelines:before{content:"\f18c"}.fa-pager:before{content:"\f815"}.fa-paint-brush:before{content:"\f1fc"}.fa-paint-roller:before{content:"\f5aa"}.fa-palette:before{content:"\f53f"}.fa-palfed:before{content:"\f3d8"}.fa-pallet:before{content:"\f482"}.fa-paper-plane:before{content:"\f1d8"}.fa-paperclip:before{content:"\f0c6"}.fa-parachute-box:before{content:"\f4cd"}.fa-paragraph:before{content:"\f1dd"}.fa-parking:before{content:"\f540"}.fa-passport:before{content:"\f5ab"}.fa-pastafarianism:before{content:"\f67b"}.fa-paste:before{content:"\f0ea"}.fa-patreon:before{content:"\f3d9"}.fa-pause:before{content:"\f04c"}.fa-pause-circle:before{content:"\f28b"}.fa-paw:before{content:"\f1b0"}.fa-paypal:before{content:"\f1ed"}.fa-peace:before{content:"\f67c"}.fa-pen:before{content:"\f304"}.fa-pen-alt:before{content:"\f305"}.fa-pen-fancy:before{content:"\f5ac"}.fa-pen-nib:before{content:"\f5ad"}.fa-pen-square:before{content:"\f14b"}.fa-pencil-alt:before{content:"\f303"}.fa-pencil-ruler:before{content:"\f5ae"}.fa-penny-arcade:before{content:"\f704"}.fa-people-carry:before{content:"\f4ce"}.fa-pepper-hot:before{content:"\f816"}.fa-percent:before{content:"\f295"}.fa-percentage:before{content:"\f541"}.fa-periscope:before{content:"\f3da"}.fa-person-booth:before{content:"\f756"}.fa-phabricator:before{content:"\f3db"}.fa-phoenix-framework:before{content:"\f3dc"}.fa-phoenix-squadron:before{content:"\f511"}.fa-phone:before{content:"\f095"}.fa-phone-slash:before{content:"\f3dd"}.fa-phone-square:before{content:"\f098"}.fa-phone-volume:before{content:"\f2a0"}.fa-php:before{content:"\f457"}.fa-pied-piper:before{content:"\f2ae"}.fa-pied-piper-alt:before{content:"\f1a8"}.fa-pied-piper-hat:before{content:"\f4e5"}.fa-pied-piper-pp:before{content:"\f1a7"}.fa-piggy-bank:before{content:"\f4d3"}.fa-pills:before{content:"\f484"}.fa-pinterest:before{content:"\f0d2"}.fa-pinterest-p:before{content:"\f231"}.fa-pinterest-square:before{content:"\f0d3"}.fa-pizza-slice:before{content:"\f818"}.fa-place-of-worship:before{content:"\f67f"}.fa-plane:before{content:"\f072"}.fa-plane-arrival:before{content:"\f5af"}.fa-plane-departure:before{content:"\f5b0"}.fa-play:before{content:"\f04b"}.fa-play-circle:before{content:"\f144"}.fa-playstation:before{content:"\f3df"}.fa-plug:before{content:"\f1e6"}.fa-plus:before{content:"\f067"}.fa-plus-circle:before{content:"\f055"}.fa-plus-square:before{content:"\f0fe"}.fa-podcast:before{content:"\f2ce"}.fa-poll:before{content:"\f681"}.fa-poll-h:before{content:"\f682"}.fa-poo:before{content:"\f2fe"}.fa-poo-storm:before{content:"\f75a"}.fa-poop:before{content:"\f619"}.fa-portrait:before{content:"\f3e0"}.fa-pound-sign:before{content:"\f154"}.fa-power-off:before{content:"\f011"}.fa-pray:before{content:"\f683"}.fa-praying-hands:before{content:"\f684"}.fa-prescription:before{content:"\f5b1"}.fa-prescription-bottle:before{content:"\f485"}.fa-prescription-bottle-alt:before{content:"\f486"}.fa-print:before{content:"\f02f"}.fa-procedures:before{content:"\f487"}.fa-product-hunt:before{content:"\f288"}.fa-project-diagram:before{content:"\f542"}.fa-pushed:before{content:"\f3e1"}.fa-puzzle-piece:before{content:"\f12e"}.fa-python:before{content:"\f3e2"}.fa-qq:before{content:"\f1d6"}.fa-qrcode:before{content:"\f029"}.fa-question:before{content:"\f128"}.fa-question-circle:before{content:"\f059"}.fa-quidditch:before{content:"\f458"}.fa-quinscape:before{content:"\f459"}.fa-quora:before{content:"\f2c4"}.fa-quote-left:before{content:"\f10d"}.fa-quote-right:before{content:"\f10e"}.fa-quran:before{content:"\f687"}.fa-r-project:before{content:"\f4f7"}.fa-radiation:before{content:"\f7b9"}.fa-radiation-alt:before{content:"\f7ba"}.fa-rainbow:before{content:"\f75b"}.fa-random:before{content:"\f074"}.fa-raspberry-pi:before{content:"\f7bb"}.fa-ravelry:before{content:"\f2d9"}.fa-react:before{content:"\f41b"}.fa-reacteurope:before{content:"\f75d"}.fa-readme:before{content:"\f4d5"}.fa-rebel:before{content:"\f1d0"}.fa-receipt:before{content:"\f543"}.fa-recycle:before{content:"\f1b8"}.fa-red-river:before{content:"\f3e3"}.fa-reddit:before{content:"\f1a1"}.fa-reddit-alien:before{content:"\f281"}.fa-reddit-square:before{content:"\f1a2"}.fa-redhat:before{content:"\f7bc"}.fa-redo:before{content:"\f01e"}.fa-redo-alt:before{content:"\f2f9"}.fa-registered:before{content:"\f25d"}.fa-renren:before{content:"\f18b"}.fa-reply:before{content:"\f3e5"}.fa-reply-all:before{content:"\f122"}.fa-replyd:before{content:"\f3e6"}.fa-republican:before{content:"\f75e"}.fa-researchgate:before{content:"\f4f8"}.fa-resolving:before{content:"\f3e7"}.fa-restroom:before{content:"\f7bd"}.fa-retweet:before{content:"\f079"}.fa-rev:before{content:"\f5b2"}.fa-ribbon:before{content:"\f4d6"}.fa-ring:before{content:"\f70b"}.fa-road:before{content:"\f018"}.fa-robot:before{content:"\f544"}.fa-rocket:before{content:"\f135"}.fa-rocketchat:before{content:"\f3e8"}.fa-rockrms:before{content:"\f3e9"}.fa-route:before{content:"\f4d7"}.fa-rss:before{content:"\f09e"}.fa-rss-square:before{content:"\f143"}.fa-ruble-sign:before{content:"\f158"}.fa-ruler:before{content:"\f545"}.fa-ruler-combined:before{content:"\f546"}.fa-ruler-horizontal:before{content:"\f547"}.fa-ruler-vertical:before{content:"\f548"}.fa-running:before{content:"\f70c"}.fa-rupee-sign:before{content:"\f156"}.fa-sad-cry:before{content:"\f5b3"}.fa-sad-tear:before{content:"\f5b4"}.fa-safari:before{content:"\f267"}.fa-salesforce:before{content:"\f83b"}.fa-sass:before{content:"\f41e"}.fa-satellite:before{content:"\f7bf"}.fa-satellite-dish:before{content:"\f7c0"}.fa-save:before{content:"\f0c7"}.fa-schlix:before{content:"\f3ea"}.fa-school:before{content:"\f549"}.fa-screwdriver:before{content:"\f54a"}.fa-scribd:before{content:"\f28a"}.fa-scroll:before{content:"\f70e"}.fa-sd-card:before{content:"\f7c2"}.fa-search:before{content:"\f002"}.fa-search-dollar:before{content:"\f688"}.fa-search-location:before{content:"\f689"}.fa-search-minus:before{content:"\f010"}.fa-search-plus:before{content:"\f00e"}.fa-searchengin:before{content:"\f3eb"}.fa-seedling:before{content:"\f4d8"}.fa-sellcast:before{content:"\f2da"}.fa-sellsy:before{content:"\f213"}.fa-server:before{content:"\f233"}.fa-servicestack:before{content:"\f3ec"}.fa-shapes:before{content:"\f61f"}.fa-share:before{content:"\f064"}.fa-share-alt:before{content:"\f1e0"}.fa-share-alt-square:before{content:"\f1e1"}.fa-share-square:before{content:"\f14d"}.fa-shekel-sign:before{content:"\f20b"}.fa-shield-alt:before{content:"\f3ed"}.fa-ship:before{content:"\f21a"}.fa-shipping-fast:before{content:"\f48b"}.fa-shirtsinbulk:before{content:"\f214"}.fa-shoe-prints:before{content:"\f54b"}.fa-shopping-bag:before{content:"\f290"}.fa-shopping-basket:before{content:"\f291"}.fa-shopping-cart:before{content:"\f07a"}.fa-shopware:before{content:"\f5b5"}.fa-shower:before{content:"\f2cc"}.fa-shuttle-van:before{content:"\f5b6"}.fa-sign:before{content:"\f4d9"}.fa-sign-in-alt:before{content:"\f2f6"}.fa-sign-language:before{content:"\f2a7"}.fa-sign-out-alt:before{content:"\f2f5"}.fa-signal:before{content:"\f012"}.fa-signature:before{content:"\f5b7"}.fa-sim-card:before{content:"\f7c4"}.fa-simplybuilt:before{content:"\f215"}.fa-sistrix:before{content:"\f3ee"}.fa-sitemap:before{content:"\f0e8"}.fa-sith:before{content:"\f512"}.fa-skating:before{content:"\f7c5"}.fa-sketch:before{content:"\f7c6"}.fa-skiing:before{content:"\f7c9"}.fa-skiing-nordic:before{content:"\f7ca"}.fa-skull:before{content:"\f54c"}.fa-skull-crossbones:before{content:"\f714"}.fa-skyatlas:before{content:"\f216"}.fa-skype:before{content:"\f17e"}.fa-slack:before{content:"\f198"}.fa-slack-hash:before{content:"\f3ef"}.fa-slash:before{content:"\f715"}.fa-sleigh:before{content:"\f7cc"}.fa-sliders-h:before{content:"\f1de"}.fa-slideshare:before{content:"\f1e7"}.fa-smile:before{content:"\f118"}.fa-smile-beam:before{content:"\f5b8"}.fa-smile-wink:before{content:"\f4da"}.fa-smog:before{content:"\f75f"}.fa-smoking:before{content:"\f48d"}.fa-smoking-ban:before{content:"\f54d"}.fa-sms:before{content:"\f7cd"}.fa-snapchat:before{content:"\f2ab"}.fa-snapchat-ghost:before{content:"\f2ac"}.fa-snapchat-square:before{content:"\f2ad"}.fa-snowboarding:before{content:"\f7ce"}.fa-snowflake:before{content:"\f2dc"}.fa-snowman:before{content:"\f7d0"}.fa-snowplow:before{content:"\f7d2"}.fa-socks:before{content:"\f696"}.fa-solar-panel:before{content:"\f5ba"}.fa-sort:before{content:"\f0dc"}.fa-sort-alpha-down:before{content:"\f15d"}.fa-sort-alpha-up:before{content:"\f15e"}.fa-sort-amount-down:before{content:"\f160"}.fa-sort-amount-up:before{content:"\f161"}.fa-sort-down:before{content:"\f0dd"}.fa-sort-numeric-down:before{content:"\f162"}.fa-sort-numeric-up:before{content:"\f163"}.fa-sort-up:before{content:"\f0de"}.fa-soundcloud:before{content:"\f1be"}.fa-sourcetree:before{content:"\f7d3"}.fa-spa:before{content:"\f5bb"}.fa-space-shuttle:before{content:"\f197"}.fa-speakap:before{content:"\f3f3"}.fa-speaker-deck:before{content:"\f83c"}.fa-spider:before{content:"\f717"}.fa-spinner:before{content:"\f110"}.fa-splotch:before{content:"\f5bc"}.fa-spotify:before{content:"\f1bc"}.fa-spray-can:before{content:"\f5bd"}.fa-square:before{content:"\f0c8"}.fa-square-full:before{content:"\f45c"}.fa-square-root-alt:before{content:"\f698"}.fa-squarespace:before{content:"\f5be"}.fa-stack-exchange:before{content:"\f18d"}.fa-stack-overflow:before{content:"\f16c"}.fa-stamp:before{content:"\f5bf"}.fa-star:before{content:"\f005"}.fa-star-and-crescent:before{content:"\f699"}.fa-star-half:before{content:"\f089"}.fa-star-half-alt:before{content:"\f5c0"}.fa-star-of-david:before{content:"\f69a"}.fa-star-of-life:before{content:"\f621"}.fa-staylinked:before{content:"\f3f5"}.fa-steam:before{content:"\f1b6"}.fa-steam-square:before{content:"\f1b7"}.fa-steam-symbol:before{content:"\f3f6"}.fa-step-backward:before{content:"\f048"}.fa-step-forward:before{content:"\f051"}.fa-stethoscope:before{content:"\f0f1"}.fa-sticker-mule:before{content:"\f3f7"}.fa-sticky-note:before{content:"\f249"}.fa-stop:before{content:"\f04d"}.fa-stop-circle:before{content:"\f28d"}.fa-stopwatch:before{content:"\f2f2"}.fa-store:before{content:"\f54e"}.fa-store-alt:before{content:"\f54f"}.fa-strava:before{content:"\f428"}.fa-stream:before{content:"\f550"}.fa-street-view:before{content:"\f21d"}.fa-strikethrough:before{content:"\f0cc"}.fa-stripe:before{content:"\f429"}.fa-stripe-s:before{content:"\f42a"}.fa-stroopwafel:before{content:"\f551"}.fa-studiovinari:before{content:"\f3f8"}.fa-stumbleupon:before{content:"\f1a4"}.fa-stumbleupon-circle:before{content:"\f1a3"}.fa-subscript:before{content:"\f12c"}.fa-subway:before{content:"\f239"}.fa-suitcase:before{content:"\f0f2"}.fa-suitcase-rolling:before{content:"\f5c1"}.fa-sun:before{content:"\f185"}.fa-superpowers:before{content:"\f2dd"}.fa-superscript:before{content:"\f12b"}.fa-supple:before{content:"\f3f9"}.fa-surprise:before{content:"\f5c2"}.fa-suse:before{content:"\f7d6"}.fa-swatchbook:before{content:"\f5c3"}.fa-swimmer:before{content:"\f5c4"}.fa-swimming-pool:before{content:"\f5c5"}.fa-symfony:before{content:"\f83d"}.fa-synagogue:before{content:"\f69b"}.fa-sync:before{content:"\f021"}.fa-sync-alt:before{content:"\f2f1"}.fa-syringe:before{content:"\f48e"}.fa-table:before{content:"\f0ce"}.fa-table-tennis:before{content:"\f45d"}.fa-tablet:before{content:"\f10a"}.fa-tablet-alt:before{content:"\f3fa"}.fa-tablets:before{content:"\f490"}.fa-tachometer-alt:before{content:"\f3fd"}.fa-tag:before{content:"\f02b"}.fa-tags:before{content:"\f02c"}.fa-tape:before{content:"\f4db"}.fa-tasks:before{content:"\f0ae"}.fa-taxi:before{content:"\f1ba"}.fa-teamspeak:before{content:"\f4f9"}.fa-teeth:before{content:"\f62e"}.fa-teeth-open:before{content:"\f62f"}.fa-telegram:before{content:"\f2c6"}.fa-telegram-plane:before{content:"\f3fe"}.fa-temperature-high:before{content:"\f769"}.fa-temperature-low:before{content:"\f76b"}.fa-tencent-weibo:before{content:"\f1d5"}.fa-tenge:before{content:"\f7d7"}.fa-terminal:before{content:"\f120"}.fa-text-height:before{content:"\f034"}.fa-text-width:before{content:"\f035"}.fa-th:before{content:"\f00a"}.fa-th-large:before{content:"\f009"}.fa-th-list:before{content:"\f00b"}.fa-the-red-yeti:before{content:"\f69d"}.fa-theater-masks:before{content:"\f630"}.fa-themeco:before{content:"\f5c6"}.fa-themeisle:before{content:"\f2b2"}.fa-thermometer:before{content:"\f491"}.fa-thermometer-empty:before{content:"\f2cb"}.fa-thermometer-full:before{content:"\f2c7"}.fa-thermometer-half:before{content:"\f2c9"}.fa-thermometer-quarter:before{content:"\f2ca"}.fa-thermometer-three-quarters:before{content:"\f2c8"}.fa-think-peaks:before{content:"\f731"}.fa-thumbs-down:before{content:"\f165"}.fa-thumbs-up:before{content:"\f164"}.fa-thumbtack:before{content:"\f08d"}.fa-ticket-alt:before{content:"\f3ff"}.fa-times:before{content:"\f00d"}.fa-times-circle:before{content:"\f057"}.fa-tint:before{content:"\f043"}.fa-tint-slash:before{content:"\f5c7"}.fa-tired:before{content:"\f5c8"}.fa-toggle-off:before{content:"\f204"}.fa-toggle-on:before{content:"\f205"}.fa-toilet:before{content:"\f7d8"}.fa-toilet-paper:before{content:"\f71e"}.fa-toolbox:before{content:"\f552"}.fa-tools:before{content:"\f7d9"}.fa-tooth:before{content:"\f5c9"}.fa-torah:before{content:"\f6a0"}.fa-torii-gate:before{content:"\f6a1"}.fa-tractor:before{content:"\f722"}.fa-trade-federation:before{content:"\f513"}.fa-trademark:before{content:"\f25c"}.fa-traffic-light:before{content:"\f637"}.fa-train:before{content:"\f238"}.fa-tram:before{content:"\f7da"}.fa-transgender:before{content:"\f224"}.fa-transgender-alt:before{content:"\f225"}.fa-trash:before{content:"\f1f8"}.fa-trash-alt:before{content:"\f2ed"}.fa-trash-restore:before{content:"\f829"}.fa-trash-restore-alt:before{content:"\f82a"}.fa-tree:before{content:"\f1bb"}.fa-trello:before{content:"\f181"}.fa-tripadvisor:before{content:"\f262"}.fa-trophy:before{content:"\f091"}.fa-truck:before{content:"\f0d1"}.fa-truck-loading:before{content:"\f4de"}.fa-truck-monster:before{content:"\f63b"}.fa-truck-moving:before{content:"\f4df"}.fa-truck-pickup:before{content:"\f63c"}.fa-tshirt:before{content:"\f553"}.fa-tty:before{content:"\f1e4"}.fa-tumblr:before{content:"\f173"}.fa-tumblr-square:before{content:"\f174"}.fa-tv:before{content:"\f26c"}.fa-twitch:before{content:"\f1e8"}.fa-twitter:before{content:"\f099"}.fa-twitter-square:before{content:"\f081"}.fa-typo3:before{content:"\f42b"}.fa-uber:before{content:"\f402"}.fa-ubuntu:before{content:"\f7df"}.fa-uikit:before{content:"\f403"}.fa-umbrella:before{content:"\f0e9"}.fa-umbrella-beach:before{content:"\f5ca"}.fa-underline:before{content:"\f0cd"}.fa-undo:before{content:"\f0e2"}.fa-undo-alt:before{content:"\f2ea"}.fa-uniregistry:before{content:"\f404"}.fa-universal-access:before{content:"\f29a"}.fa-university:before{content:"\f19c"}.fa-unlink:before{content:"\f127"}.fa-unlock:before{content:"\f09c"}.fa-unlock-alt:before{content:"\f13e"}.fa-untappd:before{content:"\f405"}.fa-upload:before{content:"\f093"}.fa-ups:before{content:"\f7e0"}.fa-usb:before{content:"\f287"}.fa-user:before{content:"\f007"}.fa-user-alt:before{content:"\f406"}.fa-user-alt-slash:before{content:"\f4fa"}.fa-user-astronaut:before{content:"\f4fb"}.fa-user-check:before{content:"\f4fc"}.fa-user-circle:before{content:"\f2bd"}.fa-user-clock:before{content:"\f4fd"}.fa-user-cog:before{content:"\f4fe"}.fa-user-edit:before{content:"\f4ff"}.fa-user-friends:before{content:"\f500"}.fa-user-graduate:before{content:"\f501"}.fa-user-injured:before{content:"\f728"}.fa-user-lock:before{content:"\f502"}.fa-user-md:before{content:"\f0f0"}.fa-user-minus:before{content:"\f503"}.fa-user-ninja:before{content:"\f504"}.fa-user-nurse:before{content:"\f82f"}.fa-user-plus:before{content:"\f234"}.fa-user-secret:before{content:"\f21b"}.fa-user-shield:before{content:"\f505"}.fa-user-slash:before{content:"\f506"}.fa-user-tag:before{content:"\f507"}.fa-user-tie:before{content:"\f508"}.fa-user-times:before{content:"\f235"}.fa-users:before{content:"\f0c0"}.fa-users-cog:before{content:"\f509"}.fa-usps:before{content:"\f7e1"}.fa-ussunnah:before{content:"\f407"}.fa-utensil-spoon:before{content:"\f2e5"}.fa-utensils:before{content:"\f2e7"}.fa-vaadin:before{content:"\f408"}.fa-vector-square:before{content:"\f5cb"}.fa-venus:before{content:"\f221"}.fa-venus-double:before{content:"\f226"}.fa-venus-mars:before{content:"\f228"}.fa-viacoin:before{content:"\f237"}.fa-viadeo:before{content:"\f2a9"}.fa-viadeo-square:before{content:"\f2aa"}.fa-vial:before{content:"\f492"}.fa-vials:before{content:"\f493"}.fa-viber:before{content:"\f409"}.fa-video:before{content:"\f03d"}.fa-video-slash:before{content:"\f4e2"}.fa-vihara:before{content:"\f6a7"}.fa-vimeo:before{content:"\f40a"}.fa-vimeo-square:before{content:"\f194"}.fa-vimeo-v:before{content:"\f27d"}.fa-vine:before{content:"\f1ca"}.fa-vk:before{content:"\f189"}.fa-vnv:before{content:"\f40b"}.fa-volleyball-ball:before{content:"\f45f"}.fa-volume-down:before{content:"\f027"}.fa-volume-mute:before{content:"\f6a9"}.fa-volume-off:before{content:"\f026"}.fa-volume-up:before{content:"\f028"}.fa-vote-yea:before{content:"\f772"}.fa-vr-cardboard:before{content:"\f729"}.fa-vuejs:before{content:"\f41f"}.fa-walking:before{content:"\f554"}.fa-wallet:before{content:"\f555"}.fa-warehouse:before{content:"\f494"}.fa-water:before{content:"\f773"}.fa-wave-square:before{content:"\f83e"}.fa-waze:before{content:"\f83f"}.fa-weebly:before{content:"\f5cc"}.fa-weibo:before{content:"\f18a"}.fa-weight:before{content:"\f496"}.fa-weight-hanging:before{content:"\f5cd"}.fa-weixin:before{content:"\f1d7"}.fa-whatsapp:before{content:"\f232"}.fa-whatsapp-square:before{content:"\f40c"}.fa-wheelchair:before{content:"\f193"}.fa-whmcs:before{content:"\f40d"}.fa-wifi:before{content:"\f1eb"}.fa-wikipedia-w:before{content:"\f266"}.fa-wind:before{content:"\f72e"}.fa-window-close:before{content:"\f410"}.fa-window-maximize:before{content:"\f2d0"}.fa-window-minimize:before{content:"\f2d1"}.fa-window-restore:before{content:"\f2d2"}.fa-windows:before{content:"\f17a"}.fa-wine-bottle:before{content:"\f72f"}.fa-wine-glass:before{content:"\f4e3"}.fa-wine-glass-alt:before{content:"\f5ce"}.fa-wix:before{content:"\f5cf"}.fa-wizards-of-the-coast:before{content:"\f730"}.fa-wolf-pack-battalion:before{content:"\f514"}.fa-won-sign:before{content:"\f159"}.fa-wordpress:before{content:"\f19a"}.fa-wordpress-simple:before{content:"\f411"}.fa-wpbeginner:before{content:"\f297"}.fa-wpexplorer:before{content:"\f2de"}.fa-wpforms:before{content:"\f298"}.fa-wpressr:before{content:"\f3e4"}.fa-wrench:before{content:"\f0ad"}.fa-x-ray:before{content:"\f497"}.fa-xbox:before{content:"\f412"}.fa-xing:before{content:"\f168"}.fa-xing-square:before{content:"\f169"}.fa-y-combinator:before{content:"\f23b"}.fa-yahoo:before{content:"\f19e"}.fa-yammer:before{content:"\f840"}.fa-yandex:before{content:"\f413"}.fa-yandex-international:before{content:"\f414"}.fa-yarn:before{content:"\f7e3"}.fa-yelp:before{content:"\f1e9"}.fa-yen-sign:before{content:"\f157"}.fa-yin-yang:before{content:"\f6ad"}.fa-yoast:before{content:"\f2b1"}.fa-youtube:before{content:"\f167"}.fa-youtube-square:before{content:"\f431"}.fa-zhihu:before{content:"\f63f"}.sr-only{border:0;clip:rect(0,0,0,0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.sr-only-focusable:active,.sr-only-focusable:focus{clip:auto;height:auto;margin:0;overflow:visible;position:static;width:auto}@font-face{font-family:Font Awesome\ 5 Brands;font-style:normal;font-weight:400;font-display:auto;src:url(../webfonts/fa-brands-400.eot);src:url(../webfonts/fa-brands-400.eot?#iefix) format("embedded-opentype"),url(../webfonts/fa-brands-400.woff2) format("woff2"),url(../webfonts/fa-brands-400.woff) format("woff"),url(../webfonts/fa-brands-400.ttf) format("truetype"),url(../webfonts/fa-brands-400.svg#fontawesome) format("svg")}.fab{font-family:Font Awesome\ 5 Brands}@font-face{font-family:Font Awesome\ 5 Free;font-style:normal;font-weight:400;font-display:auto;src:url(../webfonts/fa-regular-400.eot);src:url(../webfonts/fa-regular-400.eot?#iefix) format("embedded-opentype"),url(../webfonts/fa-regular-400.woff2) format("woff2"),url(../webfonts/fa-regular-400.woff) format("woff"),url(../webfonts/fa-regular-400.ttf) format("truetype"),url(../webfonts/fa-regular-400.svg#fontawesome) format("svg")}.far{font-weight:400}@font-face{font-family:Font Awesome\ 5 Free;font-style:normal;font-weight:900;font-display:auto;src:url(../webfonts/fa-solid-900.eot);src:url(../webfonts/fa-solid-900.eot?#iefix) format("embedded-opentype"),url(../webfonts/fa-solid-900.woff2) format("woff2"),url(../webfonts/fa-solid-900.woff) format("woff"),url(../webfonts/fa-solid-900.ttf) format("truetype"),url(../webfonts/fa-solid-900.svg#fontawesome) format("svg")}.fa,.far,.fas{font-family:Font Awesome\ 5 Free}.fa,.fas{font-weight:900}.owl-carousel,.owl-carousel .owl-item{-webkit-tap-highlight-color:transparent;position:relative}.owl-carousel{display:none;width:100%;z-index:1}.owl-carousel .owl-stage{position:relative;-ms-touch-action:pan-Y;touch-action:manipulation;-moz-backface-visibility:hidden}.owl-carousel .owl-stage:after{content:".";display:block;clear:both;visibility:hidden;line-height:0;height:0}.owl-carousel .owl-stage-outer{position:relative;overflow:hidden;-webkit-transform:translateZ(0)}.owl-carousel .owl-item,.owl-carousel .owl-wrapper{-webkit-backface-visibility:hidden;-moz-backface-visibility:hidden;-ms-backface-visibility:hidden;-webkit-transform:translateZ(0);-moz-transform:translateZ(0);-ms-transform:translateZ(0)}.owl-carousel .owl-item{min-height:1px;float:left;-webkit-backface-visibility:hidden;-webkit-touch-callout:none}.owl-carousel .owl-item img{display:block;width:100%}.owl-carousel .owl-dots.disabled,.owl-carousel .owl-nav.disabled{display:none}.no-js .owl-carousel,.owl-carousel.owl-loaded{display:block}.owl-carousel .owl-dot,.owl-carousel .owl-nav .owl-next,.owl-carousel .owl-nav .owl-prev{cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.owl-carousel .owl-nav button.owl-next,.owl-carousel .owl-nav button.owl-prev,.owl-carousel button.owl-dot{background:0 0;color:inherit;border:none;padding:0!important;font:inherit}.owl-carousel.owl-loading{opacity:0;display:block}.owl-carousel.owl-hidden{opacity:0}.owl-carousel.owl-refresh .owl-item{visibility:hidden}.owl-carousel.owl-drag .owl-item{-ms-touch-action:pan-y;touch-action:pan-y;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.owl-carousel.owl-grab{cursor:move;cursor:grab}.owl-carousel.owl-rtl{direction:rtl}.owl-carousel.owl-rtl .owl-item{float:right}.owl-carousel .animated{animation-duration:1s;animation-fill-mode:both}.owl-carousel .owl-animated-in{z-index:0}.owl-carousel .owl-animated-out{z-index:1}.owl-carousel .fadeOut{animation-name:fadeOut}@keyframes fadeOut{0%{opacity:1}to{opacity:0}}.owl-height{transition:height .5s ease-in-out}.owl-carousel .owl-item .owl-lazy{opacity:0;transition:opacity .4s ease}.owl-carousel .owl-item .owl-lazy:not([src]),.owl-carousel .owl-item .owl-lazy[src^=""]{max-height:0}.owl-carousel .owl-item img.owl-lazy{transform-style:preserve-3d}.owl-carousel .owl-video-wrapper{position:relative;height:100%;background:#000}.owl-carousel .owl-video-play-icon{position:absolute;height:80px;width:80px;left:50%;top:50%;margin-left:-40px;margin-top:-40px;background:url(owl.video.play.png) no-repeat;cursor:pointer;z-index:1;-webkit-backface-visibility:hidden;transition:transform .1s ease}.owl-carousel .owl-video-play-icon:hover{transform:scale(1.3)}.owl-carousel .owl-video-playing .owl-video-play-icon,.owl-carousel .owl-video-playing .owl-video-tn{display:none}.owl-carousel .owl-video-tn{opacity:0;height:100%;background-position:50%;background-repeat:no-repeat;background-size:contain;transition:opacity .4s ease}.owl-carousel .owl-video-frame{position:relative;z-index:1;height:100%;width:100%}@keyframes jump{0%{transform:translateZ(0)}40%{transform:translate3d(0,50%,0)}to{transform:translateZ(0)}}@keyframes rotated{0%{transform:rotate(0)}to{transform:rotate(1turn)}}@keyframes rotatedHalf{0%{transform:rotate(0)}50%{transform:rotate(90deg)}to{transform:rotate(0)}}@keyframes rotatedHalfTwo{0%{transform:rotate(-90deg)}to{transform:rotate(90deg)}}@keyframes scale-upOne{0%{transform:scale(1)}to{transform:scale(.2)}}@keyframes scale-right{0%{transform:translateX(-50%)}50%{transform:translateX(50%)}to{transform:translateX(-50%)}}@keyframes fade-in{0%{opacity:.7}40%{opacity:1}to{opacity:.7}}@keyframes hvr-ripple-out{0%{top:0;right:0;bottom:0;left:0;opacity:1}to{top:-6px;right:-6px;bottom:-6px;left:-6px;opacity:0}}@keyframes hvr-ripple-out-two{0%{top:0;right:0;bottom:0;left:0;opacity:1}to{top:-12px;right:-12px;bottom:-12px;left:-12px;opacity:0}}@keyframes scale-up-one{0%{transform:scale(1)}40%{transform:scale(.5)}to{transform:scale(1)}}@keyframes scale-up-two{0%{transform:scale(.5)}40%{transform:scale(.8)}to{transform:scale(.5)}}@keyframes scale-up-three{0%{transform:scale(.7)}40%{transform:scale(.4)}to{transform:scale(.7)}}@keyframes animationFramesOne{0%{transform:translate(0) rotate(0deg)}20%{transform:translate(73px,-1px) rotate(36deg)}40%{transform:translate(141px,72px) rotate(72deg)}60%{transform:translate(83px,122px) rotate(108deg)}80%{transform:translate(-40px,72px) rotate(144deg)}to{transform:translate(0) rotate(0deg)}}@keyframes animationFramesTwo{0%{transform:translate(0) rotate(0deg) scale(1)}20%{transform:translate(73px,-1px) rotate(36deg) scale(.9)}40%{transform:translate(141px,72px) rotate(72deg) scale(1)}60%{transform:translate(83px,122px) rotate(108deg) scale(1.2)}80%{transform:translate(-40px,72px) rotate(144deg) scale(1.1)}to{transform:translate(0) rotate(0deg) scale(1)}}@keyframes animationFramesThree{0%{transform:translate(165px,-179px)}to{transform:translate(-346px,617px)}}@keyframes animationFramesFour{0%{transform:translate(-300px,151px) rotate(0deg)}to{transform:translate(251px,-200px) rotate(180deg)}}@keyframes animationFramesFive{0%{transform:translate(61px,-99px) rotate(0deg)}21%{transform:translate(4px,-190px) rotate(38deg)}41%{transform:translate(-139px,-200px) rotate(74deg)}60%{transform:translate(-263px,-164px) rotate(108deg)}80%{transform:translate(-195px,-49px) rotate(144deg)}to{transform:translate(-1px) rotate(180deg)}}@keyframes gradientBG{0%{background-position:0 0}50%{background-position:300% 0}to{background-position:0 0}}@keyframes imageBgAnim{0%{background-position:0 0}50%{background-position:120% 0}to{background-position:0 0}}.menu-collapser{top:10px;width:30px;height:30px;padding:0;color:transparent;font-size:16px;line-height:48px}.collapse-button,.menu-collapser{background-color:transparent;box-sizing:border-box;-moz-box-sizing:border-box;-webkit-box-sizing:border-box;position:absolute;right:0}.collapse-button{top:5px;width:40px;padding:7px;color:#000;font-size:14px;text-align:center;border-radius:2px;cursor:pointer;transform:translateY(-50%);-o-transform:translateY(-50%);-ms-transform:translateY(-50%);-moz-transform:translateY(-50%);-webkit-transform:translateY(-50%)}ul.slimmenu,ul.slimmenu ul{padding:0;margin:0}.collapse-button .icon-bar{display:block;height:2px;width:25px;margin:5px 0;background-color:#000;border-radius:1px}ul.slimmenu{width:100%;list-style-type:none}ul.slimmenu:after,ul.slimmenu:before{content:"";display:table}ul.slimmenu:after{clear:both}ul.slimmenu.collapsed li{display:block;width:100%;box-sizing:border-box;-moz-box-sizing:border-box;-webkit-box-sizing:border-box}ul.slimmenu.collapsed li>ul{position:static;display:none}ul.slimmenu.collapsed li a{display:block;border-bottom:1px solid rgba(0,0,0,.075);box-sizing:border-box;-moz-box-sizing:border-box;-webkit-box-sizing:border-box}ul.slimmenu.collapsed li .sub-toggle{height:40px}ul.slimmenu li{position:relative;float:left;display:inline-block;background-color:#aaa}ul.slimmenu li>ul,ul.slimmenu li>ul>li ul{display:none;width:100%;position:absolute;z-index:999}ul.slimmenu li ul{margin:0;list-style-type:none}ul.slimmenu li>ul{left:0;top:100%}ul.slimmenu li>ul>li ul{left:100%;top:0}ul.slimmenu li a{display:block;padding:12px 64px 12px 16px;color:#333;font-size:16px;font-weight:400;transition:background-color .5s ease-out;-o-transition:background-color .5s ease-out;-moz-transition:background-color .5s ease-out;-webkit-transition:background-color .5s ease-out}ul.slimmenu li a:hover{text-decoration:none}ul.slimmenu li .sub-toggle{background:rgba(0,0,0,.075);position:absolute;right:0;top:0;z-index:999;width:48px;height:100%;text-align:center;cursor:pointer}ul.slimmenu li .sub-toggle:before{content:"";display:inline-block;height:100%;margin-right:-.25em;vertical-align:middle}ul.slimmenu li .sub-toggle>i{display:inline-block;color:#333;vertical-align:middle}ul.slimmenu>li{border-left:1px solid #999}ul.slimmenu>li.has-submenu+li,ul.slimmenu>li:first-child{border-left:0} \ No newline at end of file diff --git a/assets/images/App-Store.png b/assets/images/App-Store.png new file mode 100644 index 000000000..8b11f0994 Binary files /dev/null and b/assets/images/App-Store.png differ diff --git a/assets/images/Google-Play-Button.png b/assets/images/Google-Play-Button.png new file mode 100644 index 000000000..95643d7b6 Binary files /dev/null and b/assets/images/Google-Play-Button.png differ diff --git a/assets/images/admin-avatar.jpg b/assets/images/admin-avatar.jpg new file mode 100644 index 000000000..d031ed151 Binary files /dev/null and b/assets/images/admin-avatar.jpg differ diff --git a/assets/images/apps-screenshot.svg b/assets/images/apps-screenshot.svg new file mode 100644 index 000000000..7e3b28471 --- /dev/null +++ b/assets/images/apps-screenshot.svg @@ -0,0 +1 @@ +post online \ No newline at end of file diff --git a/assets/images/appstore.png b/assets/images/appstore.png new file mode 100644 index 000000000..8f304444f Binary files /dev/null and b/assets/images/appstore.png differ diff --git a/assets/images/arrow-key.png b/assets/images/arrow-key.png new file mode 100644 index 000000000..baf6bbd9d Binary files /dev/null and b/assets/images/arrow-key.png differ diff --git a/assets/images/author-img1.jpg b/assets/images/author-img1.jpg new file mode 100644 index 000000000..2d5cbabc2 Binary files /dev/null and b/assets/images/author-img1.jpg differ diff --git a/assets/images/author-img10.jpg b/assets/images/author-img10.jpg new file mode 100644 index 000000000..accfa1ba4 Binary files /dev/null and b/assets/images/author-img10.jpg differ diff --git a/assets/images/author-img11.jpg b/assets/images/author-img11.jpg new file mode 100644 index 000000000..b65870538 Binary files /dev/null and b/assets/images/author-img11.jpg differ diff --git a/assets/images/author-img12.jpg b/assets/images/author-img12.jpg new file mode 100644 index 000000000..f1e27d3a6 Binary files /dev/null and b/assets/images/author-img12.jpg differ diff --git a/assets/images/author-img2.jpg b/assets/images/author-img2.jpg new file mode 100644 index 000000000..f1e0586ad Binary files /dev/null and b/assets/images/author-img2.jpg differ diff --git a/assets/images/author-img3.jpg b/assets/images/author-img3.jpg new file mode 100644 index 000000000..7f0124cd0 Binary files /dev/null and b/assets/images/author-img3.jpg differ diff --git a/assets/images/author-img4.jpg b/assets/images/author-img4.jpg new file mode 100644 index 000000000..bcc8031c7 Binary files /dev/null and b/assets/images/author-img4.jpg differ diff --git a/assets/images/author-img5.jpg b/assets/images/author-img5.jpg new file mode 100644 index 000000000..3f7ad7769 Binary files /dev/null and b/assets/images/author-img5.jpg differ diff --git a/assets/images/author-img6.jpg b/assets/images/author-img6.jpg new file mode 100644 index 000000000..0f44aa077 Binary files /dev/null and b/assets/images/author-img6.jpg differ diff --git a/assets/images/author-img7.jpg b/assets/images/author-img7.jpg new file mode 100644 index 000000000..870393641 Binary files /dev/null and b/assets/images/author-img7.jpg differ diff --git a/assets/images/author-img8.jpg b/assets/images/author-img8.jpg new file mode 100644 index 000000000..e4bd04cee Binary files /dev/null and b/assets/images/author-img8.jpg differ diff --git a/assets/images/author-img9.jpg b/assets/images/author-img9.jpg new file mode 100644 index 000000000..4c8a20c83 Binary files /dev/null and b/assets/images/author-img9.jpg differ diff --git a/assets/images/banner-mockup.png b/assets/images/banner-mockup.png new file mode 100644 index 000000000..077fb8a23 Binary files /dev/null and b/assets/images/banner-mockup.png differ diff --git a/assets/images/bg-image1.jpg b/assets/images/bg-image1.jpg new file mode 100644 index 000000000..1ba65c2fb Binary files /dev/null and b/assets/images/bg-image1.jpg differ diff --git a/assets/images/blog-author-img.jpg b/assets/images/blog-author-img.jpg new file mode 100644 index 000000000..10169d96c Binary files /dev/null and b/assets/images/blog-author-img.jpg differ diff --git a/assets/images/blog-author-img2.jpg b/assets/images/blog-author-img2.jpg new file mode 100644 index 000000000..1178beade Binary files /dev/null and b/assets/images/blog-author-img2.jpg differ diff --git a/assets/images/blog-author-img3.jpg b/assets/images/blog-author-img3.jpg new file mode 100644 index 000000000..c4ae2d321 Binary files /dev/null and b/assets/images/blog-author-img3.jpg differ diff --git a/assets/images/blog-author-img4.jpg b/assets/images/blog-author-img4.jpg new file mode 100644 index 000000000..6772ce825 Binary files /dev/null and b/assets/images/blog-author-img4.jpg differ diff --git a/assets/images/blog-author-img5.jpg b/assets/images/blog-author-img5.jpg new file mode 100644 index 000000000..6e0cf1df5 Binary files /dev/null and b/assets/images/blog-author-img5.jpg differ diff --git a/assets/images/blog-img1.jpg b/assets/images/blog-img1.jpg new file mode 100644 index 000000000..ddfa3d439 Binary files /dev/null and b/assets/images/blog-img1.jpg differ diff --git a/assets/images/blog-img1.png b/assets/images/blog-img1.png new file mode 100644 index 000000000..a1e5b11e3 Binary files /dev/null and b/assets/images/blog-img1.png differ diff --git a/assets/images/blog-img10.jpg b/assets/images/blog-img10.jpg new file mode 100644 index 000000000..680d7de1d Binary files /dev/null and b/assets/images/blog-img10.jpg differ diff --git a/assets/images/blog-img10.png b/assets/images/blog-img10.png new file mode 100644 index 000000000..f9456757a Binary files /dev/null and b/assets/images/blog-img10.png differ diff --git a/assets/images/blog-img11.jpg b/assets/images/blog-img11.jpg new file mode 100644 index 000000000..ae436ee0b Binary files /dev/null and b/assets/images/blog-img11.jpg differ diff --git a/assets/images/blog-img12.jpg b/assets/images/blog-img12.jpg new file mode 100644 index 000000000..8d2413e82 Binary files /dev/null and b/assets/images/blog-img12.jpg differ diff --git a/assets/images/blog-img13.jpg b/assets/images/blog-img13.jpg new file mode 100644 index 000000000..5bbc3c3ac Binary files /dev/null and b/assets/images/blog-img13.jpg differ diff --git a/assets/images/blog-img14.jpg b/assets/images/blog-img14.jpg new file mode 100644 index 000000000..ac38ac9ad Binary files /dev/null and b/assets/images/blog-img14.jpg differ diff --git a/assets/images/blog-img2.jpg b/assets/images/blog-img2.jpg new file mode 100644 index 000000000..8582ee415 Binary files /dev/null and b/assets/images/blog-img2.jpg differ diff --git a/assets/images/blog-img2.png b/assets/images/blog-img2.png new file mode 100644 index 000000000..3f6cc8e12 Binary files /dev/null and b/assets/images/blog-img2.png differ diff --git a/assets/images/blog-img3.jpg b/assets/images/blog-img3.jpg new file mode 100644 index 000000000..3aa65e88c Binary files /dev/null and b/assets/images/blog-img3.jpg differ diff --git a/assets/images/blog-img3.png b/assets/images/blog-img3.png new file mode 100644 index 000000000..1fcc17989 Binary files /dev/null and b/assets/images/blog-img3.png differ diff --git a/assets/images/blog-img4.jpg b/assets/images/blog-img4.jpg new file mode 100644 index 000000000..038b49f54 Binary files /dev/null and b/assets/images/blog-img4.jpg differ diff --git a/assets/images/blog-img4.png b/assets/images/blog-img4.png new file mode 100644 index 000000000..77a486731 Binary files /dev/null and b/assets/images/blog-img4.png differ diff --git a/assets/images/blog-img5.jpg b/assets/images/blog-img5.jpg new file mode 100644 index 000000000..8b52c6ef4 Binary files /dev/null and b/assets/images/blog-img5.jpg differ diff --git a/assets/images/blog-img5.png b/assets/images/blog-img5.png new file mode 100644 index 000000000..1b15f67dc Binary files /dev/null and b/assets/images/blog-img5.png differ diff --git a/assets/images/blog-img6.jpg b/assets/images/blog-img6.jpg new file mode 100644 index 000000000..54d9d230f Binary files /dev/null and b/assets/images/blog-img6.jpg differ diff --git a/assets/images/blog-img6.png b/assets/images/blog-img6.png new file mode 100644 index 000000000..46a2d83d7 Binary files /dev/null and b/assets/images/blog-img6.png differ diff --git a/assets/images/blog-img7.jpg b/assets/images/blog-img7.jpg new file mode 100644 index 000000000..142467e1f Binary files /dev/null and b/assets/images/blog-img7.jpg differ diff --git a/assets/images/blog-img7.png b/assets/images/blog-img7.png new file mode 100644 index 000000000..1740f00ec Binary files /dev/null and b/assets/images/blog-img7.png differ diff --git a/assets/images/blog-img8.jpg b/assets/images/blog-img8.jpg new file mode 100644 index 000000000..f037c8660 Binary files /dev/null and b/assets/images/blog-img8.jpg differ diff --git a/assets/images/blog-img8.png b/assets/images/blog-img8.png new file mode 100644 index 000000000..c57160f5c Binary files /dev/null and b/assets/images/blog-img8.png differ diff --git a/assets/images/blog-img9.jpg b/assets/images/blog-img9.jpg new file mode 100644 index 000000000..996a55913 Binary files /dev/null and b/assets/images/blog-img9.jpg differ diff --git a/assets/images/blog-img9.png b/assets/images/blog-img9.png new file mode 100644 index 000000000..2a6e70dcd Binary files /dev/null and b/assets/images/blog-img9.png differ diff --git a/assets/images/blog/authors/cutter.png b/assets/images/blog/authors/cutter.png new file mode 100644 index 000000000..4e45efb18 Binary files /dev/null and b/assets/images/blog/authors/cutter.png differ diff --git a/assets/images/blog/authors/megabeets.png b/assets/images/blog/authors/megabeets.png new file mode 100644 index 000000000..2b4bb5fd9 Binary files /dev/null and b/assets/images/blog/authors/megabeets.png differ diff --git a/assets/images/blog/authors/nirmal_manoj.png b/assets/images/blog/authors/nirmal_manoj.png new file mode 100644 index 000000000..64929dfe9 Binary files /dev/null and b/assets/images/blog/authors/nirmal_manoj.png differ diff --git a/assets/images/blog/posts/5-ways-to-patch-binaries/patch_cover.png b/assets/images/blog/posts/5-ways-to-patch-binaries/patch_cover.png new file mode 100644 index 000000000..104bfab5d Binary files /dev/null and b/assets/images/blog/posts/5-ways-to-patch-binaries/patch_cover.png differ diff --git a/assets/images/blog/posts/cutter-2.0/bb-headers.png b/assets/images/blog/posts/cutter-2.0/bb-headers.png new file mode 100644 index 000000000..2c837f14b Binary files /dev/null and b/assets/images/blog/posts/cutter-2.0/bb-headers.png differ diff --git a/assets/images/blog/posts/cutter-2.0/comment-col.png b/assets/images/blog/posts/cutter-2.0/comment-col.png new file mode 100644 index 000000000..ec65d3ba8 Binary files /dev/null and b/assets/images/blog/posts/cutter-2.0/comment-col.png differ diff --git a/assets/images/blog/posts/cutter-2.0/cutter-2.png b/assets/images/blog/posts/cutter-2.0/cutter-2.png new file mode 100644 index 000000000..868cc3210 Binary files /dev/null and b/assets/images/blog/posts/cutter-2.0/cutter-2.png differ diff --git a/assets/images/blog/posts/cutter-2.0/debug-toolbar-started.png b/assets/images/blog/posts/cutter-2.0/debug-toolbar-started.png new file mode 100644 index 000000000..e59462c77 Binary files /dev/null and b/assets/images/blog/posts/cutter-2.0/debug-toolbar-started.png differ diff --git a/assets/images/blog/posts/cutter-2.0/debug-toolbar.png b/assets/images/blog/posts/cutter-2.0/debug-toolbar.png new file mode 100644 index 000000000..ee3ae770b Binary files /dev/null and b/assets/images/blog/posts/cutter-2.0/debug-toolbar.png differ diff --git a/assets/images/blog/posts/cutter-2.0/debug-trace-continue-false-back.png b/assets/images/blog/posts/cutter-2.0/debug-trace-continue-false-back.png new file mode 100644 index 000000000..a7da90bcb Binary files /dev/null and b/assets/images/blog/posts/cutter-2.0/debug-trace-continue-false-back.png differ diff --git a/assets/images/blog/posts/cutter-2.0/debug-trace-continue-false.png b/assets/images/blog/posts/cutter-2.0/debug-trace-continue-false.png new file mode 100644 index 000000000..113135b7a Binary files /dev/null and b/assets/images/blog/posts/cutter-2.0/debug-trace-continue-false.png differ diff --git a/assets/images/blog/posts/cutter-2.0/debug-trace-continue-true-back.png b/assets/images/blog/posts/cutter-2.0/debug-trace-continue-true-back.png new file mode 100644 index 000000000..e1aba8ae0 Binary files /dev/null and b/assets/images/blog/posts/cutter-2.0/debug-trace-continue-true-back.png differ diff --git a/assets/images/blog/posts/cutter-2.0/debug-trace-continue-true.png b/assets/images/blog/posts/cutter-2.0/debug-trace-continue-true.png new file mode 100644 index 000000000..db0b08d69 Binary files /dev/null and b/assets/images/blog/posts/cutter-2.0/debug-trace-continue-true.png differ diff --git a/assets/images/blog/posts/cutter-2.0/hover-addr.png b/assets/images/blog/posts/cutter-2.0/hover-addr.png new file mode 100644 index 000000000..8a9763c4a Binary files /dev/null and b/assets/images/blog/posts/cutter-2.0/hover-addr.png differ diff --git a/assets/images/blog/posts/cutter-2.0/open-project-dialog.png b/assets/images/blog/posts/cutter-2.0/open-project-dialog.png new file mode 100644 index 000000000..a4f9bce6b Binary files /dev/null and b/assets/images/blog/posts/cutter-2.0/open-project-dialog.png differ diff --git a/assets/images/blog/posts/cutter-2.0/save-project-menu.png b/assets/images/blog/posts/cutter-2.0/save-project-menu.png new file mode 100644 index 000000000..6481d9c0e Binary files /dev/null and b/assets/images/blog/posts/cutter-2.0/save-project-menu.png differ diff --git a/assets/images/blog/posts/dropshot-analysis/dropshot_part1.png b/assets/images/blog/posts/dropshot-analysis/dropshot_part1.png new file mode 100644 index 000000000..12b6f8695 Binary files /dev/null and b/assets/images/blog/posts/dropshot-analysis/dropshot_part1.png differ diff --git a/assets/images/blog/posts/dropshot-analysis/dropshot_part2.png b/assets/images/blog/posts/dropshot-analysis/dropshot_part2.png new file mode 100644 index 000000000..39b0079af Binary files /dev/null and b/assets/images/blog/posts/dropshot-analysis/dropshot_part2.png differ diff --git a/assets/images/blog/posts/improving-decompiler-widget-gsoc/comment-display.gif b/assets/images/blog/posts/improving-decompiler-widget-gsoc/comment-display.gif new file mode 100644 index 000000000..8873cf02a Binary files /dev/null and b/assets/images/blog/posts/improving-decompiler-widget-gsoc/comment-display.gif differ diff --git a/assets/images/blog/posts/improving-decompiler-widget-gsoc/copy-actions.gif b/assets/images/blog/posts/improving-decompiler-widget-gsoc/copy-actions.gif new file mode 100644 index 000000000..77d567f90 Binary files /dev/null and b/assets/images/blog/posts/improving-decompiler-widget-gsoc/copy-actions.gif differ diff --git a/assets/images/blog/posts/improving-decompiler-widget-gsoc/decompiler_cover.png b/assets/images/blog/posts/improving-decompiler-widget-gsoc/decompiler_cover.png new file mode 100644 index 000000000..8c6a81904 Binary files /dev/null and b/assets/images/blog/posts/improving-decompiler-widget-gsoc/decompiler_cover.png differ diff --git a/assets/images/blog/posts/improving-decompiler-widget-gsoc/edit-advanced-breakpoint.gif b/assets/images/blog/posts/improving-decompiler-widget-gsoc/edit-advanced-breakpoint.gif new file mode 100644 index 000000000..824ab4acd Binary files /dev/null and b/assets/images/blog/posts/improving-decompiler-widget-gsoc/edit-advanced-breakpoint.gif differ diff --git a/assets/images/blog/posts/improving-decompiler-widget-gsoc/ghidra-vs-r2dec.png b/assets/images/blog/posts/improving-decompiler-widget-gsoc/ghidra-vs-r2dec.png new file mode 100644 index 000000000..a66845271 Binary files /dev/null and b/assets/images/blog/posts/improving-decompiler-widget-gsoc/ghidra-vs-r2dec.png differ diff --git a/assets/images/blog/posts/improving-decompiler-widget-gsoc/manipulate-global-variable.gif b/assets/images/blog/posts/improving-decompiler-widget-gsoc/manipulate-global-variable.gif new file mode 100644 index 000000000..6a04c5db3 Binary files /dev/null and b/assets/images/blog/posts/improving-decompiler-widget-gsoc/manipulate-global-variable.gif differ diff --git a/assets/images/blog/posts/improving-decompiler-widget-gsoc/manipulate-local-variable.gif b/assets/images/blog/posts/improving-decompiler-widget-gsoc/manipulate-local-variable.gif new file mode 100644 index 000000000..75b45e943 Binary files /dev/null and b/assets/images/blog/posts/improving-decompiler-widget-gsoc/manipulate-local-variable.gif differ diff --git a/assets/images/blog/posts/improving-decompiler-widget-gsoc/rename-function-action.gif b/assets/images/blog/posts/improving-decompiler-widget-gsoc/rename-function-action.gif new file mode 100644 index 000000000..12be235c2 Binary files /dev/null and b/assets/images/blog/posts/improving-decompiler-widget-gsoc/rename-function-action.gif differ diff --git a/assets/images/blog/posts/improving-decompiler-widget-gsoc/show-in-disassembly.gif b/assets/images/blog/posts/improving-decompiler-widget-gsoc/show-in-disassembly.gif new file mode 100644 index 000000000..cd67eee80 Binary files /dev/null and b/assets/images/blog/posts/improving-decompiler-widget-gsoc/show-in-disassembly.gif differ diff --git a/assets/images/blog/posts/improving-decompiler-widget-gsoc/show-in-new-graph.gif b/assets/images/blog/posts/improving-decompiler-widget-gsoc/show-in-new-graph.gif new file mode 100644 index 000000000..773cb1e90 Binary files /dev/null and b/assets/images/blog/posts/improving-decompiler-widget-gsoc/show-in-new-graph.gif differ diff --git a/assets/images/blog/posts/improving-decompiler-widget-gsoc/skeleton-copy.gif b/assets/images/blog/posts/improving-decompiler-widget-gsoc/skeleton-copy.gif new file mode 100644 index 000000000..baff861f2 Binary files /dev/null and b/assets/images/blog/posts/improving-decompiler-widget-gsoc/skeleton-copy.gif differ diff --git a/assets/images/blog/posts/improving-decompiler-widget-gsoc/toggle-breakpoint.gif b/assets/images/blog/posts/improving-decompiler-widget-gsoc/toggle-breakpoint.gif new file mode 100644 index 000000000..a870f3bbd Binary files /dev/null and b/assets/images/blog/posts/improving-decompiler-widget-gsoc/toggle-breakpoint.gif differ diff --git a/assets/images/blog/posts/improving-decompiler-widget-gsoc/xrefs-for-references.gif b/assets/images/blog/posts/improving-decompiler-widget-gsoc/xrefs-for-references.gif new file mode 100644 index 000000000..b95a40904 Binary files /dev/null and b/assets/images/blog/posts/improving-decompiler-widget-gsoc/xrefs-for-references.gif differ diff --git a/assets/images/blog/posts/improving-decompiler-widget-gsoc/xrefs-for-variables.gif b/assets/images/blog/posts/improving-decompiler-widget-gsoc/xrefs-for-variables.gif new file mode 100644 index 000000000..ea4307b5f Binary files /dev/null and b/assets/images/blog/posts/improving-decompiler-widget-gsoc/xrefs-for-variables.gif differ diff --git a/assets/images/blog/posts/light-theme/theme.jpg b/assets/images/blog/posts/light-theme/theme.jpg new file mode 100644 index 000000000..99a7daf44 Binary files /dev/null and b/assets/images/blog/posts/light-theme/theme.jpg differ diff --git a/assets/images/blog/posts/ransowmare-cutter-emulation/cover.png b/assets/images/blog/posts/ransowmare-cutter-emulation/cover.png new file mode 100644 index 000000000..a5c117d4a Binary files /dev/null and b/assets/images/blog/posts/ransowmare-cutter-emulation/cover.png differ diff --git a/assets/images/blog/posts/survey-2020/survey2020.png b/assets/images/blog/posts/survey-2020/survey2020.png new file mode 100644 index 000000000..e9c9352b1 Binary files /dev/null and b/assets/images/blog/posts/survey-2020/survey2020.png differ diff --git a/assets/images/blog/posts/writing-plugin/cutter_before_after.jpg b/assets/images/blog/posts/writing-plugin/cutter_before_after.jpg new file mode 100644 index 000000000..9c1db5ecd Binary files /dev/null and b/assets/images/blog/posts/writing-plugin/cutter_before_after.jpg differ diff --git a/assets/images/comment-avatar.jpg b/assets/images/comment-avatar.jpg new file mode 100644 index 000000000..69baf0593 Binary files /dev/null and b/assets/images/comment-avatar.jpg differ diff --git a/assets/images/community-img.svg b/assets/images/community-img.svg new file mode 100644 index 000000000..55212f672 --- /dev/null +++ b/assets/images/community-img.svg @@ -0,0 +1 @@ +envelope \ No newline at end of file diff --git a/assets/images/contact-image.png b/assets/images/contact-image.png new file mode 100644 index 000000000..54092cd30 Binary files /dev/null and b/assets/images/contact-image.png differ diff --git a/assets/images/contact-info-logo.png b/assets/images/contact-info-logo.png new file mode 100644 index 000000000..920bcee70 Binary files /dev/null and b/assets/images/contact-info-logo.png differ diff --git a/assets/images/contact-info-logo2.png b/assets/images/contact-info-logo2.png new file mode 100644 index 000000000..8d9c5c8a5 Binary files /dev/null and b/assets/images/contact-info-logo2.png differ diff --git a/assets/images/contact-info-logo3.png b/assets/images/contact-info-logo3.png new file mode 100644 index 000000000..cf9196579 Binary files /dev/null and b/assets/images/contact-info-logo3.png differ diff --git a/assets/images/cutter-ani1.png b/assets/images/cutter-ani1.png new file mode 100644 index 000000000..8a83d6733 Binary files /dev/null and b/assets/images/cutter-ani1.png differ diff --git a/assets/images/cutter-ani2.png b/assets/images/cutter-ani2.png new file mode 100644 index 000000000..debf666d5 Binary files /dev/null and b/assets/images/cutter-ani2.png differ diff --git a/assets/images/cutter-ani3.png b/assets/images/cutter-ani3.png new file mode 100644 index 000000000..2c20ae91c Binary files /dev/null and b/assets/images/cutter-ani3.png differ diff --git a/assets/images/cutter-ani4.png b/assets/images/cutter-ani4.png new file mode 100644 index 000000000..e01acd215 Binary files /dev/null and b/assets/images/cutter-ani4.png differ diff --git a/assets/images/cutter-ani5.png b/assets/images/cutter-ani5.png new file mode 100644 index 000000000..b1eb3ed30 Binary files /dev/null and b/assets/images/cutter-ani5.png differ diff --git a/assets/images/cutter-ani6.png b/assets/images/cutter-ani6.png new file mode 100644 index 000000000..90fcc7c69 Binary files /dev/null and b/assets/images/cutter-ani6.png differ diff --git a/assets/images/cutter-screenshot.png b/assets/images/cutter-screenshot.png new file mode 100644 index 000000000..5d21ae216 Binary files /dev/null and b/assets/images/cutter-screenshot.png differ diff --git a/assets/images/cutter-small.svg b/assets/images/cutter-small.svg new file mode 100644 index 000000000..43f5621ee --- /dev/null +++ b/assets/images/cutter-small.svg @@ -0,0 +1,78 @@ + + + + + + + + + + image/svg+xml + + + + + + + + + + + + diff --git a/assets/images/cutter-very-small.svg b/assets/images/cutter-very-small.svg new file mode 100644 index 000000000..bc04282a3 --- /dev/null +++ b/assets/images/cutter-very-small.svg @@ -0,0 +1,78 @@ + + + + + + + + + + image/svg+xml + + + + + + + + + + + + diff --git a/assets/images/cutter.svg b/assets/images/cutter.svg new file mode 100644 index 000000000..2ea1a0c4d --- /dev/null +++ b/assets/images/cutter.svg @@ -0,0 +1,85 @@ + + + + + + + + + + image/svg+xml + + + + + + + + + + + Cutter + + diff --git a/assets/images/cutter_decompiler.png b/assets/images/cutter_decompiler.png new file mode 100644 index 000000000..7bf1e4654 Binary files /dev/null and b/assets/images/cutter_decompiler.png differ diff --git a/assets/images/cutter_head_light_theme.png b/assets/images/cutter_head_light_theme.png new file mode 100644 index 000000000..4424c113d Binary files /dev/null and b/assets/images/cutter_head_light_theme.png differ diff --git a/assets/images/cutter_screenshots.png b/assets/images/cutter_screenshots.png new file mode 100644 index 000000000..90d9444aa Binary files /dev/null and b/assets/images/cutter_screenshots.png differ diff --git a/assets/images/ellipse-shape.png b/assets/images/ellipse-shape.png new file mode 100644 index 000000000..abb707297 Binary files /dev/null and b/assets/images/ellipse-shape.png differ diff --git a/assets/images/favicon.ico b/assets/images/favicon.ico new file mode 100644 index 000000000..d09ce63a5 Binary files /dev/null and b/assets/images/favicon.ico differ diff --git a/assets/images/favicon.png b/assets/images/favicon.png new file mode 100644 index 000000000..0ba7fc7a5 Binary files /dev/null and b/assets/images/favicon.png differ diff --git a/assets/images/feature-icon1.png b/assets/images/feature-icon1.png new file mode 100644 index 000000000..d8a535465 Binary files /dev/null and b/assets/images/feature-icon1.png differ diff --git a/assets/images/feature-icon2.png b/assets/images/feature-icon2.png new file mode 100644 index 000000000..e386c1d6a Binary files /dev/null and b/assets/images/feature-icon2.png differ diff --git a/assets/images/feature-icon3.png b/assets/images/feature-icon3.png new file mode 100644 index 000000000..ef22f978c Binary files /dev/null and b/assets/images/feature-icon3.png differ diff --git a/assets/images/feature-icon4.png b/assets/images/feature-icon4.png new file mode 100644 index 000000000..c79db949f Binary files /dev/null and b/assets/images/feature-icon4.png differ diff --git a/assets/images/feature-img.png b/assets/images/feature-img.png new file mode 100644 index 000000000..4c4ce8311 Binary files /dev/null and b/assets/images/feature-img.png differ diff --git a/assets/images/footer-logo.png b/assets/images/footer-logo.png new file mode 100644 index 000000000..595c678bc Binary files /dev/null and b/assets/images/footer-logo.png differ diff --git a/assets/images/footer-shap.png b/assets/images/footer-shap.png new file mode 100644 index 000000000..ee63ff84f Binary files /dev/null and b/assets/images/footer-shap.png differ diff --git a/assets/images/footer-shap2.png b/assets/images/footer-shap2.png new file mode 100644 index 000000000..04b6ef17f Binary files /dev/null and b/assets/images/footer-shap2.png differ diff --git a/assets/images/gallary-img.jpg b/assets/images/gallary-img.jpg new file mode 100644 index 000000000..d37188865 Binary files /dev/null and b/assets/images/gallary-img.jpg differ diff --git a/assets/images/gallary-img2.jpg b/assets/images/gallary-img2.jpg new file mode 100644 index 000000000..9db0efc02 Binary files /dev/null and b/assets/images/gallary-img2.jpg differ diff --git a/assets/images/gallary-img3.jpg b/assets/images/gallary-img3.jpg new file mode 100644 index 000000000..d0c10e155 Binary files /dev/null and b/assets/images/gallary-img3.jpg differ diff --git a/assets/images/gallary-img4.jpg b/assets/images/gallary-img4.jpg new file mode 100644 index 000000000..dd25d2c45 Binary files /dev/null and b/assets/images/gallary-img4.jpg differ diff --git a/assets/images/gallary-img5.jpg b/assets/images/gallary-img5.jpg new file mode 100644 index 000000000..41e97bf46 Binary files /dev/null and b/assets/images/gallary-img5.jpg differ diff --git a/assets/images/gallary-img6.jpg b/assets/images/gallary-img6.jpg new file mode 100644 index 000000000..b1eb31ecb Binary files /dev/null and b/assets/images/gallary-img6.jpg differ diff --git a/assets/images/google-play.png b/assets/images/google-play.png new file mode 100644 index 000000000..f5895acbf Binary files /dev/null and b/assets/images/google-play.png differ diff --git a/assets/images/graph_overview.png b/assets/images/graph_overview.png new file mode 100644 index 000000000..7c8efae4b Binary files /dev/null and b/assets/images/graph_overview.png differ diff --git a/assets/images/header-bg-shap.png b/assets/images/header-bg-shap.png new file mode 100644 index 000000000..b39d49322 Binary files /dev/null and b/assets/images/header-bg-shap.png differ diff --git a/assets/images/header-bg-shap2.png b/assets/images/header-bg-shap2.png new file mode 100644 index 000000000..2d34167ad Binary files /dev/null and b/assets/images/header-bg-shap2.png differ diff --git a/assets/images/header-bg-shap3.png b/assets/images/header-bg-shap3.png new file mode 100644 index 000000000..cfe3b2d2b Binary files /dev/null and b/assets/images/header-bg-shap3.png differ diff --git a/assets/images/header-logo.png b/assets/images/header-logo.png new file mode 100644 index 000000000..8f92d385e Binary files /dev/null and b/assets/images/header-logo.png differ diff --git a/assets/images/hexdump.png b/assets/images/hexdump.png new file mode 100644 index 000000000..a1d5fdb33 Binary files /dev/null and b/assets/images/hexdump.png differ diff --git a/assets/images/hexdump1.gif b/assets/images/hexdump1.gif new file mode 100644 index 000000000..c691f3a1a Binary files /dev/null and b/assets/images/hexdump1.gif differ diff --git a/assets/images/latest-blog-img.jpg b/assets/images/latest-blog-img.jpg new file mode 100644 index 000000000..7caff557c Binary files /dev/null and b/assets/images/latest-blog-img.jpg differ diff --git a/assets/images/latest-blog-img2.jpg b/assets/images/latest-blog-img2.jpg new file mode 100644 index 000000000..d22a60f15 Binary files /dev/null and b/assets/images/latest-blog-img2.jpg differ diff --git a/assets/images/latest-blog-img3.jpg b/assets/images/latest-blog-img3.jpg new file mode 100644 index 000000000..d8b288629 Binary files /dev/null and b/assets/images/latest-blog-img3.jpg differ diff --git a/assets/images/mattermost_dark.svg b/assets/images/mattermost_dark.svg new file mode 100644 index 000000000..d59c6cc12 --- /dev/null +++ b/assets/images/mattermost_dark.svg @@ -0,0 +1,33 @@ + + + + + \ No newline at end of file diff --git a/assets/images/mattermost_light.svg b/assets/images/mattermost_light.svg new file mode 100644 index 000000000..dcc902e63 --- /dev/null +++ b/assets/images/mattermost_light.svg @@ -0,0 +1,33 @@ + + + + + \ No newline at end of file diff --git a/assets/images/mockup.png b/assets/images/mockup.png new file mode 100644 index 000000000..dde9ccd84 Binary files /dev/null and b/assets/images/mockup.png differ diff --git a/assets/images/page-avatar-icon.png b/assets/images/page-avatar-icon.png new file mode 100644 index 000000000..a2db0dbc0 Binary files /dev/null and b/assets/images/page-avatar-icon.png differ diff --git a/assets/images/page-clock-icon.png b/assets/images/page-clock-icon.png new file mode 100644 index 000000000..edba51618 Binary files /dev/null and b/assets/images/page-clock-icon.png differ diff --git a/assets/images/quote-bottom.png b/assets/images/quote-bottom.png new file mode 100644 index 000000000..64e403f34 Binary files /dev/null and b/assets/images/quote-bottom.png differ diff --git a/assets/images/quote-top.png b/assets/images/quote-top.png new file mode 100644 index 000000000..fafd630db Binary files /dev/null and b/assets/images/quote-top.png differ diff --git a/assets/images/radare2.png b/assets/images/radare2.png new file mode 100644 index 000000000..fb1b6b220 Binary files /dev/null and b/assets/images/radare2.png differ diff --git a/assets/images/rizin.svg b/assets/images/rizin.svg new file mode 100644 index 000000000..7171bd55b --- /dev/null +++ b/assets/images/rizin.svg @@ -0,0 +1,44 @@ + + + + + + image/svg+xml + + + + + + + + + + + + + diff --git a/assets/images/screenshots-img.png b/assets/images/screenshots-img.png new file mode 100644 index 000000000..2f9f055a4 Binary files /dev/null and b/assets/images/screenshots-img.png differ diff --git a/assets/images/screenshots-img2.png b/assets/images/screenshots-img2.png new file mode 100644 index 000000000..3d2a575ba Binary files /dev/null and b/assets/images/screenshots-img2.png differ diff --git a/assets/images/service-icon.png b/assets/images/service-icon.png new file mode 100644 index 000000000..094cd4331 Binary files /dev/null and b/assets/images/service-icon.png differ diff --git a/assets/images/service-icon2.png b/assets/images/service-icon2.png new file mode 100644 index 000000000..b69751674 Binary files /dev/null and b/assets/images/service-icon2.png differ diff --git a/assets/images/service-icon3.png b/assets/images/service-icon3.png new file mode 100644 index 000000000..36f3d0077 Binary files /dev/null and b/assets/images/service-icon3.png differ diff --git a/assets/images/sidebar-latest-img.jpg b/assets/images/sidebar-latest-img.jpg new file mode 100644 index 000000000..f674d4704 Binary files /dev/null and b/assets/images/sidebar-latest-img.jpg differ diff --git a/assets/images/sidebar-latest-img2.jpg b/assets/images/sidebar-latest-img2.jpg new file mode 100644 index 000000000..1bfacdb0e Binary files /dev/null and b/assets/images/sidebar-latest-img2.jpg differ diff --git a/assets/images/sidebar-latest-img3.jpg b/assets/images/sidebar-latest-img3.jpg new file mode 100644 index 000000000..0a7784b11 Binary files /dev/null and b/assets/images/sidebar-latest-img3.jpg differ diff --git a/assets/images/sidebar-latest-img4.jpg b/assets/images/sidebar-latest-img4.jpg new file mode 100644 index 000000000..12b13fa42 Binary files /dev/null and b/assets/images/sidebar-latest-img4.jpg differ diff --git a/assets/images/testimonial-author1.jpg b/assets/images/testimonial-author1.jpg new file mode 100644 index 000000000..61235c378 Binary files /dev/null and b/assets/images/testimonial-author1.jpg differ diff --git a/assets/images/testimonial-author2.jpg b/assets/images/testimonial-author2.jpg new file mode 100644 index 000000000..29c179fb3 Binary files /dev/null and b/assets/images/testimonial-author2.jpg differ diff --git a/assets/images/testimonial-author3.jpg b/assets/images/testimonial-author3.jpg new file mode 100644 index 000000000..ad63fbafe Binary files /dev/null and b/assets/images/testimonial-author3.jpg differ diff --git a/assets/images/testimonial-author4.jpg b/assets/images/testimonial-author4.jpg new file mode 100644 index 000000000..f5c14821e Binary files /dev/null and b/assets/images/testimonial-author4.jpg differ diff --git a/assets/images/twitter_x_dark.svg b/assets/images/twitter_x_dark.svg new file mode 100644 index 000000000..9745f1713 --- /dev/null +++ b/assets/images/twitter_x_dark.svg @@ -0,0 +1,5 @@ + + + + \ No newline at end of file diff --git a/assets/images/twitter_x_light.svg b/assets/images/twitter_x_light.svg new file mode 100644 index 000000000..d22d50fff --- /dev/null +++ b/assets/images/twitter_x_light.svg @@ -0,0 +1,5 @@ + + + + \ No newline at end of file diff --git a/assets/images/undraw_newsletter_vovu.svg b/assets/images/undraw_newsletter_vovu.svg new file mode 100644 index 000000000..4ed88bb2e --- /dev/null +++ b/assets/images/undraw_newsletter_vovu.svg @@ -0,0 +1 @@ +newsletter \ No newline at end of file diff --git a/assets/images/vide_Screenshot.png b/assets/images/vide_Screenshot.png new file mode 100644 index 000000000..e50e91690 Binary files /dev/null and b/assets/images/vide_Screenshot.png differ diff --git a/assets/images/video-screenshot.png b/assets/images/video-screenshot.png new file mode 100644 index 000000000..e50e91690 Binary files /dev/null and b/assets/images/video-screenshot.png differ diff --git a/assets/images/watch-video-bg.jpg b/assets/images/watch-video-bg.jpg new file mode 100644 index 000000000..2b1a20045 Binary files /dev/null and b/assets/images/watch-video-bg.jpg differ diff --git a/assets/images/watch-video-img.png b/assets/images/watch-video-img.png new file mode 100644 index 000000000..dd3b06e1c Binary files /dev/null and b/assets/images/watch-video-img.png differ diff --git a/assets/js/app.js b/assets/js/app.js new file mode 100644 index 000000000..9c9d7d8bd --- /dev/null +++ b/assets/js/app.js @@ -0,0 +1,225 @@ +(function(){function r(e,n,t){function o(i,f){if(!n[i]){if(!e[i]){var c="function"==typeof require&&require;if(!f&&c)return c(i,!0);if(u)return u(i,!0);var a=new Error("Cannot find module '"+i+"'");throw a.code="MODULE_NOT_FOUND",a}var p=n[i]={exports:{}};e[i][0].call(p.exports,function(r){var n=e[i][1][r];return o(n||r)},p,p.exports,r,e,n,t)}return n[i].exports}for(var u="function"==typeof require&&require,i=0;i 0) { + $(".banner-slider").owlCarousel({ + autoplay: true, + dots: false, + nav: true, + loop: true, + margin: 30, + lazyLoad: true, + center: true, + responsive: { + 0: { + items: 1 + }, + 768: { + items: 1 + }, + 1200: { + items: 1 + } + } + }); + } + /* highlight js */ + if ('pre code'.length > 0) { + document.querySelectorAll('pre code').forEach(function (block) { + hljs.highlightBlock(block); + }); + } + /* slimmenu */ + + if ('.main-menu'.length > 0) { + $('.main-menu').slimmenu({ + resizeWidth: "991", + animSpeed: 500, + easingEffect: 'easeOutSine' + + }); + } + /* testimonial slider */ + + if ('.testimonial-slider'.length > 0) { + $('.testimonial-slider').owlCarousel({ + thumbs: true, + thumbsPrerendered: true, + autoplay: true, + dots: false, + mouseDrag: false, + stagePadding: 30, + margin: 60, + loop: false, + lazyLoad: true, + responsive: { + 0: { + items: 1, + dots: false, + stagePadding: 15 + }, + 768: { + items: 1, + dots: false, + stagePadding: 15 + }, + 1200: { + items: 1, + dots: false + } + } + }); + } + if ('.latest-slider'.length > 0) { + $('.latest-slider').owlCarousel({ + autoplay: true, + dots: false, + margin: 30, + nav: false, + loop: false, + lazyLoad: true, + responsive: { + 0: { + items: 1 + }, + 768: { + items: 2 + }, + 1200: { + items: 3 + } + } + }); + } + + //scrollUp// + + var visible = false; + $(window).scroll(function () { + var scrollTop = $(this).scrollTop(); + if (!visible && scrollTop > 100) { + $(".scrollToTop").fadeIn(); + visible = true; + } else if (visible && scrollTop <= 100) { + $(".scrollToTop").fadeOut(); + visible = false; + } + }); + $(".scrollToTop").click(function () { + $("html, body").animate({ + scrollTop: 0 + }, 800); + return false; + }); + + /* aos js*/ + AOS.init({ + offset: 120, + delay: 0, + duration: 400, + easing: 'ease', + once: true, + mirror: false, + anchorPlacement: 'top-bottom' + + }); + $(window).on('load', function () { + + /* Preloader js*/ + var preLoder = $(".overlay-loader"); + preLoder.fadeOut(1000); + }); + + $('a.js-scroll-trigger[href*="#"]:not([href="#"])').click(function () { + if (location.pathname.replace(/^\//, '') == this.pathname.replace(/^\//, '') && location.hostname == this.hostname) { + var target = $(this.hash); + target = target.length ? target : $('[name=' + this.hash.slice(1) + ']'); + if (target.length) { + $('html, body').animate({ + scrollTop: target.offset().top - 56 + }, 1000, "easeInOutExpo"); + return false; + } + } + }); +})(jQuery); + +},{}]},{},[1]) +//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIm5vZGVfbW9kdWxlcy9icm93c2VyLXBhY2svX3ByZWx1ZGUuanMiLCJzcmMvanMvYXBwLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7QUNBQyxXQUFTLENBQVQsRUFBWTtBQUNUO0FBQ0E7O0FBQ0EsUUFBSyxnQkFBRCxDQUFtQixNQUFuQixHQUE0QixDQUFoQyxFQUFtQztBQUMvQixVQUFFLGdCQUFGLEVBQW9CLFdBQXBCLENBQWdDO0FBQzVCLHNCQUFVLElBRGtCO0FBRTVCLGtCQUFNLEtBRnNCO0FBRzVCLGlCQUFLLElBSHVCO0FBSTVCLGtCQUFNLElBSnNCO0FBSzVCLG9CQUFRLEVBTG9CO0FBTTVCLHNCQUFVLElBTmtCO0FBTzVCLG9CQUFRLElBUG9CO0FBUTVCLHdCQUFZO0FBQ1IsbUJBQUc7QUFDQywyQkFBTztBQURSLGlCQURLO0FBSVIscUJBQUs7QUFDRCwyQkFBTztBQUROLGlCQUpHO0FBT1Isc0JBQU07QUFDRiwyQkFBTztBQURMO0FBUEU7QUFSZ0IsU0FBaEM7QUFvQkg7QUFDRDtBQUNBLFFBQUssVUFBRCxDQUFhLE1BQWIsR0FBc0IsQ0FBMUIsRUFBNkI7QUFDekIsaUJBQVMsZ0JBQVQsQ0FBMEIsVUFBMUIsRUFBc0MsT0FBdEMsQ0FBOEMsVUFBQyxLQUFELEVBQVc7QUFDckQsaUJBQUssY0FBTCxDQUFvQixLQUFwQjtBQUNILFNBRkQ7QUFHSDtBQUNEOztBQUVBLFFBQUssWUFBRCxDQUFlLE1BQWYsR0FBd0IsQ0FBNUIsRUFBK0I7QUFDM0IsVUFBRSxZQUFGLEVBQWdCLFFBQWhCLENBQXlCO0FBQzlCLHlCQUFhLEtBRGlCO0FBRTlCLHVCQUFVLEdBRm9CO0FBR3JCLDBCQUFjOztBQUhPLFNBQXpCO0FBUUg7QUFDSjs7QUFFRyxRQUFLLHFCQUFELENBQXdCLE1BQXhCLEdBQWlDLENBQXJDLEVBQXdDO0FBQ3JDLFVBQUUscUJBQUYsRUFBeUIsV0FBekIsQ0FBcUM7QUFDekMsb0JBQVEsSUFEaUM7QUFFekMsK0JBQW1CLElBRnNCO0FBR3pDLHNCQUFVLElBSCtCO0FBSWhDLGtCQUFNLEtBSjBCO0FBS2hDLHVCQUFVLEtBTHNCO0FBTXpDLDBCQUFhLEVBTjRCO0FBT3pDLG9CQUFPLEVBUGtDO0FBUWhDLGtCQUFNLEtBUjBCO0FBU2hDLHNCQUFVLElBVHNCO0FBVXpDLHdCQUFZO0FBQ0MsbUJBQUc7QUFDQywyQkFBTyxDQURSO0FBRWQsMEJBQU0sS0FGUTtBQUdkLGtDQUFhO0FBSEMsaUJBREo7QUFNQyxxQkFBSztBQUNELDJCQUFPLENBRE47QUFFaEIsMEJBQU0sS0FGVTtBQUdoQixrQ0FBYTtBQUhHLGlCQU5OO0FBV0Msc0JBQU07QUFDRiwyQkFBTyxDQURMO0FBRWpCLDBCQUFNO0FBRlc7QUFYUDtBQVY2QixTQUFyQztBQTRCRjtBQUNKLFFBQUssZ0JBQUQsQ0FBbUIsTUFBbkIsR0FBNEIsQ0FBaEMsRUFBbUM7QUFDN0IsVUFBRSxnQkFBRixFQUFvQixXQUFwQixDQUFnQztBQUNwQyxzQkFBVSxJQUQwQjtBQUUzQixrQkFBTSxLQUZxQjtBQUdwQyxvQkFBTyxFQUg2QjtBQUkzQixpQkFBSyxLQUpzQjtBQUszQixrQkFBTSxLQUxxQjtBQU0zQixzQkFBVSxJQU5pQjtBQU9wQyx3QkFBWTtBQUNDLG1CQUFHO0FBQ0MsMkJBQU87QUFEUixpQkFESjtBQUlDLHFCQUFLO0FBQ0QsMkJBQU87QUFETixpQkFKTjtBQU9DLHNCQUFNO0FBQ0YsMkJBQU87QUFETDtBQVBQO0FBUHdCLFNBQWhDO0FBb0JGOztBQUVEOztBQUVELFFBQUksVUFBVSxLQUFkO0FBQ0EsTUFBRSxNQUFGLEVBQVUsTUFBVixDQUFpQixZQUFXO0FBQzdCLFlBQUksWUFBWSxFQUFFLElBQUYsRUFBUSxTQUFSLEVBQWhCO0FBQ0EsWUFBSSxDQUFDLE9BQUQsSUFBWSxZQUFZLEdBQTVCLEVBQWlDO0FBQy9CLGNBQUUsY0FBRixFQUFrQixNQUFsQjtBQUNBLHNCQUFVLElBQVY7QUFDRCxTQUhELE1BR08sSUFBSSxXQUFXLGFBQWEsR0FBNUIsRUFBaUM7QUFDdEMsY0FBRSxjQUFGLEVBQWtCLE9BQWxCO0FBQ0Esc0JBQVUsS0FBVjtBQUNEO0FBQ0MsS0FURDtBQVVBLE1BQUUsY0FBRixFQUFrQixLQUFsQixDQUF3QixZQUFXO0FBQ3BDLFVBQUUsWUFBRixFQUFnQixPQUFoQixDQUF3QjtBQUN0Qix1QkFBVztBQURXLFNBQXhCLEVBRUcsR0FGSDtBQUdBLGVBQU8sS0FBUDtBQUNFLEtBTEQ7O0FBV0M7QUFDQSxRQUFJLElBQUosQ0FBUztBQUNMLGdCQUFRLEdBREg7QUFFTCxlQUFPLENBRkY7QUFHTCxrQkFBVSxHQUhMO0FBSUwsZ0JBQVEsTUFKSDtBQUtMLGNBQU0sSUFMRDtBQU1MLGdCQUFRLEtBTkg7QUFPTCx5QkFBaUI7O0FBUFosS0FBVDtBQVVBLE1BQUUsTUFBRixFQUFVLEVBQVYsQ0FBYSxNQUFiLEVBQXFCLFlBQVc7O0FBRTVCO0FBQ0EsWUFBSSxXQUFXLEVBQUUsaUJBQUYsQ0FBZjtBQUNBLGlCQUFTLE9BQVQsQ0FBaUIsSUFBakI7QUFFSCxLQU5EOztBQVFILE1BQUUsZ0RBQUYsRUFBb0QsS0FBcEQsQ0FBMEQsWUFBVztBQUNsRSxZQUFJLFNBQVMsUUFBVCxDQUFrQixPQUFsQixDQUEwQixLQUExQixFQUFpQyxFQUFqQyxLQUF3QyxLQUFLLFFBQUwsQ0FBYyxPQUFkLENBQXNCLEtBQXRCLEVBQTZCLEVBQTdCLENBQXhDLElBQTRFLFNBQVMsUUFBVCxJQUFxQixLQUFLLFFBQTFHLEVBQW9IO0FBQ2xILGdCQUFJLFNBQVMsRUFBRSxLQUFLLElBQVAsQ0FBYjtBQUNBLHFCQUFTLE9BQU8sTUFBUCxHQUFnQixNQUFoQixHQUF5QixFQUFFLFdBQVcsS0FBSyxJQUFMLENBQVUsS0FBVixDQUFnQixDQUFoQixDQUFYLEdBQWdDLEdBQWxDLENBQWxDO0FBQ0EsZ0JBQUksT0FBTyxNQUFYLEVBQW1CO0FBQ2pCLGtCQUFFLFlBQUYsRUFBZ0IsT0FBaEIsQ0FBd0I7QUFDdEIsK0JBQVksT0FBTyxNQUFQLEdBQWdCLEdBQWhCLEdBQXNCO0FBRFosaUJBQXhCLEVBRUcsSUFGSCxFQUVTLGVBRlQ7QUFHQSx1QkFBTyxLQUFQO0FBQ0Q7QUFDRjtBQUNGLEtBWEY7QUFjQSxDQTNKQSxFQTJKQyxNQTNKRCxDQUFEIiwiZmlsZSI6ImdlbmVyYXRlZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzQ29udGVudCI6WyIoZnVuY3Rpb24oKXtmdW5jdGlvbiByKGUsbix0KXtmdW5jdGlvbiBvKGksZil7aWYoIW5baV0pe2lmKCFlW2ldKXt2YXIgYz1cImZ1bmN0aW9uXCI9PXR5cGVvZiByZXF1aXJlJiZyZXF1aXJlO2lmKCFmJiZjKXJldHVybiBjKGksITApO2lmKHUpcmV0dXJuIHUoaSwhMCk7dmFyIGE9bmV3IEVycm9yKFwiQ2Fubm90IGZpbmQgbW9kdWxlICdcIitpK1wiJ1wiKTt0aHJvdyBhLmNvZGU9XCJNT0RVTEVfTk9UX0ZPVU5EXCIsYX12YXIgcD1uW2ldPXtleHBvcnRzOnt9fTtlW2ldWzBdLmNhbGwocC5leHBvcnRzLGZ1bmN0aW9uKHIpe3ZhciBuPWVbaV1bMV1bcl07cmV0dXJuIG8obnx8cil9LHAscC5leHBvcnRzLHIsZSxuLHQpfXJldHVybiBuW2ldLmV4cG9ydHN9Zm9yKHZhciB1PVwiZnVuY3Rpb25cIj09dHlwZW9mIHJlcXVpcmUmJnJlcXVpcmUsaT0wO2k8dC5sZW5ndGg7aSsrKW8odFtpXSk7cmV0dXJuIG99cmV0dXJuIHJ9KSgpIiwiKGZ1bmN0aW9uKCQpIHtcclxuICAgIFwidXNlIHN0cmljdFwiO1xyXG4gICAgLyogb3dsLWNhcm91c2VsICovXHJcbiAgICBpZiAoKFwiLmJhbm5lci1zbGlkZXJcIikubGVuZ3RoID4gMCkge1xyXG4gICAgICAgICQoXCIuYmFubmVyLXNsaWRlclwiKS5vd2xDYXJvdXNlbCh7XHJcbiAgICAgICAgICAgIGF1dG9wbGF5OiB0cnVlLFxyXG4gICAgICAgICAgICBkb3RzOiBmYWxzZSxcclxuICAgICAgICAgICAgbmF2OiB0cnVlLCBcclxuICAgICAgICAgICAgbG9vcDogdHJ1ZSxcclxuICAgICAgICAgICAgbWFyZ2luOiAzMCxcclxuICAgICAgICAgICAgbGF6eUxvYWQ6IHRydWUsXHJcbiAgICAgICAgICAgIGNlbnRlcjogdHJ1ZSxcclxuICAgICAgICAgICAgcmVzcG9uc2l2ZToge1xyXG4gICAgICAgICAgICAgICAgMDoge1xyXG4gICAgICAgICAgICAgICAgICAgIGl0ZW1zOiAxXHJcbiAgICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAgICAgNzY4OiB7XHJcbiAgICAgICAgICAgICAgICAgICAgaXRlbXM6IDFcclxuICAgICAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgICAgICAxMjAwOiB7XHJcbiAgICAgICAgICAgICAgICAgICAgaXRlbXM6IDFcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH0pO1xyXG4gICAgfVxyXG4gICAgLyogaGlnaGxpZ2h0IGpzICovXHJcbiAgICBpZiAoKCdwcmUgY29kZScpLmxlbmd0aCA+IDApIHtcclxuICAgICAgICBkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCdwcmUgY29kZScpLmZvckVhY2goKGJsb2NrKSA9PiB7XHJcbiAgICAgICAgICAgIGhsanMuaGlnaGxpZ2h0QmxvY2soYmxvY2spO1xyXG4gICAgICAgIH0pO1xyXG4gICAgfVxyXG4gICAgLyogc2xpbW1lbnUgKi9cclxuXHJcbiAgICBpZiAoKCcubWFpbi1tZW51JykubGVuZ3RoID4gMCkge1xyXG4gICAgICAgICQoJy5tYWluLW1lbnUnKS5zbGltbWVudSh7XHJcblx0XHRcdHJlc2l6ZVdpZHRoOiBcIjk5MVwiLFxyXG5cdFx0XHRhbmltU3BlZWQ6NTAwLFxyXG4gICAgICAgICAgICBlYXNpbmdFZmZlY3Q6ICdlYXNlT3V0RWxhc3RpYycsXHJcblx0XHRcdFxyXG5cdFx0fSk7XHJcblxyXG5cclxuICAgIH0gIFxyXG5cdC8qIHRlc3RpbW9uaWFsIHNsaWRlciAqL1xyXG5cclxuICAgIGlmICgoJy50ZXN0aW1vbmlhbC1zbGlkZXInKS5sZW5ndGggPiAwKSB7XHJcbiAgICAgICAkKCcudGVzdGltb25pYWwtc2xpZGVyJykub3dsQ2Fyb3VzZWwoe1xyXG5cdFx0XHR0aHVtYnM6IHRydWUsXHJcblx0XHRcdHRodW1ic1ByZXJlbmRlcmVkOiB0cnVlLFxyXG5cdFx0XHRhdXRvcGxheTogdHJ1ZSxcclxuICAgICAgICAgICAgZG90czogZmFsc2UsXHJcbiAgICAgICAgICAgIG1vdXNlRHJhZzpmYWxzZSwgXHJcblx0XHRcdHN0YWdlUGFkZGluZzozMCxcclxuXHRcdFx0bWFyZ2luOjYwLFxyXG4gICAgICAgICAgICBsb29wOiBmYWxzZSxcclxuICAgICAgICAgICAgbGF6eUxvYWQ6IHRydWUsXHJcblx0XHRcdHJlc3BvbnNpdmU6IHtcclxuICAgICAgICAgICAgICAgIDA6IHtcclxuICAgICAgICAgICAgICAgICAgICBpdGVtczogMSxcclxuXHRcdFx0XHRcdGRvdHM6IGZhbHNlLFxyXG5cdFx0XHRcdFx0c3RhZ2VQYWRkaW5nOjE1LFxyXG4gICAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgICAgIDc2ODoge1xyXG4gICAgICAgICAgICAgICAgICAgIGl0ZW1zOiAxLFxyXG5cdFx0XHRcdFx0ZG90czogZmFsc2UsXHJcblx0XHRcdFx0XHRzdGFnZVBhZGRpbmc6MTUsXHJcbiAgICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAgICAgMTIwMDoge1xyXG4gICAgICAgICAgICAgICAgICAgIGl0ZW1zOiAxLFxyXG5cdFx0XHRcdFx0ZG90czogZmFsc2UsXHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuXHRcdCAgfSk7XHJcblxyXG4gICAgfSAgXHJcblx0aWYgKCgnLmxhdGVzdC1zbGlkZXInKS5sZW5ndGggPiAwKSB7XHJcbiAgICAgICAkKCcubGF0ZXN0LXNsaWRlcicpLm93bENhcm91c2VsKHtcclxuXHRcdFx0YXV0b3BsYXk6IHRydWUsXHJcbiAgICAgICAgICAgIGRvdHM6IGZhbHNlLFxyXG5cdFx0XHRtYXJnaW46MzAsXHJcbiAgICAgICAgICAgIG5hdjogZmFsc2UsXHJcbiAgICAgICAgICAgIGxvb3A6IGZhbHNlLFxyXG4gICAgICAgICAgICBsYXp5TG9hZDogdHJ1ZSxcclxuXHRcdFx0cmVzcG9uc2l2ZToge1xyXG4gICAgICAgICAgICAgICAgMDoge1xyXG4gICAgICAgICAgICAgICAgICAgIGl0ZW1zOiAxXHJcbiAgICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAgICAgNzY4OiB7XHJcbiAgICAgICAgICAgICAgICAgICAgaXRlbXM6IDJcclxuICAgICAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgICAgICAxMjAwOiB7XHJcbiAgICAgICAgICAgICAgICAgICAgaXRlbXM6IDNcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG5cdFx0ICB9KTtcclxuXHJcbiAgICB9XHJcblxyXG4gICAgLy9zY3JvbGxVcC8vXHJcblxyXG5cdCAgdmFyIHZpc2libGUgPSBmYWxzZTtcclxuXHQgICQod2luZG93KS5zY3JvbGwoZnVuY3Rpb24oKSB7XHJcblx0XHR2YXIgc2Nyb2xsVG9wID0gJCh0aGlzKS5zY3JvbGxUb3AoKTtcclxuXHRcdGlmICghdmlzaWJsZSAmJiBzY3JvbGxUb3AgPiAxMDApIHtcclxuXHRcdCAgJChcIi5zY3JvbGxUb1RvcFwiKS5mYWRlSW4oKTtcclxuXHRcdCAgdmlzaWJsZSA9IHRydWU7XHJcblx0XHR9IGVsc2UgaWYgKHZpc2libGUgJiYgc2Nyb2xsVG9wIDw9IDEwMCkge1xyXG5cdFx0ICAkKFwiLnNjcm9sbFRvVG9wXCIpLmZhZGVPdXQoKTtcclxuXHRcdCAgdmlzaWJsZSA9IGZhbHNlO1xyXG5cdFx0fVxyXG5cdCAgfSk7XHJcblx0ICAkKFwiLnNjcm9sbFRvVG9wXCIpLmNsaWNrKGZ1bmN0aW9uKCkge1xyXG5cdFx0JChcImh0bWwsIGJvZHlcIikuYW5pbWF0ZSh7XHJcblx0XHQgIHNjcm9sbFRvcDogMFxyXG5cdFx0fSwgODAwKTtcclxuXHRcdHJldHVybiBmYWxzZTtcclxuXHQgIH0pO1xyXG4gXHJcblxyXG4gXHJcblxyXG4gXHRcclxuICAgIC8qICBhb3MganMqL1xyXG4gICAgQU9TLmluaXQoe1xyXG4gICAgICAgIG9mZnNldDogMTIwLCBcclxuICAgICAgICBkZWxheTogMCwgXHJcbiAgICAgICAgZHVyYXRpb246IDQwMCwgXHJcbiAgICAgICAgZWFzaW5nOiAnZWFzZScsIFxyXG4gICAgICAgIG9uY2U6IHRydWUsIFxyXG4gICAgICAgIG1pcnJvcjogZmFsc2UsXHJcbiAgICAgICAgYW5jaG9yUGxhY2VtZW50OiAndG9wLWJvdHRvbScsXHJcblxyXG4gICAgfSk7XHJcbiAgICAkKHdpbmRvdykub24oJ2xvYWQnLCBmdW5jdGlvbigpIHtcclxuXHJcbiAgICAgICAgLyogIFByZWxvYWRlciBqcyovXHJcbiAgICAgICAgdmFyIHByZUxvZGVyID0gJChcIi5vdmVybGF5LWxvYWRlclwiKTtcclxuICAgICAgICBwcmVMb2Rlci5mYWRlT3V0KDEwMDApO1xyXG5cclxuICAgIH0pO1xyXG5cclxuICQoJ2EuanMtc2Nyb2xsLXRyaWdnZXJbaHJlZio9XCIjXCJdOm5vdChbaHJlZj1cIiNcIl0pJykuY2xpY2soZnVuY3Rpb24oKSB7XHJcbiAgICBpZiAobG9jYXRpb24ucGF0aG5hbWUucmVwbGFjZSgvXlxcLy8sICcnKSA9PSB0aGlzLnBhdGhuYW1lLnJlcGxhY2UoL15cXC8vLCAnJykgJiYgbG9jYXRpb24uaG9zdG5hbWUgPT0gdGhpcy5ob3N0bmFtZSkge1xyXG4gICAgICB2YXIgdGFyZ2V0ID0gJCh0aGlzLmhhc2gpO1xyXG4gICAgICB0YXJnZXQgPSB0YXJnZXQubGVuZ3RoID8gdGFyZ2V0IDogJCgnW25hbWU9JyArIHRoaXMuaGFzaC5zbGljZSgxKSArICddJyk7XHJcbiAgICAgIGlmICh0YXJnZXQubGVuZ3RoKSB7XHJcbiAgICAgICAgJCgnaHRtbCwgYm9keScpLmFuaW1hdGUoe1xyXG4gICAgICAgICAgc2Nyb2xsVG9wOiAodGFyZ2V0Lm9mZnNldCgpLnRvcCAtIDU2KVxyXG4gICAgICAgIH0sIDEwMDAsIFwiZWFzZUluT3V0RXhwb1wiKTtcclxuICAgICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9KTtcclxuXHJcblxyXG59KGpRdWVyeSkpOyJdfQ== + + + +function getOS() { + if (navigator.appVersion.indexOf("Win")!=-1) return { name: "windows", icon: "windows"}; + if (navigator.appVersion.indexOf("Linux")!=-1) return { name: "linux", icon: "linux"}; + if (navigator.appVersion.indexOf("Mac")!=-1) return { name: "macos", icon: "apple"}; + if (navigator.appVersion.indexOf("X11")!=-1) return { name: "linux", icon: "linux"}; + return { name: "unknown", icon: "download"}; +} + + +const releaseVersion = (async () => { + var url = "https://api.github.com/repos/rizinorg/cutter/releases/latest"; + var urlData = await fetch(url); + var jsonData = await urlData.json(); + var tag = jsonData.tag_name; + var notes = jsonData.body; + return [tag, notes]; +})(); + + +const releaseSuffix = { + linux: "Linux-x86_64.AppImage", + macos: "macOS-x86_64.dmg", + windows: "Windows-x86_64.zip" +}; + +const getReleaseURLForPlatform = async (os) => { + var releaseURL = "https://github.com/rizinorg/cutter/releases/latest"; + var tag, notes; + if (os in releaseSuffix) { + [tag, notes] = await releaseVersion; + releaseURL = `https://github.com/rizinorg/cutter/releases/download/${tag}/Cutter-${tag}-${releaseSuffix[os]}`; + } + + return releaseURL; +} + +const setReleaseDownloadLinkForOS = async (os) => { + if (os.icon) { + var downloadButton = document.getElementById("downloadBtn"); + downloadButton.insertAdjacentHTML('afterbegin',''); + downloadButton.href = await getReleaseURLForPlatform(os.name); + } +} + +const setDownloadLinksForAllPlatforms = async () => { + var linuxURL = await getReleaseURLForPlatform("linux"); + var windowsURL = await getReleaseURLForPlatform("windows"); + var macOSURL = await getReleaseURLForPlatform("macos"); + + document.getElementById("downloadMacOS").href = macOSURL; + document.getElementById("downloadLinux").href = linuxURL; + document.getElementById("downloadWindows").href = windowsURL; +} + + + +const fillCutterVersion = async() => { + const [tag, notes] = await releaseVersion; + document.getElementById("cutterVersion").innerHTML = tag; + + var converter = new showdown.Converter(); + document.getElementById("release-notes-content").innerHTML = converter.makeHtml(notes); +} + +// run only on main page +if (document.location.pathname.length < 2) { + fillCutterVersion(); + setReleaseDownloadLinkForOS(getOS()); + setDownloadLinksForAllPlatforms(); +} diff --git a/assets/js/vendor.min.js b/assets/js/vendor.min.js new file mode 100644 index 000000000..46ec7af4e --- /dev/null +++ b/assets/js/vendor.min.js @@ -0,0 +1 @@ +!function(e,t){"use strict";"object"==typeof module&&"object"==typeof module.exports?module.exports=e.document?t(e,!0):function(e){if(!e.document)throw new Error("jQuery requires a window with a document");return t(e)}:t(e)}("undefined"!=typeof window?window:this,function(E,e){"use strict";var t=[],C=E.document,n=Object.getPrototypeOf,o=t.slice,m=t.concat,l=t.push,s=t.indexOf,i={},r=i.toString,g=i.hasOwnProperty,a=g.toString,c=a.call(Object),v={},b=function(e){return"function"==typeof e&&"number"!=typeof e.nodeType},y=function(e){return null!=e&&e===e.window},d={type:!0,src:!0,noModule:!0};function w(e,t,i){var n,s=(t=t||C).createElement("script");if(s.text=e,i)for(n in d)i[n]&&(s[n]=i[n]);t.head.appendChild(s).parentNode.removeChild(s)}function _(e){return null==e?e+"":"object"==typeof e||"function"==typeof e?i[r.call(e)]||"object":typeof e}var u="3.3.1",T=function(e,t){return new T.fn.init(e,t)},h=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g;function p(e){var t=!!e&&"length"in e&&e.length,i=_(e);return!b(e)&&!y(e)&&("array"===i||0===t||"number"==typeof t&&0+~]|"+O+")"+O+"*"),F=new RegExp("="+O+"*([^\\]'\"]*?)"+O+"*\\]","g"),U=new RegExp(B),V=new RegExp("^"+$+"$"),X={ID:new RegExp("^#("+$+")"),CLASS:new RegExp("^\\.("+$+")"),TAG:new RegExp("^("+$+"|[*])"),ATTR:new RegExp("^"+j),PSEUDO:new RegExp("^"+B),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+O+"*(even|odd|(([+-]|)(\\d*)n|)"+O+"*(?:([+-]|)"+O+"*(\\d+)|))"+O+"*\\)|)","i"),bool:new RegExp("^(?:"+z+")$","i"),needsContext:new RegExp("^"+O+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+O+"*((?:-\\d)?\\d*)"+O+"*\\)|)(?=[^-]|$)","i")},Y=/^(?:input|select|textarea|button)$/i,G=/^h\d$/i,Q=/^[^{]+\{\s*\[native \w/,K=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,Z=/[+~]/,J=new RegExp("\\\\([\\da-f]{1,6}"+O+"?|("+O+")|.)","ig"),ee=function(e,t,i){var n="0x"+t-65536;return n!=n||i?t:n<0?String.fromCharCode(65536+n):String.fromCharCode(n>>10|55296,1023&n|56320)},te=/([\0-\x1f\x7f]|^-?\d)|^-$|[^\0-\x1f\x7f-\uFFFF\w-]/g,ie=function(e,t){return t?"\0"===e?"�":e.slice(0,-1)+"\\"+e.charCodeAt(e.length-1).toString(16)+" ":"\\"+e},ne=function(){x()},se=be(function(e){return!0===e.disabled&&("form"in e||"label"in e)},{dir:"parentNode",next:"legend"});try{A.apply(t=L.call(b.childNodes),b.childNodes),t[b.childNodes.length].nodeType}catch(e){A={apply:t.length?function(e,t){D.apply(e,L.call(t))}:function(e,t){for(var i=e.length,n=0;e[i++]=t[n++];);e.length=i-1}}}function re(e,t,i,n){var s,r,a,o,l,c,d,u=t&&t.ownerDocument,h=t?t.nodeType:9;if(i=i||[],"string"!=typeof e||!e||1!==h&&9!==h&&11!==h)return i;if(!n&&((t?t.ownerDocument||t:b)!==E&&x(t),t=t||E,C)){if(11!==h&&(l=K.exec(e)))if(s=l[1]){if(9===h){if(!(a=t.getElementById(s)))return i;if(a.id===s)return i.push(a),i}else if(u&&(a=u.getElementById(s))&&v(t,a)&&a.id===s)return i.push(a),i}else{if(l[2])return A.apply(i,t.getElementsByTagName(e)),i;if((s=l[3])&&p.getElementsByClassName&&t.getElementsByClassName)return A.apply(i,t.getElementsByClassName(s)),i}if(p.qsa&&!k[e+" "]&&(!g||!g.test(e))){if(1!==h)u=t,d=e;else if("object"!==t.nodeName.toLowerCase()){for((o=t.getAttribute("id"))?o=o.replace(te,ie):t.setAttribute("id",o=T),r=(c=f(e)).length;r--;)c[r]="#"+o+" "+ve(c[r]);d=c.join(","),u=Z.test(e)&&me(t.parentNode)||t}if(d)try{return A.apply(i,u.querySelectorAll(d)),i}catch(e){}finally{o===T&&t.removeAttribute("id")}}}return m(e.replace(R,"$1"),t,i,n)}function ae(){var n=[];return function e(t,i){return n.push(t+" ")>w.cacheLength&&delete e[n.shift()],e[t+" "]=i}}function oe(e){return e[T]=!0,e}function le(e){var t=E.createElement("fieldset");try{return!!e(t)}catch(e){return!1}finally{t.parentNode&&t.parentNode.removeChild(t),t=null}}function ce(e,t){for(var i=e.split("|"),n=i.length;n--;)w.attrHandle[i[n]]=t}function de(e,t){var i=t&&e,n=i&&1===e.nodeType&&1===t.nodeType&&e.sourceIndex-t.sourceIndex;if(n)return n;if(i)for(;i=i.nextSibling;)if(i===t)return-1;return e?1:-1}function ue(t){return function(e){return"input"===e.nodeName.toLowerCase()&&e.type===t}}function he(i){return function(e){var t=e.nodeName.toLowerCase();return("input"===t||"button"===t)&&e.type===i}}function pe(t){return function(e){return"form"in e?e.parentNode&&!1===e.disabled?"label"in e?"label"in e.parentNode?e.parentNode.disabled===t:e.disabled===t:e.isDisabled===t||e.isDisabled!==!t&&se(e)===t:e.disabled===t:"label"in e&&e.disabled===t}}function fe(a){return oe(function(r){return r=+r,oe(function(e,t){for(var i,n=a([],e.length,r),s=n.length;s--;)e[i=n[s]]&&(e[i]=!(t[i]=e[i]))})})}function me(e){return e&&void 0!==e.getElementsByTagName&&e}for(e in p=re.support={},s=re.isXML=function(e){var t=e&&(e.ownerDocument||e).documentElement;return!!t&&"HTML"!==t.nodeName},x=re.setDocument=function(e){var t,i,n=e?e.ownerDocument||e:b;return n!==E&&9===n.nodeType&&n.documentElement&&(a=(E=n).documentElement,C=!s(E),b!==E&&(i=E.defaultView)&&i.top!==i&&(i.addEventListener?i.addEventListener("unload",ne,!1):i.attachEvent&&i.attachEvent("onunload",ne)),p.attributes=le(function(e){return e.className="i",!e.getAttribute("className")}),p.getElementsByTagName=le(function(e){return e.appendChild(E.createComment("")),!e.getElementsByTagName("*").length}),p.getElementsByClassName=Q.test(E.getElementsByClassName),p.getById=le(function(e){return a.appendChild(e).id=T,!E.getElementsByName||!E.getElementsByName(T).length}),p.getById?(w.filter.ID=function(e){var t=e.replace(J,ee);return function(e){return e.getAttribute("id")===t}},w.find.ID=function(e,t){if(void 0!==t.getElementById&&C){var i=t.getElementById(e);return i?[i]:[]}}):(w.filter.ID=function(e){var i=e.replace(J,ee);return function(e){var t=void 0!==e.getAttributeNode&&e.getAttributeNode("id");return t&&t.value===i}},w.find.ID=function(e,t){if(void 0!==t.getElementById&&C){var i,n,s,r=t.getElementById(e);if(r){if((i=r.getAttributeNode("id"))&&i.value===e)return[r];for(s=t.getElementsByName(e),n=0;r=s[n++];)if((i=r.getAttributeNode("id"))&&i.value===e)return[r]}return[]}}),w.find.TAG=p.getElementsByTagName?function(e,t){return void 0!==t.getElementsByTagName?t.getElementsByTagName(e):p.qsa?t.querySelectorAll(e):void 0}:function(e,t){var i,n=[],s=0,r=t.getElementsByTagName(e);if("*"!==e)return r;for(;i=r[s++];)1===i.nodeType&&n.push(i);return n},w.find.CLASS=p.getElementsByClassName&&function(e,t){if(void 0!==t.getElementsByClassName&&C)return t.getElementsByClassName(e)},o=[],g=[],(p.qsa=Q.test(E.querySelectorAll))&&(le(function(e){a.appendChild(e).innerHTML="",e.querySelectorAll("[msallowcapture^='']").length&&g.push("[*^$]="+O+"*(?:''|\"\")"),e.querySelectorAll("[selected]").length||g.push("\\["+O+"*(?:value|"+z+")"),e.querySelectorAll("[id~="+T+"-]").length||g.push("~="),e.querySelectorAll(":checked").length||g.push(":checked"),e.querySelectorAll("a#"+T+"+*").length||g.push(".#.+[+~]")}),le(function(e){e.innerHTML="";var t=E.createElement("input");t.setAttribute("type","hidden"),e.appendChild(t).setAttribute("name","D"),e.querySelectorAll("[name=d]").length&&g.push("name"+O+"*[*^$|!~]?="),2!==e.querySelectorAll(":enabled").length&&g.push(":enabled",":disabled"),a.appendChild(e).disabled=!0,2!==e.querySelectorAll(":disabled").length&&g.push(":enabled",":disabled"),e.querySelectorAll("*,:x"),g.push(",.*:")})),(p.matchesSelector=Q.test(d=a.matches||a.webkitMatchesSelector||a.mozMatchesSelector||a.oMatchesSelector||a.msMatchesSelector))&&le(function(e){p.disconnectedMatch=d.call(e,"*"),d.call(e,"[s!='']:x"),o.push("!=",B)}),g=g.length&&new RegExp(g.join("|")),o=o.length&&new RegExp(o.join("|")),t=Q.test(a.compareDocumentPosition),v=t||Q.test(a.contains)?function(e,t){var i=9===e.nodeType?e.documentElement:e,n=t&&t.parentNode;return e===n||!(!n||1!==n.nodeType||!(i.contains?i.contains(n):e.compareDocumentPosition&&16&e.compareDocumentPosition(n)))}:function(e,t){if(t)for(;t=t.parentNode;)if(t===e)return!0;return!1},N=t?function(e,t){if(e===t)return c=!0,0;var i=!e.compareDocumentPosition-!t.compareDocumentPosition;return i||(1&(i=(e.ownerDocument||e)===(t.ownerDocument||t)?e.compareDocumentPosition(t):1)||!p.sortDetached&&t.compareDocumentPosition(e)===i?e===E||e.ownerDocument===b&&v(b,e)?-1:t===E||t.ownerDocument===b&&v(b,t)?1:l?P(l,e)-P(l,t):0:4&i?-1:1)}:function(e,t){if(e===t)return c=!0,0;var i,n=0,s=e.parentNode,r=t.parentNode,a=[e],o=[t];if(!s||!r)return e===E?-1:t===E?1:s?-1:r?1:l?P(l,e)-P(l,t):0;if(s===r)return de(e,t);for(i=e;i=i.parentNode;)a.unshift(i);for(i=t;i=i.parentNode;)o.unshift(i);for(;a[n]===o[n];)n++;return n?de(a[n],o[n]):a[n]===b?-1:o[n]===b?1:0}),E},re.matches=function(e,t){return re(e,null,null,t)},re.matchesSelector=function(e,t){if((e.ownerDocument||e)!==E&&x(e),t=t.replace(F,"='$1']"),p.matchesSelector&&C&&!k[t+" "]&&(!o||!o.test(t))&&(!g||!g.test(t)))try{var i=d.call(e,t);if(i||p.disconnectedMatch||e.document&&11!==e.document.nodeType)return i}catch(e){}return 0":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(e){return e[1]=e[1].replace(J,ee),e[3]=(e[3]||e[4]||e[5]||"").replace(J,ee),"~="===e[2]&&(e[3]=" "+e[3]+" "),e.slice(0,4)},CHILD:function(e){return e[1]=e[1].toLowerCase(),"nth"===e[1].slice(0,3)?(e[3]||re.error(e[0]),e[4]=+(e[4]?e[5]+(e[6]||1):2*("even"===e[3]||"odd"===e[3])),e[5]=+(e[7]+e[8]||"odd"===e[3])):e[3]&&re.error(e[0]),e},PSEUDO:function(e){var t,i=!e[6]&&e[2];return X.CHILD.test(e[0])?null:(e[3]?e[2]=e[4]||e[5]||"":i&&U.test(i)&&(t=f(i,!0))&&(t=i.indexOf(")",i.length-t)-i.length)&&(e[0]=e[0].slice(0,t),e[2]=i.slice(0,t)),e.slice(0,3))}},filter:{TAG:function(e){var t=e.replace(J,ee).toLowerCase();return"*"===e?function(){return!0}:function(e){return e.nodeName&&e.nodeName.toLowerCase()===t}},CLASS:function(e){var t=h[e+" "];return t||(t=new RegExp("(^|"+O+")"+e+"("+O+"|$)"))&&h(e,function(e){return t.test("string"==typeof e.className&&e.className||void 0!==e.getAttribute&&e.getAttribute("class")||"")})},ATTR:function(i,n,s){return function(e){var t=re.attr(e,i);return null==t?"!="===n:!n||(t+="","="===n?t===s:"!="===n?t!==s:"^="===n?s&&0===t.indexOf(s):"*="===n?s&&-1:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i;function I(e,i,n){return b(i)?T.grep(e,function(e,t){return!!i.call(e,t,e)!==n}):i.nodeType?T.grep(e,function(e){return e===i!==n}):"string"!=typeof i?T.grep(e,function(e){return-1)[^>]*|#([\w-]+))$/;(T.fn.init=function(e,t,i){var n,s;if(!e)return this;if(i=i||D,"string"!=typeof e)return e.nodeType?(this[0]=e,this.length=1,this):b(e)?void 0!==i.ready?i.ready(e):e(T):T.makeArray(e,this);if(!(n="<"===e[0]&&">"===e[e.length-1]&&3<=e.length?[null,e,null]:A.exec(e))||!n[1]&&t)return!t||t.jquery?(t||i).find(e):this.constructor(t).find(e);if(n[1]){if(t=t instanceof T?t[0]:t,T.merge(this,T.parseHTML(n[1],t&&t.nodeType?t.ownerDocument||t:C,!0)),M.test(n[1])&&T.isPlainObject(t))for(n in t)b(this[n])?this[n](t[n]):this.attr(n,t[n]);return this}return(s=C.getElementById(n[2]))&&(this[0]=s,this.length=1),this}).prototype=T.fn,D=T(C);var L=/^(?:parents|prev(?:Until|All))/,P={children:!0,contents:!0,next:!0,prev:!0};function z(e,t){for(;(e=e[t])&&1!==e.nodeType;);return e}T.fn.extend({has:function(e){var t=T(e,this),i=t.length;return this.filter(function(){for(var e=0;e\x20\t\r\n\f]+)/i,he=/^$|^module$|\/(?:java|ecma)script/i,pe={option:[1,""],thead:[1,"","
"],col:[2,"","
"],tr:[2,"","
"],td:[3,"","
"],_default:[0,"",""]};function fe(e,t){var i;return i=void 0!==e.getElementsByTagName?e.getElementsByTagName(t||"*"):void 0!==e.querySelectorAll?e.querySelectorAll(t||"*"):[],void 0===t||t&&N(e,t)?T.merge([e],i):i}function me(e,t){for(var i=0,n=e.length;ix",v.noCloneChecked=!!ge.cloneNode(!0).lastChild.defaultValue;var we=C.documentElement,_e=/^key/,xe=/^(?:mouse|pointer|contextmenu|drag|drop)|click/,Ee=/^([^.]*)(?:\.(.+)|)/;function Ce(){return!0}function Te(){return!1}function Se(){try{return C.activeElement}catch(e){}}function ke(e,t,i,n,s,r){var a,o;if("object"==typeof t){for(o in"string"!=typeof i&&(n=n||i,i=void 0),t)ke(e,o,i,n,t[o],r);return e}if(null==n&&null==s?(s=i,n=i=void 0):null==s&&("string"==typeof i?(s=n,n=void 0):(s=n,n=i,i=void 0)),!1===s)s=Te;else if(!s)return e;return 1===r&&(a=s,(s=function(e){return T().off(e),a.apply(this,arguments)}).guid=a.guid||(a.guid=T.guid++)),e.each(function(){T.event.add(this,t,s,n,i)})}T.event={global:{},add:function(t,e,i,n,s){var r,a,o,l,c,d,u,h,p,f,m,g=Q.get(t);if(g)for(i.handler&&(i=(r=i).handler,s=r.selector),s&&T.find.matchesSelector(we,s),i.guid||(i.guid=T.guid++),(l=g.events)||(l=g.events={}),(a=g.handle)||(a=g.handle=function(e){return void 0!==T&&T.event.triggered!==e.type?T.event.dispatch.apply(t,arguments):void 0}),c=(e=(e||"").match(O)||[""]).length;c--;)p=m=(o=Ee.exec(e[c])||[])[1],f=(o[2]||"").split(".").sort(),p&&(u=T.event.special[p]||{},p=(s?u.delegateType:u.bindType)||p,u=T.event.special[p]||{},d=T.extend({type:p,origType:m,data:n,handler:i,guid:i.guid,selector:s,needsContext:s&&T.expr.match.needsContext.test(s),namespace:f.join(".")},r),(h=l[p])||((h=l[p]=[]).delegateCount=0,u.setup&&!1!==u.setup.call(t,n,f,a)||t.addEventListener&&t.addEventListener(p,a)),u.add&&(u.add.call(t,d),d.handler.guid||(d.handler.guid=i.guid)),s?h.splice(h.delegateCount++,0,d):h.push(d),T.event.global[p]=!0)},remove:function(e,t,i,n,s){var r,a,o,l,c,d,u,h,p,f,m,g=Q.hasData(e)&&Q.get(e);if(g&&(l=g.events)){for(c=(t=(t||"").match(O)||[""]).length;c--;)if(p=m=(o=Ee.exec(t[c])||[])[1],f=(o[2]||"").split(".").sort(),p){for(u=T.event.special[p]||{},h=l[p=(n?u.delegateType:u.bindType)||p]||[],o=o[2]&&new RegExp("(^|\\.)"+f.join("\\.(?:.*\\.|)")+"(\\.|$)"),a=r=h.length;r--;)d=h[r],!s&&m!==d.origType||i&&i.guid!==d.guid||o&&!o.test(d.namespace)||n&&n!==d.selector&&("**"!==n||!d.selector)||(h.splice(r,1),d.selector&&h.delegateCount--,u.remove&&u.remove.call(e,d));a&&!h.length&&(u.teardown&&!1!==u.teardown.call(e,f,g.handle)||T.removeEvent(e,p,g.handle),delete l[p])}else for(p in l)T.event.remove(e,p+t[c],i,n,!0);T.isEmptyObject(l)&&Q.remove(e,"handle events")}},dispatch:function(e){var t,i,n,s,r,a,o=T.event.fix(e),l=new Array(arguments.length),c=(Q.get(this,"events")||{})[o.type]||[],d=T.event.special[o.type]||{};for(l[0]=o,t=1;t\x20\t\r\n\f]*)[^>]*)\/>/gi,Me=/\s*$/g;function Ae(e,t){return N(e,"table")&&N(11!==t.nodeType?t:t.firstChild,"tr")&&T(e).children("tbody")[0]||e}function Le(e){return e.type=(null!==e.getAttribute("type"))+"/"+e.type,e}function Pe(e){return"true/"===(e.type||"").slice(0,5)?e.type=e.type.slice(5):e.removeAttribute("type"),e}function ze(e,t){var i,n,s,r,a,o,l,c;if(1===t.nodeType){if(Q.hasData(e)&&(r=Q.access(e),a=Q.set(t,r),c=r.events))for(s in delete a.handle,a.events={},c)for(i=0,n=c[s].length;i")},clone:function(e,t,i){var n,s,r,a,o=e.cloneNode(!0),l=T.contains(e.ownerDocument,e);if(!(v.noCloneChecked||1!==e.nodeType&&11!==e.nodeType||T.isXMLDoc(e)))for(a=fe(o),n=0,s=(r=fe(e)).length;n").prop({charset:i.scriptCharset,src:i.url}).on("load error",s=function(e){n.remove(),s=null,e&&t("error"===e.type?404:200,e.type)}),C.head.appendChild(n[0])},abort:function(){s&&s()}}});var Ut,Vt=[],Xt=/(=)\?(?=&|$)|\?\?/;T.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var e=Vt.pop()||T.expando+"_"+Et++;return this[e]=!0,e}}),T.ajaxPrefilter("json jsonp",function(e,t,i){var n,s,r,a=!1!==e.jsonp&&(Xt.test(e.url)?"url":"string"==typeof e.data&&0===(e.contentType||"").indexOf("application/x-www-form-urlencoded")&&Xt.test(e.data)&&"data");if(a||"jsonp"===e.dataTypes[0])return n=e.jsonpCallback=b(e.jsonpCallback)?e.jsonpCallback():e.jsonpCallback,a?e[a]=e[a].replace(Xt,"$1"+n):!1!==e.jsonp&&(e.url+=(Ct.test(e.url)?"&":"?")+e.jsonp+"="+n),e.converters["script json"]=function(){return r||T.error(n+" was not called"),r[0]},e.dataTypes[0]="json",s=E[n],E[n]=function(){r=arguments},i.always(function(){void 0===s?T(E).removeProp(n):E[n]=s,e[n]&&(e.jsonpCallback=t.jsonpCallback,Vt.push(n)),r&&b(s)&&s(r[0]),r=s=void 0}),"script"}),v.createHTMLDocument=((Ut=C.implementation.createHTMLDocument("").body).innerHTML="
",2===Ut.childNodes.length),T.parseHTML=function(e,t,i){return"string"!=typeof e?[]:("boolean"==typeof t&&(i=t,t=!1),t||(v.createHTMLDocument?((n=(t=C.implementation.createHTMLDocument("")).createElement("base")).href=C.location.href,t.head.appendChild(n)):t=C),r=!i&&[],(s=M.exec(e))?[t.createElement(s[1])]:(s=ye([e],t,r),r&&r.length&&T(r).remove(),T.merge([],s.childNodes)));var n,s,r},T.fn.load=function(e,t,i){var n,s,r,a=this,o=e.indexOf(" ");return-1").append(T.parseHTML(e)).find(n):e)}).always(i&&function(e,t){a.each(function(){i.apply(this,r||[e.responseText,t,e])})}),this},T.each(["ajaxStart","ajaxStop","ajaxComplete","ajaxError","ajaxSuccess","ajaxSend"],function(e,t){T.fn[t]=function(e){return this.on(t,e)}}),T.expr.pseudos.animated=function(t){return T.grep(T.timers,function(e){return t===e.elem}).length},T.offset={setOffset:function(e,t,i){var n,s,r,a,o,l,c=T.css(e,"position"),d=T(e),u={};"static"===c&&(e.style.position="relative"),o=d.offset(),r=T.css(e,"top"),l=T.css(e,"left"),s=("absolute"===c||"fixed"===c)&&-1<(r+l).indexOf("auto")?(a=(n=d.position()).top,n.left):(a=parseFloat(r)||0,parseFloat(l)||0),b(t)&&(t=t.call(e,i,T.extend({},o))),null!=t.top&&(u.top=t.top-o.top+a),null!=t.left&&(u.left=t.left-o.left+s),"using"in t?t.using.call(e,u):d.css(u)}},T.fn.extend({offset:function(t){if(arguments.length)return void 0===t?this:this.each(function(e){T.offset.setOffset(this,t,e)});var e,i,n=this[0];return n?n.getClientRects().length?(e=n.getBoundingClientRect(),i=n.ownerDocument.defaultView,{top:e.top+i.pageYOffset,left:e.left+i.pageXOffset}):{top:0,left:0}:void 0},position:function(){if(this[0]){var e,t,i,n=this[0],s={top:0,left:0};if("fixed"===T.css(n,"position"))t=n.getBoundingClientRect();else{for(t=this.offset(),i=n.ownerDocument,e=n.offsetParent||i.documentElement;e&&(e===i.body||e===i.documentElement)&&"static"===T.css(e,"position");)e=e.parentNode;e&&e!==n&&1===e.nodeType&&((s=T(e).offset()).top+=T.css(e,"borderTopWidth",!0),s.left+=T.css(e,"borderLeftWidth",!0))}return{top:t.top-s.top-T.css(n,"marginTop",!0),left:t.left-s.left-T.css(n,"marginLeft",!0)}}},offsetParent:function(){return this.map(function(){for(var e=this.offsetParent;e&&"static"===T.css(e,"position");)e=e.offsetParent;return e||we})}}),T.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(t,s){var r="pageYOffset"===s;T.fn[t]=function(e){return W(this,function(e,t,i){var n;if(y(e)?n=e:9===e.nodeType&&(n=e.defaultView),void 0===i)return n?n[s]:e[t];n?n.scrollTo(r?n.pageXOffset:i,r?i:n.pageYOffset):e[t]=i},t,e,arguments.length)}}),T.each(["top","left"],function(e,i){T.cssHooks[i]=We(v.pixelPosition,function(e,t){if(t)return t=qe(e,i),Be.test(t)?T(e).position()[i]+"px":t})}),T.each({Height:"height",Width:"width"},function(a,o){T.each({padding:"inner"+a,content:o,"":"outer"+a},function(n,r){T.fn[r]=function(e,t){var i=arguments.length&&(n||"boolean"!=typeof e),s=n||(!0===e||!0===t?"margin":"border");return W(this,function(e,t,i){var n;return y(e)?0===r.indexOf("outer")?e["inner"+a]:e.document.documentElement["client"+a]:9===e.nodeType?(n=e.documentElement,Math.max(e.body["scroll"+a],n["scroll"+a],e.body["offset"+a],n["offset"+a],n["client"+a])):void 0===i?T.css(e,t,s):T.style(e,t,i,s)},o,i?e:void 0,i)}})}),T.each("blur focus focusin focusout resize scroll click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup contextmenu".split(" "),function(e,i){T.fn[i]=function(e,t){return 0this._items.length-1||e<0))if(this._isSliding)f(this._element).one(A.SLID,function(){return t.to(e)});else{if(i===e)return this.pause(),void this.cycle();var n=idocument.documentElement.clientHeight;!this._isBodyOverflowing&&e&&(this._element.style.paddingLeft=this._scrollbarWidth+"px"),this._isBodyOverflowing&&!e&&(this._element.style.paddingRight=this._scrollbarWidth+"px")},e._resetAdjustments=function(){this._element.style.paddingLeft="",this._element.style.paddingRight=""},e._checkScrollbar=function(){var e=document.body.getBoundingClientRect();this._isBodyOverflowing=e.left+e.right
',trigger:"hover focus",title:"",delay:0,html:!1,selector:!1,placement:"top",offset:0,container:!1,fallbackPlacement:"flip",boundary:"scrollParent",sanitize:!0,sanitizeFn:null,whiteList:{"*":["class","dir","id","lang","role",/^aria-[\w-]*$/i],a:["target","href","title","rel"],area:[],b:[],br:[],col:[],code:[],div:[],em:[],hr:[],h1:[],h2:[],h3:[],h4:[],h5:[],h6:[],i:[],img:["src","alt","title","width","height"],li:[],ol:[],p:[],pre:[],s:[],small:[],span:[],sub:[],sup:[],strong:[],u:[],ul:[]}},je="show",Be={HIDE:"hide"+Ie,HIDDEN:"hidden"+Ie,SHOW:"show"+Ie,SHOWN:"shown"+Ie,INSERTED:"inserted"+Ie,CLICK:"click"+Ie,FOCUSIN:"focusin"+Ie,FOCUSOUT:"focusout"+Ie,MOUSEENTER:"mouseenter"+Ie,MOUSELEAVE:"mouseleave"+Ie},He="fade",Re="show",qe="hover",We="focus",Fe=function(){function n(e,t){if(void 0===u)throw new TypeError("Bootstrap's tooltips require Popper.js (https://popper.js.org/)");this._isEnabled=!0,this._timeout=0,this._hoverState="",this._activeTrigger={},this._popper=null,this.element=e,this.config=this._getConfig(t),this.tip=null,this._setListeners()}var e=n.prototype;return e.enable=function(){this._isEnabled=!0},e.disable=function(){this._isEnabled=!1},e.toggleEnabled=function(){this._isEnabled=!this._isEnabled},e.toggle=function(e){if(this._isEnabled)if(e){var t=this.constructor.DATA_KEY,i=f(e.currentTarget).data(t);i||(i=new this.constructor(e.currentTarget,this._getDelegateConfig()),f(e.currentTarget).data(t,i)),i._activeTrigger.click=!i._activeTrigger.click,i._isWithActiveTrigger()?i._enter(null,i):i._leave(null,i)}else{if(f(this.getTipElement()).hasClass(Re))return void this._leave(null,this);this._enter(null,this)}},e.dispose=function(){clearTimeout(this._timeout),f.removeData(this.element,this.constructor.DATA_KEY),f(this.element).off(this.constructor.EVENT_KEY),f(this.element).closest(".modal").off("hide.bs.modal"),this.tip&&f(this.tip).remove(),this._isEnabled=null,this._timeout=null,this._hoverState=null,(this._activeTrigger=null)!==this._popper&&this._popper.destroy(),this._popper=null,this.element=null,this.config=null,this.tip=null},e.show=function(){var t=this;if("none"===f(this.element).css("display"))throw new Error("Please use show on visible elements");var e=f.Event(this.constructor.Event.SHOW);if(this.isWithContent()&&this._isEnabled){f(this.element).trigger(e);var i=m.findShadowRoot(this.element),n=f.contains(null!==i?i:this.element.ownerDocument.documentElement,this.element);if(e.isDefaultPrevented()||!n)return;var s=this.getTipElement(),r=m.getUID(this.constructor.NAME);s.setAttribute("id",r),this.element.setAttribute("aria-describedby",r),this.setContent(),this.config.animation&&f(s).addClass(He);var a="function"==typeof this.config.placement?this.config.placement.call(this,s,this.element):this.config.placement,o=this._getAttachment(a);this.addAttachmentClass(o);var l=this._getContainer();f(s).data(this.constructor.DATA_KEY,this),f.contains(this.element.ownerDocument.documentElement,this.tip)||f(s).appendTo(l),f(this.element).trigger(this.constructor.Event.INSERTED),this._popper=new u(this.element,s,{placement:o,modifiers:{offset:this._getOffset(),flip:{behavior:this.config.fallbackPlacement},arrow:{element:".arrow"},preventOverflow:{boundariesElement:this.config.boundary}},onCreate:function(e){e.originalPlacement!==e.placement&&t._handlePopperPlacementChange(e)},onUpdate:function(e){return t._handlePopperPlacementChange(e)}}),f(s).addClass(Re),"ontouchstart"in document.documentElement&&f(document.body).children().on("mouseover",null,f.noop);var c=function(){t.config.animation&&t._fixTransition();var e=t._hoverState;t._hoverState=null,f(t.element).trigger(t.constructor.Event.SHOWN),"out"===e&&t._leave(null,t)};if(f(this.tip).hasClass(He)){var d=m.getTransitionDurationFromElement(this.tip);f(this.tip).one(m.TRANSITION_END,c).emulateTransitionEnd(d)}else c()}},e.hide=function(e){var t=this,i=this.getTipElement(),n=f.Event(this.constructor.Event.HIDE),s=function(){t._hoverState!==je&&i.parentNode&&i.parentNode.removeChild(i),t._cleanTipClass(),t.element.removeAttribute("aria-describedby"),f(t.element).trigger(t.constructor.Event.HIDDEN),null!==t._popper&&t._popper.destroy(),e&&e()};if(f(this.element).trigger(n),!n.isDefaultPrevented()){if(f(i).removeClass(Re),"ontouchstart"in document.documentElement&&f(document.body).children().off("mouseover",null,f.noop),this._activeTrigger.click=!1,this._activeTrigger[We]=!1,this._activeTrigger[qe]=!1,f(this.tip).hasClass(He)){var r=m.getTransitionDurationFromElement(i);f(i).one(m.TRANSITION_END,s).emulateTransitionEnd(r)}else s();this._hoverState=""}},e.update=function(){null!==this._popper&&this._popper.scheduleUpdate()},e.isWithContent=function(){return Boolean(this.getTitle())},e.addAttachmentClass=function(e){f(this.getTipElement()).addClass(Ae+"-"+e)},e.getTipElement=function(){return this.tip=this.tip||f(this.config.template)[0],this.tip},e.setContent=function(){var e=this.getTipElement();this.setElementContent(f(e.querySelectorAll(".tooltip-inner")),this.getTitle()),f(e).removeClass(He+" "+Re)},e.setElementContent=function(e,t){"object"!=typeof t||!t.nodeType&&!t.jquery?this.config.html?(this.config.sanitize&&(t=ke(t,this.config.whiteList,this.config.sanitizeFn)),e.html(t)):e.text(t):this.config.html?f(t).parent().is(e)||e.empty().append(t):e.text(f(t).text())},e.getTitle=function(){var e=this.element.getAttribute("data-original-title");return e||(e="function"==typeof this.config.title?this.config.title.call(this.element):this.config.title),e},e._getOffset=function(){var t=this,e={};return"function"==typeof this.config.offset?e.fn=function(e){return e.offsets=l({},e.offsets,t.config.offset(e.offsets,t.element)||{}),e}:e.offset=this.config.offset,e},e._getContainer=function(){return!1===this.config.container?document.body:m.isElement(this.config.container)?f(this.config.container):f(document).find(this.config.container)},e._getAttachment=function(e){return Oe[e.toUpperCase()]},e._setListeners=function(){var n=this;this.config.trigger.split(" ").forEach(function(e){if("click"===e)f(n.element).on(n.constructor.Event.CLICK,n.config.selector,function(e){return n.toggle(e)});else if("manual"!==e){var t=e===qe?n.constructor.Event.MOUSEENTER:n.constructor.Event.FOCUSIN,i=e===qe?n.constructor.Event.MOUSELEAVE:n.constructor.Event.FOCUSOUT;f(n.element).on(t,n.config.selector,function(e){return n._enter(e)}).on(i,n.config.selector,function(e){return n._leave(e)})}}),f(this.element).closest(".modal").on("hide.bs.modal",function(){n.element&&n.hide()}),this.config.selector?this.config=l({},this.config,{trigger:"manual",selector:""}):this._fixTitle()},e._fixTitle=function(){var e=typeof this.element.getAttribute("data-original-title");(this.element.getAttribute("title")||"string"!=e)&&(this.element.setAttribute("data-original-title",this.element.getAttribute("title")||""),this.element.setAttribute("title",""))},e._enter=function(e,t){var i=this.constructor.DATA_KEY;(t=t||f(e.currentTarget).data(i))||(t=new this.constructor(e.currentTarget,this._getDelegateConfig()),f(e.currentTarget).data(i,t)),e&&(t._activeTrigger["focusin"===e.type?We:qe]=!0),f(t.getTipElement()).hasClass(Re)||t._hoverState===je?t._hoverState=je:(clearTimeout(t._timeout),t._hoverState=je,t.config.delay&&t.config.delay.show?t._timeout=setTimeout(function(){t._hoverState===je&&t.show()},t.config.delay.show):t.show())},e._leave=function(e,t){var i=this.constructor.DATA_KEY;(t=t||f(e.currentTarget).data(i))||(t=new this.constructor(e.currentTarget,this._getDelegateConfig()),f(e.currentTarget).data(i,t)),e&&(t._activeTrigger["focusout"===e.type?We:qe]=!1),t._isWithActiveTrigger()||(clearTimeout(t._timeout),t._hoverState="out",t.config.delay&&t.config.delay.hide?t._timeout=setTimeout(function(){"out"===t._hoverState&&t.hide()},t.config.delay.hide):t.hide())},e._isWithActiveTrigger=function(){for(var e in this._activeTrigger)if(this._activeTrigger[e])return!0;return!1},e._getConfig=function(e){var t=f(this.element).data();return Object.keys(t).forEach(function(e){-1!==Pe.indexOf(e)&&delete t[e]}),"number"==typeof(e=l({},this.constructor.Default,t,"object"==typeof e&&e?e:{})).delay&&(e.delay={show:e.delay,hide:e.delay}),"number"==typeof e.title&&(e.title=e.title.toString()),"number"==typeof e.content&&(e.content=e.content.toString()),m.typeCheckConfig(Ne,e,this.constructor.DefaultType),e.sanitize&&(e.template=ke(e.template,e.whiteList,e.sanitizeFn)),e},e._getDelegateConfig=function(){var e={};if(this.config)for(var t in this.config)this.constructor.Default[t]!==this.config[t]&&(e[t]=this.config[t]);return e},e._cleanTipClass=function(){var e=f(this.getTipElement()),t=e.attr("class").match(Le);null!==t&&t.length&&e.removeClass(t.join(""))},e._handlePopperPlacementChange=function(e){var t=e.instance;this.tip=t.popper,this._cleanTipClass(),this.addAttachmentClass(this._getAttachment(e.placement))},e._fixTransition=function(){var e=this.getTipElement(),t=this.config.animation;null===e.getAttribute("x-placement")&&(f(e).removeClass(He),this.config.animation=!1,this.hide(),this.show(),this.config.animation=t)},n._jQueryInterface=function(i){return this.each(function(){var e=f(this).data(Me),t="object"==typeof i&&i;if((e||!/dispose|hide/.test(i))&&(e||(e=new n(this,t),f(this).data(Me,e)),"string"==typeof i)){if(void 0===e[i])throw new TypeError('No method named "'+i+'"');e[i]()}})},a(n,null,[{key:"VERSION",get:function(){return"4.3.1"}},{key:"Default",get:function(){return $e}},{key:"NAME",get:function(){return Ne}},{key:"DATA_KEY",get:function(){return Me}},{key:"Event",get:function(){return Be}},{key:"EVENT_KEY",get:function(){return Ie}},{key:"DefaultType",get:function(){return ze}}]),n}();f.fn[Ne]=Fe._jQueryInterface,f.fn[Ne].Constructor=Fe,f.fn[Ne].noConflict=function(){return f.fn[Ne]=De,Fe._jQueryInterface};var Ue="popover",Ve="bs.popover",Xe="."+Ve,Ye=f.fn[Ue],Ge="bs-popover",Qe=new RegExp("(^|\\s)"+Ge+"\\S+","g"),Ke=l({},Fe.Default,{placement:"right",trigger:"click",content:"",template:''}),Ze=l({},Fe.DefaultType,{content:"(string|element|function)"}),Je={HIDE:"hide"+Xe,HIDDEN:"hidden"+Xe,SHOW:"show"+Xe,SHOWN:"shown"+Xe,INSERTED:"inserted"+Xe,CLICK:"click"+Xe,FOCUSIN:"focusin"+Xe,FOCUSOUT:"focusout"+Xe,MOUSEENTER:"mouseenter"+Xe,MOUSELEAVE:"mouseleave"+Xe},et=function(e){var t,i;function n(){return e.apply(this,arguments)||this}i=e,(t=n).prototype=Object.create(i.prototype),(t.prototype.constructor=t).__proto__=i;var s=n.prototype;return s.isWithContent=function(){return this.getTitle()||this._getContent()},s.addAttachmentClass=function(e){f(this.getTipElement()).addClass(Ge+"-"+e)},s.getTipElement=function(){return this.tip=this.tip||f(this.config.template)[0],this.tip},s.setContent=function(){var e=f(this.getTipElement());this.setElementContent(e.find(".popover-header"),this.getTitle());var t=this._getContent();"function"==typeof t&&(t=t.call(this.element)),this.setElementContent(e.find(".popover-body"),t),e.removeClass("fade show")},s._getContent=function(){return this.element.getAttribute("data-content")||this.config.content},s._cleanTipClass=function(){var e=f(this.getTipElement()),t=e.attr("class").match(Qe);null!==t&&0=this._offsets[s]&&(void 0===this._offsets[s+1]||e li > .active",_t=function(){function n(e){this._element=e}var e=n.prototype;return e.show=function(){var i=this;if(!(this._element.parentNode&&this._element.parentNode.nodeType===Node.ELEMENT_NODE&&f(this._element).hasClass(bt)||f(this._element).hasClass("disabled"))){var e,n,t=f(this._element).closest(".nav, .list-group")[0],s=m.getSelectorFromElement(this._element);if(t){var r="UL"===t.nodeName||"OL"===t.nodeName?wt:yt;n=(n=f.makeArray(f(t).find(r)))[n.length-1]}var a=f.Event(vt.HIDE,{relatedTarget:this._element}),o=f.Event(vt.SHOW,{relatedTarget:n});if(n&&f(n).trigger(a),f(this._element).trigger(o),!o.isDefaultPrevented()&&!a.isDefaultPrevented()){s&&(e=document.querySelector(s)),this._activate(this._element,t);var l=function(){var e=f.Event(vt.HIDDEN,{relatedTarget:i._element}),t=f.Event(vt.SHOWN,{relatedTarget:n});f(n).trigger(e),f(i._element).trigger(t)};e?this._activate(e,e.parentNode,l):l()}}},e.dispose=function(){f.removeData(this._element,ft),this._element=null},e._activate=function(e,t,i){var n=this,s=(!t||"UL"!==t.nodeName&&"OL"!==t.nodeName?f(t).children(yt):f(t).find(wt))[0],r=i&&s&&f(s).hasClass("fade"),a=function(){return n._transitionComplete(e,s,i)};if(s&&r){var o=m.getTransitionDurationFromElement(s);f(s).removeClass("show").one(m.TRANSITION_END,a).emulateTransitionEnd(o)}else a()},e._transitionComplete=function(e,t,i){if(t){f(t).removeClass(bt);var n=f(t.parentNode).find("> .dropdown-menu .active")[0];n&&f(n).removeClass(bt),"tab"===t.getAttribute("role")&&t.setAttribute("aria-selected",!1)}if(f(e).addClass(bt),"tab"===e.getAttribute("role")&&e.setAttribute("aria-selected",!0),m.reflow(e),e.classList.contains("fade")&&e.classList.add("show"),e.parentNode&&f(e.parentNode).hasClass("dropdown-menu")){var s=f(e).closest(".dropdown")[0];if(s){var r=[].slice.call(s.querySelectorAll(".dropdown-toggle"));f(r).addClass(bt)}e.setAttribute("aria-expanded",!0)}i&&i()},n._jQueryInterface=function(i){return this.each(function(){var e=f(this),t=e.data(ft);if(t||(t=new n(this),e.data(ft,t)),"string"==typeof i){if(void 0===t[i])throw new TypeError('No method named "'+i+'"');t[i]()}})},a(n,null,[{key:"VERSION",get:function(){return"4.3.1"}}]),n}();f(document).on(vt.CLICK_DATA_API,'[data-toggle="tab"], [data-toggle="pill"], [data-toggle="list"]',function(e){e.preventDefault(),_t._jQueryInterface.call(f(this),"show")}),f.fn.tab=_t._jQueryInterface,f.fn.tab.Constructor=_t,f.fn.tab.noConflict=function(){return f.fn.tab=gt,_t._jQueryInterface};var xt="toast",Et="bs.toast",Ct="."+Et,Tt=f.fn[xt],St={CLICK_DISMISS:"click.dismiss"+Ct,HIDE:"hide"+Ct,HIDDEN:"hidden"+Ct,SHOW:"show"+Ct,SHOWN:"shown"+Ct},kt="show",Nt="showing",Mt={animation:"boolean",autohide:"boolean",delay:"number"},It={animation:!0,autohide:!0,delay:500},Dt=function(){function n(e,t){this._element=e,this._config=this._getConfig(t),this._timeout=null,this._setListeners()}var e=n.prototype;return e.show=function(){var e=this;f(this._element).trigger(St.SHOW),this._config.animation&&this._element.classList.add("fade");var t=function(){e._element.classList.remove(Nt),e._element.classList.add(kt),f(e._element).trigger(St.SHOWN),e._config.autohide&&e.hide()};if(this._element.classList.remove("hide"),this._element.classList.add(Nt),this._config.animation){var i=m.getTransitionDurationFromElement(this._element);f(this._element).one(m.TRANSITION_END,t).emulateTransitionEnd(i)}else t()},e.hide=function(e){var t=this;this._element.classList.contains(kt)&&(f(this._element).trigger(St.HIDE),e?this._close():this._timeout=setTimeout(function(){t._close()},this._config.delay))},e.dispose=function(){clearTimeout(this._timeout),this._timeout=null,this._element.classList.contains(kt)&&this._element.classList.remove(kt),f(this._element).off(St.CLICK_DISMISS),f.removeData(this._element,Et),this._element=null,this._config=null},e._getConfig=function(e){return e=l({},It,f(this._element).data(),"object"==typeof e&&e?e:{}),m.typeCheckConfig(xt,e,this.constructor.DefaultType),e},e._setListeners=function(){var e=this;f(this._element).on(St.CLICK_DISMISS,'[data-dismiss="toast"]',function(){return e.hide(!0)})},e._close=function(){var e=this,t=function(){e._element.classList.add("hide"),f(e._element).trigger(St.HIDDEN)};if(this._element.classList.remove(kt),this._config.animation){var i=m.getTransitionDurationFromElement(this._element);f(this._element).one(m.TRANSITION_END,t).emulateTransitionEnd(i)}else t()},n._jQueryInterface=function(i){return this.each(function(){var e=f(this),t=e.data(Et);if(t||(t=new n(this,"object"==typeof i&&i),e.data(Et,t)),"string"==typeof i){if(void 0===t[i])throw new TypeError('No method named "'+i+'"');t[i](this)}})},a(n,null,[{key:"VERSION",get:function(){return"4.3.1"}},{key:"DefaultType",get:function(){return Mt}},{key:"Default",get:function(){return It}}]),n}();f.fn[xt]=Dt._jQueryInterface,f.fn[xt].Constructor=Dt,f.fn[xt].noConflict=function(){return f.fn[xt]=Tt,Dt._jQueryInterface},function(){if(void 0===f)throw new TypeError("Bootstrap's JavaScript requires jQuery. jQuery must be included before Bootstrap's JavaScript.");var e=f.fn.jquery.split(" ")[0].split(".");if(e[0]<2&&e[1]<9||1===e[0]&&9===e[1]&&e[2]<1||4<=e[0])throw new Error("Bootstrap's JavaScript requires at least jQuery v1.9.1 but less than v4.0.0")}(),e.Util=m,e.Alert=d,e.Button=x,e.Carousel=O,e.Collapse=G,e.Dropdown=de,e.Modal=Ee,e.Popover=et,e.Scrollspy=pt,e.Tab=_t,e.Toast=Dt,e.Tooltip=Fe,Object.defineProperty(e,"__esModule",{value:!0})}),jQuery.easing.jswing=jQuery.easing.swing,jQuery.extend(jQuery.easing,{def:"easeOutQuad",swing:function(e,t,i,n,s){return jQuery.easing[jQuery.easing.def](e,t,i,n,s)},easeInQuad:function(e,t,i,n,s){return n*(t/=s)*t+i},easeOutQuad:function(e,t,i,n,s){return-n*(t/=s)*(t-2)+i},easeInOutQuad:function(e,t,i,n,s){return(t/=s/2)<1?n/2*t*t+i:-n/2*(--t*(t-2)-1)+i},easeInCubic:function(e,t,i,n,s){return n*(t/=s)*t*t+i},easeOutCubic:function(e,t,i,n,s){return n*((t=t/s-1)*t*t+1)+i},easeInOutCubic:function(e,t,i,n,s){return(t/=s/2)<1?n/2*t*t*t+i:n/2*((t-=2)*t*t+2)+i},easeInQuart:function(e,t,i,n,s){return n*(t/=s)*t*t*t+i},easeOutQuart:function(e,t,i,n,s){return-n*((t=t/s-1)*t*t*t-1)+i},easeInOutQuart:function(e,t,i,n,s){return(t/=s/2)<1?n/2*t*t*t*t+i:-n/2*((t-=2)*t*t*t-2)+i},easeInQuint:function(e,t,i,n,s){return n*(t/=s)*t*t*t*t+i},easeOutQuint:function(e,t,i,n,s){return n*((t=t/s-1)*t*t*t*t+1)+i},easeInOutQuint:function(e,t,i,n,s){return(t/=s/2)<1?n/2*t*t*t*t*t+i:n/2*((t-=2)*t*t*t*t+2)+i},easeInSine:function(e,t,i,n,s){return-n*Math.cos(t/s*(Math.PI/2))+n+i},easeOutSine:function(e,t,i,n,s){return n*Math.sin(t/s*(Math.PI/2))+i},easeInOutSine:function(e,t,i,n,s){return-n/2*(Math.cos(Math.PI*t/s)-1)+i},easeInExpo:function(e,t,i,n,s){return 0==t?i:n*Math.pow(2,10*(t/s-1))+i},easeOutExpo:function(e,t,i,n,s){return t==s?i+n:n*(1-Math.pow(2,-10*t/s))+i},easeInOutExpo:function(e,t,i,n,s){return 0==t?i:t==s?i+n:(t/=s/2)<1?n/2*Math.pow(2,10*(t-1))+i:n/2*(2-Math.pow(2,-10*--t))+i},easeInCirc:function(e,t,i,n,s){return-n*(Math.sqrt(1-(t/=s)*t)-1)+i},easeOutCirc:function(e,t,i,n,s){return n*Math.sqrt(1-(t=t/s-1)*t)+i},easeInOutCirc:function(e,t,i,n,s){return(t/=s/2)<1?-n/2*(Math.sqrt(1-t*t)-1)+i:n/2*(Math.sqrt(1-(t-=2)*t)+1)+i},easeInElastic:function(e,t,i,n,s){var r=1.70158,a=0,o=n;if(0==t)return i;if(1==(t/=s))return i+n;if(a||(a=.3*s),o▼",collapseIcon:""};i.prototype={init:function(){var e,t=r(a),i=this.options,n=this.$elem,s='';n.before(s),e=n.prev(".menu-collapser"),n.on("click",".sub-toggle",function(e){e.preventDefault(),e.stopPropagation();var t=r(this).closest("li");r(this).hasClass("expanded")?(r(this).removeClass("expanded").html(i.expandIcon),t.find(">ul").slideUp(i.animSpeed,i.easingEffect)):(r(this).addClass("expanded").html(i.collapseIcon),t.find(">ul").slideDown(i.animSpeed,i.easingEffect))}),e.on("click",".collapse-button",function(e){e.preventDefault(),n.slideToggle(i.animSpeed,i.easingEffect)}),this.resizeMenu(),t.on("resize",this.resizeMenu.bind(this)),t.trigger("resize")},resizeMenu:function(){var t=this,e=r(a).width(),i=this.options,n=r(this.element),s=r("body").find(".menu-collapser");void 0!==a.innerWidth&&a.innerWidth>e&&(e=a.innerWidth),e!=o&&(o=e,n.find("li").each(function(){r(this).has("ul").length&&(r(this).addClass("has-submenu").has(".sub-toggle").length?r(this).children(".sub-toggle").html(i.expandIcon):r(this).addClass("has-submenu").append(''+i.expandIcon+"")),r(this).children("ul").hide().end().find(".sub-toggle").removeClass("expanded").html(i.expandIcon)}),i.resizeWidth>=e?(i.indentChildren&&n.find("ul").each(function(){var e=r(this).parents("ul").length;r(this).children("li").children("a").has("i").length||r(this).children("li").children("a").prepend(t.indent(e,i))}),n.addClass("collapsed").find("li").has("ul").off("mouseenter mouseleave"),s.show(),i.initiallyVisible||n.hide()):(n.find("li").has("ul").on("mouseenter",function(){r(this).find(">ul").stop().slideDown(i.animSpeed,i.easingEffect)}).on("mouseleave",function(){r(this).find(">ul").stop().slideUp(i.animSpeed,i.easingEffect)}),n.find("li > a > i").remove(),n.removeClass("collapsed").show(),s.hide()))},indent:function(e,t){for(var i=0,n="";i"+n+" "}},r.fn[n]=function(e){return this.each(function(){r.data(this,"plugin_"+n)||r.data(this,"plugin_"+n,new i(this,e))})}}(jQuery,window,document),function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t():"function"==typeof define&&define.amd?define(t):e.AOS=t()}(this,function(){"use strict";var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{},b="Expected a function",s=NaN,r="[object Symbol]",a=/^\s+|\s+$/g,o=/^[-+]0x[0-9a-f]+$/i,l=/^0b[01]+$/i,c=/^0o[0-7]+$/i,d=parseInt,t="object"==typeof e&&e&&e.Object===Object&&e,i="object"==typeof self&&self&&self.Object===Object&&self,n=t||i||Function("return this")(),u=Object.prototype.toString,y=Math.max,w=Math.min,_=function(){return n.Date.now()};function x(e){var t=typeof e;return!!e&&("object"==t||"function"==t)}function E(e){if("number"==typeof e)return e;if("symbol"==typeof(t=e)||t&&"object"==typeof t&&u.call(t)==r)return s;var t;if(x(e)){var i="function"==typeof e.valueOf?e.valueOf():e;e=x(i)?i+"":i}if("string"!=typeof e)return 0===e?e:+e;e=e.replace(a,"");var n=l.test(e);return n||c.test(e)?d(e.slice(2),n?2:8):o.test(e)?s:+e}var h=function(e,t,i){var n=!0,s=!0;if("function"!=typeof e)throw new TypeError(b);return x(i)&&(n="leading"in i?!!i.leading:n,s="trailing"in i?!!i.trailing:s),function(n,s,e){var r,a,i,o,l,c,d=0,u=!1,h=!1,t=!0;if("function"!=typeof n)throw new TypeError(b);function p(e){var t=r,i=a;return r=a=void 0,d=e,o=n.apply(i,t)}function f(e){var t=e-c;return void 0===c||s<=t||t<0||h&&i<=e-d}function m(){var e,t=_();if(f(t))return g(t);l=setTimeout(m,(e=s-(t-c),h?w(e,i-(t-d)):e))}function g(e){return l=void 0,t&&r?p(e):(r=a=void 0,o)}function v(){var e,t=_(),i=f(t);if(r=arguments,a=this,c=t,i){if(void 0===l)return d=e=c,l=setTimeout(m,s),u?p(e):o;if(h)return l=setTimeout(m,s),p(c)}return void 0===l&&(l=setTimeout(m,s)),o}return s=E(s)||0,x(e)&&(u=!!e.leading,i=(h="maxWait"in e)?y(E(e.maxWait)||0,s):i,t="trailing"in e?!!e.trailing:t),v.cancel=function(){void 0!==l&&clearTimeout(l),r=c=a=l=void(d=0)},v.flush=function(){return void 0===l?o:g(_())},v}(e,t,{leading:n,maxWait:t,trailing:s})},p=/^\s+|\s+$/g,f=/^[-+]0x[0-9a-f]+$/i,m=/^0b[01]+$/i,g=/^0o[0-7]+$/i,v=parseInt,C="object"==typeof e&&e&&e.Object===Object&&e,T="object"==typeof self&&self&&self.Object===Object&&self,S=C||T||Function("return this")(),k=Object.prototype.toString,N=Math.max,M=Math.min,I=function(){return S.Date.now()};function D(e){var t=typeof e;return!!e&&("object"==t||"function"==t)}function A(e){if("number"==typeof e)return e;if("symbol"==typeof(t=e)||t&&"object"==typeof t&&"[object Symbol]"==k.call(t))return NaN;var t;if(D(e)){var i="function"==typeof e.valueOf?e.valueOf():e;e=D(i)?i+"":i}if("string"!=typeof e)return 0===e?e:+e;e=e.replace(p,"");var n=m.test(e);return n||g.test(e)?v(e.slice(2),n?2:8):f.test(e)?NaN:+e}var L=function(n,s,e){var r,a,i,o,l,c,d=0,u=!1,h=!1,t=!0;if("function"!=typeof n)throw new TypeError("Expected a function");function p(e){var t=r,i=a;return r=a=void 0,d=e,o=n.apply(i,t)}function f(e){var t=e-c;return void 0===c||s<=t||t<0||h&&i<=e-d}function m(){var e,t=I();if(f(t))return g(t);l=setTimeout(m,(e=s-(t-c),h?M(e,i-(t-d)):e))}function g(e){return l=void 0,t&&r?p(e):(r=a=void 0,o)}function v(){var e,t=I(),i=f(t);if(r=arguments,a=this,c=t,i){if(void 0===l)return d=e=c,l=setTimeout(m,s),u?p(e):o;if(h)return l=setTimeout(m,s),p(c)}return void 0===l&&(l=setTimeout(m,s)),o}return s=A(s)||0,D(e)&&(u=!!e.leading,i=(h="maxWait"in e)?N(A(e.maxWait)||0,s):i,t="trailing"in e?!!e.trailing:t),v.cancel=function(){void 0!==l&&clearTimeout(l),r=c=a=l=void(d=0)},v.flush=function(){return void 0===l?o:g(I())},v},P=function(){};function z(e){e&&e.forEach(function(e){var t=Array.prototype.slice.call(e.addedNodes),i=Array.prototype.slice.call(e.removedNodes);if(function e(t){var i=void 0,n=void 0;for(i=0;i=o.out&&!a.once?c():n>=o.in?i.animated||(s=l,(r=a.animatedClassNames)&&r.forEach(function(e){return s.classList.add(e)}),X("aos:in",l),i.options.id&&X("aos:in:"+i.options.id,l),i.animated=!0):i.animated&&!a.once&&c());var i,n,s,r,a,o,l,c})},G=function(e){for(var t=0,i=0;e&&!isNaN(e.offsetLeft)&&!isNaN(e.offsetTop);)t+=e.offsetLeft-("BODY"!=e.tagName?e.scrollLeft:0),i+=e.offsetTop-("BODY"!=e.tagName?e.scrollTop:0),e=e.offsetParent;return{top:i,left:t}},Q=function(e,t,i){var n=e.getAttribute("data-aos-"+t);if(void 0!==n){if("true"===n)return!0;if("false"===n)return!1}return n||i},K=function(){var e=document.querySelectorAll("[data-aos]");return Array.prototype.map.call(e,function(e){return{node:e}})},Z=[],J=!1,ee={offset:120,delay:0,easing:"ease",duration:400,disable:!1,once:!1,mirror:!1,anchorPlacement:"top-bottom",startEvent:"DOMContentLoaded",animatedClassName:"aos-animate",initClassName:"aos-init",useClassNames:!1,disableMutationObserver:!1,throttleDelay:99,debounceDelay:50},te=function(){return document.all&&!window.atob},ie=function(){0/g,">")}function u(e){return e.nodeName.toLowerCase()}function _(e,t){var i=e&&e.exec(t);return i&&0===i.index}function o(e){return n.test(e)}function c(e){var t,i={},n=Array.prototype.slice.call(arguments,1);for(t in e)i[t]=e[t];return n.forEach(function(e){for(t in e)i[t]=e[t]}),i}function l(e){var s=[];return function e(t,i){for(var n=t.firstChild;n;n=n.nextSibling)3===n.nodeType?i+=n.nodeValue.length:1===n.nodeType&&(s.push({event:"start",offset:i,node:n}),i=e(n,i),u(n).match(/br|hr|img|input/)||s.push({event:"stop",offset:i,node:n}));return i}(e,0),s}function x(a){function o(e){return e&&e.source||e}function l(e,t){return new RegExp(o(e),"m"+(a.cI?"i":"")+(t?"g":""))}!function t(i,e){if(!i.compiled){if(i.compiled=!0,i.k=i.k||i.bK,i.k){var n={},s=function(i,e){a.cI&&(e=e.toLowerCase()),e.split(" ").forEach(function(e){var t=e.split("|");n[t[0]]=[i,t[1]?Number(t[1]):1]})};"string"==typeof i.k?s("keyword",i.k):p(i.k).forEach(function(e){s(e,i.k[e])}),i.k=n}i.lR=l(i.l||/\w+/,!0),e&&(i.bK&&(i.b="\\b("+i.bK.split(" ").join("|")+")\\b"),i.b||(i.b=/\B|\b/),i.bR=l(i.b),i.endSameAsBegin&&(i.e=i.b),i.e||i.eW||(i.e=/\B|\b/),i.e&&(i.eR=l(i.e)),i.tE=o(i.e)||"",i.eW&&e.tE&&(i.tE+=(i.e?"|":"")+e.tE)),i.i&&(i.iR=l(i.i)),null==i.r&&(i.r=1),i.c||(i.c=[]),i.c=Array.prototype.concat.apply([],i.c.map(function(e){return function(t){return t.v&&!t.cached_variants&&(t.cached_variants=t.v.map(function(e){return c(t,{v:null},e)})),t.cached_variants||t.eW&&[c(t)]||[t]}("self"===e?i:e)})),i.c.forEach(function(e){t(e,i)}),i.starts&&t(i.starts,e);var r=i.c.map(function(e){return e.bK?"\\.?("+e.b+")\\.?":e.b}).concat([i.tE,i.i]).map(o).filter(Boolean);i.t=r.length?l(r.join("|"),!0):{exec:function(){return null}}}}(a)}function E(e,t,r,i){function a(e){return new RegExp(e.replace(/[-\/\\^$*+?.()|[\]{}]/g,"\\$&"),"m")}function s(e,t){var i=d.cI?t[0].toLowerCase():t[0];return e.k.hasOwnProperty(i)&&e.k[i]}function o(e,t,i,n){var s='')+t+(i?"":k)}function l(){f+=null!=h.sL?function(){var e="string"==typeof h.sL;if(e&&!S[h.sL])return w(m);var t=e?E(h.sL,m,!0,p[h.sL]):C(m,h.sL.length?h.sL:void 0);return 0")+'"');return m+=t,t.length||1}var d=T(e);if(!d)throw new Error('Unknown language: "'+e+'"');x(d);var u,h=i||d,p={},f="";for(u=h;u!==d;u=u.parent)u.cN&&(f=o(u.cN,"",!0)+f);var m="",g=0;try{for(var v,b,y=0;h.t.lastIndex=y,v=h.t.exec(t);)b=n(t.substring(y,v.index),v[0]),y=v.index+b;for(n(t.substr(y)),u=h;u.parent;u=u.parent)u.cN&&(f+=k);return{r:g,value:f,language:e,top:h}}catch(e){if(e.message&&-1!==e.message.indexOf("Illegal"))return{r:0,value:w(t)};throw e}}function C(i,e){e=e||N.languages||p(S);var n={r:0,value:w(i)},s=n;return e.filter(T).filter(r).forEach(function(e){var t=E(e,i,!1);t.language=e,t.r>s.r&&(s=t),t.r>n.r&&(s=n,n=t)}),s.language&&(n.second_best=s),n}function d(e){return N.tabReplace||N.useBR?e.replace(a,function(e,t){return N.useBR&&"\n"===e?"
":N.tabReplace?t.replace(/\t/g,N.tabReplace):""}):e}function t(e){var t,i,n,s,r,a=function(e){var t,i,n,s,r=e.className+" ";if(r+=e.parentNode?e.parentNode.className:"",i=m.exec(r))return T(i[1])?i[1]:"no-highlight";for(t=0,n=(r=r.split(/\s+/)).length;t/g,"\n"):t=e,r=t.textContent,n=a?E(a,r,!0):C(r),(i=l(t)).length&&((s=document.createElementNS("http://www.w3.org/1999/xhtml","div")).innerHTML=n.value,n.value=function(e,t,i){function n(){return e.length&&t.length?e[0].offset!==t[0].offset?e[0].offset"}function r(e){l+=""}function a(e){("start"===e.event?s:r)(e.node)}for(var o=0,l="",c=[];e.length||t.length;){var d=n();if(l+=w(i.substring(o,d[0].offset)),o=d[0].offset,d===e){for(c.reverse().forEach(r);a(d.splice(0,1)[0]),(d=n())===e&&d.length&&d[0].offset===o;);c.reverse().forEach(s)}else"start"===d[0].event?c.push(d[0].node):c.pop(),a(d.splice(0,1)[0])}return l+w(i.substr(o))}(i,l(s),r)),n.value=d(n.value),e.innerHTML=n.value,e.className=function(e,t,i){var n=t?f[t]:i,s=[e.trim()];return e.match(/\bhljs\b/)||s.push("hljs"),-1===e.indexOf(n)&&s.push(n),s.join(" ").trim()}(e.className,a,n.language),e.result={language:n.language,re:n.r},n.second_best&&(e.second_best={language:n.second_best.language,re:n.second_best.r}))}function i(){if(!i.called){i.called=!0;var e=document.querySelectorAll("pre code");h.forEach.call(e,t)}}function T(e){return e=(e||"").toLowerCase(),S[e]||S[f[e]]}function r(e){var t=T(e);return t&&!t.disableAutodetect}var h=[],p=Object.keys,S={},f={},n=/^(no-?highlight|plain|text)$/i,m=/\blang(?:uage)?-([\w-]+)\b/i,a=/((^(<[^>]+>|\t|)+|(?:\n)))/gm,k="
",N={classPrefix:"hljs-",tabReplace:null,useBR:!1,languages:void 0};return s.highlight=E,s.highlightAuto=C,s.fixMarkup=d,s.highlightBlock=t,s.configure=function(e){N=c(N,e)},s.initHighlighting=i,s.initHighlightingOnLoad=function(){addEventListener("DOMContentLoaded",i,!1),addEventListener("load",i,!1)},s.registerLanguage=function(t,e){var i=S[t]=e(s);i.aliases&&i.aliases.forEach(function(e){f[e]=t})},s.listLanguages=function(){return p(S)},s.getLanguage=T,s.autoDetection=r,s.inherit=c,s.IR="[a-zA-Z]\\w*",s.UIR="[a-zA-Z_]\\w*",s.NR="\\b\\d+(\\.\\d+)?",s.CNR="(-?)(\\b0[xX][a-fA-F0-9]+|(\\b\\d+(\\.\\d*)?|\\.\\d+)([eE][-+]?\\d+)?)",s.BNR="\\b(0b[01]+)",s.RSR="!|!=|!==|%|%=|&|&&|&=|\\*|\\*=|\\+|\\+=|,|-|-=|/=|/|:|;|<<|<<=|<=|<|===|==|=|>>>=|>>=|>=|>>>|>>|>|\\?|\\[|\\{|\\(|\\^|\\^=|\\||\\|=|\\|\\||~",s.BE={b:"\\\\[\\s\\S]",r:0},s.ASM={cN:"string",b:"'",e:"'",i:"\\n",c:[s.BE]},s.QSM={cN:"string",b:'"',e:'"',i:"\\n",c:[s.BE]},s.PWM={b:/\b(a|an|the|are|I'm|isn't|don't|doesn't|won't|but|just|should|pretty|simply|enough|gonna|going|wtf|so|such|will|you|your|they|like|more)\b/},s.C=function(e,t,i){var n=s.inherit({cN:"comment",b:e,e:t,c:[]},i||{});return n.c.push(s.PWM),n.c.push({cN:"doctag",b:"(?:TODO|FIXME|NOTE|BUG|XXX):",r:0}),n},s.CLCM=s.C("//","$"),s.CBCM=s.C("/\\*","\\*/"),s.HCM=s.C("#","$"),s.NM={cN:"number",b:s.NR,r:0},s.CNM={cN:"number",b:s.CNR,r:0},s.BNM={cN:"number",b:s.BNR,r:0},s.CSSNM={cN:"number",b:s.NR+"(%|em|ex|ch|rem|vw|vh|vmin|vmax|cm|mm|in|pt|pc|px|deg|grad|rad|turn|s|ms|Hz|kHz|dpi|dpcm|dppx)?",r:0},s.RM={cN:"regexp",b:/\//,e:/\/[gimuy]*/,i:/\n/,c:[s.BE,{b:/\[/,e:/\]/,r:0,c:[s.BE]}]},s.TM={cN:"title",b:s.IR,r:0},s.UTM={cN:"title",b:s.UIR,r:0},s.METHOD_GUARD={b:"\\.\\s*"+s.UIR,r:0},s}),hljs.registerLanguage("objectivec",function(e){var t=/[a-zA-Z@][a-zA-Z0-9_]*/,i="@interface @class @protocol @implementation";return{aliases:["mm","objc","obj-c"],k:{keyword:"int float while char export sizeof typedef const struct for union unsigned long volatile static bool mutable if do return goto void enum else break extern asm case short default double register explicit signed typename this switch continue wchar_t inline readonly assign readwrite self @synchronized id typeof nonatomic super unichar IBOutlet IBAction strong weak copy in out inout bycopy byref oneway __strong __weak __block __autoreleasing @private @protected @public @try @property @end @throw @catch @finally @autoreleasepool @synthesize @dynamic @selector @optional @required @encode @package @import @defs @compatibility_alias __bridge __bridge_transfer __bridge_retained __bridge_retain __covariant __contravariant __kindof _Nonnull _Nullable _Null_unspecified __FUNCTION__ __PRETTY_FUNCTION__ __attribute__ getter setter retain unsafe_unretained nonnull nullable null_unspecified null_resettable class instancetype NS_DESIGNATED_INITIALIZER NS_UNAVAILABLE NS_REQUIRES_SUPER NS_RETURNS_INNER_POINTER NS_INLINE NS_AVAILABLE NS_DEPRECATED NS_ENUM NS_OPTIONS NS_SWIFT_UNAVAILABLE NS_ASSUME_NONNULL_BEGIN NS_ASSUME_NONNULL_END NS_REFINED_FOR_SWIFT NS_SWIFT_NAME NS_SWIFT_NOTHROW NS_DURING NS_HANDLER NS_ENDHANDLER NS_VALUERETURN NS_VOIDRETURN",literal:"false true FALSE TRUE nil YES NO NULL",built_in:"BOOL dispatch_once_t dispatch_queue_t dispatch_sync dispatch_async dispatch_once"},l:t,i:""}]}]},{cN:"class",b:"("+i.split(" ").join("|")+")\\b",e:"({|$)",eE:!0,k:i,l:t,c:[e.UTM]},{b:"\\."+e.UIR,r:0}]}}),hljs.registerLanguage("sql",function(e){var t=e.C("--","$");return{cI:!0,i:/[<>{}*]/,c:[{bK:"begin end start commit rollback savepoint lock alter create drop rename call delete do handler insert load replace select truncate update set show pragma grant merge describe use explain help declare prepare execute deallocate release unlock purge reset change stop analyze cache flush optimize repair kill install uninstall checksum restore check backup revoke comment with",e:/;/,eW:!0,l:/[\w\.]+/,k:{keyword:"as abort abs absolute acc acce accep accept access accessed accessible account acos action activate add addtime admin administer advanced advise aes_decrypt aes_encrypt after agent aggregate ali alia alias allocate allow alter always analyze ancillary and any anydata anydataset anyschema anytype apply archive archived archivelog are as asc ascii asin assembly assertion associate asynchronous at atan atn2 attr attri attrib attribu attribut attribute attributes audit authenticated authentication authid authors auto autoallocate autodblink autoextend automatic availability avg backup badfile basicfile before begin beginning benchmark between bfile bfile_base big bigfile bin binary_double binary_float binlog bit_and bit_count bit_length bit_or bit_xor bitmap blob_base block blocksize body both bound buffer_cache buffer_pool build bulk by byte byteordermark bytes cache caching call calling cancel capacity cascade cascaded case cast catalog category ceil ceiling chain change changed char_base char_length character_length characters characterset charindex charset charsetform charsetid check checksum checksum_agg child choose chr chunk class cleanup clear client clob clob_base clone close cluster_id cluster_probability cluster_set clustering coalesce coercibility col collate collation collect colu colum column column_value columns columns_updated comment commit compact compatibility compiled complete composite_limit compound compress compute concat concat_ws concurrent confirm conn connec connect connect_by_iscycle connect_by_isleaf connect_by_root connect_time connection consider consistent constant constraint constraints constructor container content contents context contributors controlfile conv convert convert_tz corr corr_k corr_s corresponding corruption cos cost count count_big counted covar_pop covar_samp cpu_per_call cpu_per_session crc32 create creation critical cross cube cume_dist curdate current current_date current_time current_timestamp current_user cursor curtime customdatum cycle data database databases datafile datafiles datalength date_add date_cache date_format date_sub dateadd datediff datefromparts datename datepart datetime2fromparts day day_to_second dayname dayofmonth dayofweek dayofyear days db_role_change dbtimezone ddl deallocate declare decode decompose decrement decrypt deduplicate def defa defau defaul default defaults deferred defi defin define degrees delayed delegate delete delete_all delimited demand dense_rank depth dequeue des_decrypt des_encrypt des_key_file desc descr descri describ describe descriptor deterministic diagnostics difference dimension direct_load directory disable disable_all disallow disassociate discardfile disconnect diskgroup distinct distinctrow distribute distributed div do document domain dotnet double downgrade drop dumpfile duplicate duration each edition editionable editions element ellipsis else elsif elt empty enable enable_all enclosed encode encoding encrypt end end-exec endian enforced engine engines enqueue enterprise entityescaping eomonth error errors escaped evalname evaluate event eventdata events except exception exceptions exchange exclude excluding execu execut execute exempt exists exit exp expire explain export export_set extended extent external external_1 external_2 externally extract failed failed_login_attempts failover failure far fast feature_set feature_value fetch field fields file file_name_convert filesystem_like_logging final finish first first_value fixed flash_cache flashback floor flush following follows for forall force foreign form forma format found found_rows freelist freelists freepools fresh from from_base64 from_days ftp full function general generated get get_format get_lock getdate getutcdate global global_name globally go goto grant grants greatest group group_concat group_id grouping grouping_id groups gtid_subtract guarantee guard handler hash hashkeys having hea head headi headin heading heap help hex hierarchy high high_priority hosts hour http id ident_current ident_incr ident_seed identified identity idle_time if ifnull ignore iif ilike ilm immediate import in include including increment index indexes indexing indextype indicator indices inet6_aton inet6_ntoa inet_aton inet_ntoa infile initial initialized initially initrans inmemory inner innodb input insert install instance instantiable instr interface interleaved intersect into invalidate invisible is is_free_lock is_ipv4 is_ipv4_compat is_not is_not_null is_used_lock isdate isnull isolation iterate java join json json_exists keep keep_duplicates key keys kill language large last last_day last_insert_id last_value lax lcase lead leading least leaves left len lenght length less level levels library like like2 like4 likec limit lines link list listagg little ln load load_file lob lobs local localtime localtimestamp locate locator lock locked log log10 log2 logfile logfiles logging logical logical_reads_per_call logoff logon logs long loop low low_priority lower lpad lrtrim ltrim main make_set makedate maketime managed management manual map mapping mask master master_pos_wait match matched materialized max maxextents maximize maxinstances maxlen maxlogfiles maxloghistory maxlogmembers maxsize maxtrans md5 measures median medium member memcompress memory merge microsecond mid migration min minextents minimum mining minus minute minvalue missing mod mode model modification modify module monitoring month months mount move movement multiset mutex name name_const names nan national native natural nav nchar nclob nested never new newline next nextval no no_write_to_binlog noarchivelog noaudit nobadfile nocheck nocompress nocopy nocycle nodelay nodiscardfile noentityescaping noguarantee nokeep nologfile nomapping nomaxvalue nominimize nominvalue nomonitoring none noneditionable nonschema noorder nopr nopro noprom nopromp noprompt norely noresetlogs noreverse normal norowdependencies noschemacheck noswitch not nothing notice notnull notrim novalidate now nowait nth_value nullif nulls num numb numbe nvarchar nvarchar2 object ocicoll ocidate ocidatetime ociduration ociinterval ociloblocator ocinumber ociref ocirefcursor ocirowid ocistring ocitype oct octet_length of off offline offset oid oidindex old on online only opaque open operations operator optimal optimize option optionally or oracle oracle_date oradata ord ordaudio orddicom orddoc order ordimage ordinality ordvideo organization orlany orlvary out outer outfile outline output over overflow overriding package pad parallel parallel_enable parameters parent parse partial partition partitions pascal passing password password_grace_time password_lock_time password_reuse_max password_reuse_time password_verify_function patch path patindex pctincrease pctthreshold pctused pctversion percent percent_rank percentile_cont percentile_disc performance period period_add period_diff permanent physical pi pipe pipelined pivot pluggable plugin policy position post_transaction pow power pragma prebuilt precedes preceding precision prediction prediction_cost prediction_details prediction_probability prediction_set prepare present preserve prior priority private private_sga privileges procedural procedure procedure_analyze processlist profiles project prompt protection public publishingservername purge quarter query quick quiesce quota quotename radians raise rand range rank raw read reads readsize rebuild record records recover recovery recursive recycle redo reduced ref reference referenced references referencing refresh regexp_like register regr_avgx regr_avgy regr_count regr_intercept regr_r2 regr_slope regr_sxx regr_sxy reject rekey relational relative relaylog release release_lock relies_on relocate rely rem remainder rename repair repeat replace replicate replication required reset resetlogs resize resource respect restore restricted result result_cache resumable resume retention return returning returns reuse reverse revoke right rlike role roles rollback rolling rollup round row row_count rowdependencies rowid rownum rows rtrim rules safe salt sample save savepoint sb1 sb2 sb4 scan schema schemacheck scn scope scroll sdo_georaster sdo_topo_geometry search sec_to_time second section securefile security seed segment select self sequence sequential serializable server servererror session session_user sessions_per_user set sets settings sha sha1 sha2 share shared shared_pool short show shrink shutdown si_averagecolor si_colorhistogram si_featurelist si_positionalcolor si_stillimage si_texture siblings sid sign sin size size_t sizes skip slave sleep smalldatetimefromparts smallfile snapshot some soname sort soundex source space sparse spfile split sql sql_big_result sql_buffer_result sql_cache sql_calc_found_rows sql_small_result sql_variant_property sqlcode sqldata sqlerror sqlname sqlstate sqrt square standalone standby start starting startup statement static statistics stats_binomial_test stats_crosstab stats_ks_test stats_mode stats_mw_test stats_one_way_anova stats_t_test_ stats_t_test_indep stats_t_test_one stats_t_test_paired stats_wsr_test status std stddev stddev_pop stddev_samp stdev stop storage store stored str str_to_date straight_join strcmp strict string struct stuff style subdate subpartition subpartitions substitutable substr substring subtime subtring_index subtype success sum suspend switch switchoffset switchover sync synchronous synonym sys sys_xmlagg sysasm sysaux sysdate sysdatetimeoffset sysdba sysoper system system_user sysutcdatetime table tables tablespace tan tdo template temporary terminated tertiary_weights test than then thread through tier ties time time_format time_zone timediff timefromparts timeout timestamp timestampadd timestampdiff timezone_abbr timezone_minute timezone_region to to_base64 to_date to_days to_seconds todatetimeoffset trace tracking transaction transactional translate translation treat trigger trigger_nestlevel triggers trim truncate try_cast try_convert try_parse type ub1 ub2 ub4 ucase unarchived unbounded uncompress under undo unhex unicode uniform uninstall union unique unix_timestamp unknown unlimited unlock unnest unpivot unrecoverable unsafe unsigned until untrusted unusable unused update updated upgrade upped upper upsert url urowid usable usage use use_stored_outlines user user_data user_resources users using utc_date utc_timestamp uuid uuid_short validate validate_password_strength validation valist value values var var_samp varcharc vari varia variab variabl variable variables variance varp varraw varrawc varray verify version versions view virtual visible void wait wallet warning warnings week weekday weekofyear wellformed when whene whenev wheneve whenever where while whitespace with within without work wrapped xdb xml xmlagg xmlattributes xmlcast xmlcolattval xmlelement xmlexists xmlforest xmlindex xmlnamespaces xmlpi xmlquery xmlroot xmlschema xmlserialize xmltable xmltype xor year year_to_month years yearweek",literal:"true false null unknown",built_in:"array bigint binary bit blob bool boolean char character date dec decimal float int int8 integer interval number numeric real record serial serial8 smallint text time timestamp varchar varying void"},c:[{cN:"string",b:"'",e:"'",c:[e.BE,{b:"''"}]},{cN:"string",b:'"',e:'"',c:[e.BE,{b:'""'}]},{cN:"string",b:"`",e:"`",c:[e.BE]},e.CNM,e.CBCM,t,e.HCM]},e.CBCM,t,e.HCM]}}),hljs.registerLanguage("xml",function(e){var t={eW:!0,i:/`]+/}]}]}]};return{aliases:["html","xhtml","rss","atom","xjb","xsd","xsl","plist"],cI:!0,c:[{cN:"meta",b:"",r:10,c:[{b:"\\[",e:"\\]"}]},e.C("\x3c!--","--\x3e",{r:10}),{b:"<\\!\\[CDATA\\[",e:"\\]\\]>",r:10},{cN:"meta",b:/<\?xml/,e:/\?>/,r:10},{b:/<\?(php)?/,e:/\?>/,sL:"php",c:[{b:"/\\*",e:"\\*/",skip:!0},{b:'b"',e:'"',skip:!0},{b:"b'",e:"'",skip:!0},e.inherit(e.ASM,{i:null,cN:null,c:null,skip:!0}),e.inherit(e.QSM,{i:null,cN:null,c:null,skip:!0})]},{cN:"tag",b:"|$)",e:">",k:{name:"style"},c:[t],starts:{e:"",rE:!0,sL:["css","xml"]}},{cN:"tag",b:"|$)",e:">",k:{name:"script"},c:[t],starts:{e:"<\/script>",rE:!0,sL:["actionscript","javascript","handlebars","xml"]}},{cN:"tag",b:"",c:[{cN:"name",b:/[^\/><\s]+/,r:0},t]}]}}),hljs.registerLanguage("markdown",function(e){return{aliases:["md","mkdown","mkd"],c:[{cN:"section",v:[{b:"^#{1,6}",e:"$"},{b:"^.+?\\n[=-]{2,}$"}]},{b:"<",e:">",sL:"xml",r:0},{cN:"bullet",b:"^([*+-]|(\\d+\\.))\\s+"},{cN:"strong",b:"[*_]{2}.+?[*_]{2}"},{cN:"emphasis",v:[{b:"\\*.+?\\*"},{b:"_.+?_",r:0}]},{cN:"quote",b:"^>\\s+",e:"$"},{cN:"code",v:[{b:"^```w*s*$",e:"^```s*$"},{b:"`.+?`"},{b:"^( {4}|\t)",e:"$",r:0}]},{b:"^[-\\*]{3,}",e:"$"},{b:"\\[.+?\\][\\(\\[].*?[\\)\\]]",rB:!0,c:[{cN:"string",b:"\\[",e:"\\]",eB:!0,rE:!0,r:0},{cN:"link",b:"\\]\\(",e:"\\)",eB:!0,eE:!0},{cN:"symbol",b:"\\]\\[",e:"\\]",eB:!0,eE:!0}],r:10},{b:/^\[[^\n]+\]:/,rB:!0,c:[{cN:"symbol",b:/\[/,e:/\]/,eB:!0,eE:!0},{cN:"link",b:/:\s*/,e:/$/,eB:!0}]}]}}),hljs.registerLanguage("perl",function(e){var t="getpwent getservent quotemeta msgrcv scalar kill dbmclose undef lc ma syswrite tr send umask sysopen shmwrite vec qx utime local oct semctl localtime readpipe do return format read sprintf dbmopen pop getpgrp not getpwnam rewinddir qqfileno qw endprotoent wait sethostent bless s|0 opendir continue each sleep endgrent shutdown dump chomp connect getsockname die socketpair close flock exists index shmgetsub for endpwent redo lstat msgctl setpgrp abs exit select print ref gethostbyaddr unshift fcntl syscall goto getnetbyaddr join gmtime symlink semget splice x|0 getpeername recv log setsockopt cos last reverse gethostbyname getgrnam study formline endhostent times chop length gethostent getnetent pack getprotoent getservbyname rand mkdir pos chmod y|0 substr endnetent printf next open msgsnd readdir use unlink getsockopt getpriority rindex wantarray hex system getservbyport endservent int chr untie rmdir prototype tell listen fork shmread ucfirst setprotoent else sysseek link getgrgid shmctl waitpid unpack getnetbyname reset chdir grep split require caller lcfirst until warn while values shift telldir getpwuid my getprotobynumber delete and sort uc defined srand accept package seekdir getprotobyname semop our rename seek if q|0 chroot sysread setpwent no crypt getc chown sqrt write setnetent setpriority foreach tie sin msgget map stat getlogin unless elsif truncate exec keys glob tied closedirioctl socket readlink eval xor readline binmode setservent eof ord bind alarm pipe atan2 getgrent exp time push setgrent gt lt or ne m|0 break given say state when",i={cN:"subst",b:"[$@]\\{",e:"\\}",k:t},n={b:"->{",e:"}"},s={v:[{b:/\$\d/},{b:/[\$%@](\^\w\b|#\w+(::\w+)*|{\w+}|\w+(::\w*)*)/},{b:/[\$%@][^\s\w{]/,r:0}]},r=[e.BE,i,s],a=[s,e.HCM,e.C("^\\=\\w","\\=cut",{eW:!0}),n,{cN:"string",c:r,v:[{b:"q[qwxr]?\\s*\\(",e:"\\)",r:5},{b:"q[qwxr]?\\s*\\[",e:"\\]",r:5},{b:"q[qwxr]?\\s*\\{",e:"\\}",r:5},{b:"q[qwxr]?\\s*\\|",e:"\\|",r:5},{b:"q[qwxr]?\\s*\\<",e:"\\>",r:5},{b:"qw\\s+q",e:"q",r:5},{b:"'",e:"'",c:[e.BE]},{b:'"',e:'"'},{b:"`",e:"`",c:[e.BE]},{b:"{\\w+}",c:[],r:0},{b:"-?\\w+\\s*\\=\\>",c:[],r:0}]},{cN:"number",b:"(\\b0[0-7_]+)|(\\b0x[0-9a-fA-F_]+)|(\\b[1-9][0-9_]*(\\.[0-9_]+)?)|[0_]\\b",r:0},{b:"(\\/\\/|"+e.RSR+"|\\b(split|return|print|reverse|grep)\\b)\\s*",k:"split return print reverse grep",r:0,c:[e.HCM,{cN:"regexp",b:"(s|tr|y)/(\\\\.|[^/])*/(\\\\.|[^/])*/[a-z]*",r:10},{cN:"regexp",b:"(m|qr)?/",e:"/[a-z]*",c:[e.BE],r:0}]},{cN:"function",bK:"sub",e:"(\\s*\\(.*?\\))?[;{]",eE:!0,r:5,c:[e.TM]},{b:"-\\w\\b",r:0},{b:"^__DATA__$",e:"^__END__$",sL:"mojolicious",c:[{b:"^@@.*",e:"$",cN:"comment"}]}];return i.c=a,{aliases:["pl","pm"],l:/[\w\.]+/,k:t,c:n.c=a}}),hljs.registerLanguage("java",function(e){var t="false synchronized int abstract float private char boolean var static null if const for true while long strictfp finally protected import native final void enum else break transient catch instanceof byte super volatile case assert short package default double public try this switch continue throws protected public private module requires exports do",i={cN:"number",b:"\\b(0[bB]([01]+[01_]+[01]+|[01]+)|0[xX]([a-fA-F0-9]+[a-fA-F0-9_]+[a-fA-F0-9]+|[a-fA-F0-9]+)|(([\\d]+[\\d_]+[\\d]+|[\\d]+)(\\.([\\d]+[\\d_]+[\\d]+|[\\d]+))?|\\.([\\d]+[\\d_]+[\\d]+|[\\d]+))([eE][-+]?\\d+)?)[lLfF]?",r:0};return{aliases:["jsp"],k:t,i:/<\/|#/,c:[e.C("/\\*\\*","\\*/",{r:0,c:[{b:/\w+@/,r:0},{cN:"doctag",b:"@[A-Za-z]+"}]}),e.CLCM,e.CBCM,e.ASM,e.QSM,{cN:"class",bK:"class interface",e:/[{;=]/,eE:!0,k:"class interface",i:/[:"\[\]]/,c:[{bK:"extends implements"},e.UTM]},{bK:"new throw return else",r:0},{cN:"function",b:"([À-ʸa-zA-Z_$][À-ʸa-zA-Z_$0-9]*(<[À-ʸa-zA-Z_$][À-ʸa-zA-Z_$0-9]*(\\s*,\\s*[À-ʸa-zA-Z_$][À-ʸa-zA-Z_$0-9]*)*>)?\\s+)+"+e.UIR+"\\s*\\(",rB:!0,e:/[{;=]/,eE:!0,k:t,c:[{b:e.UIR+"\\s*\\(",rB:!0,r:0,c:[e.UTM]},{cN:"params",b:/\(/,e:/\)/,k:t,r:0,c:[e.ASM,e.QSM,e.CNM,e.CBCM]},e.CLCM,e.CBCM]},i,{cN:"meta",b:"@[A-Za-z]+"}]}}),hljs.registerLanguage("bash",function(e){var t={cN:"variable",v:[{b:/\$[\w\d#@][\w\d_]*/},{b:/\$\{(.*?)}/}]},i={cN:"string",b:/"/,e:/"/,c:[e.BE,t,{cN:"variable",b:/\$\(/,e:/\)/,c:[e.BE]}]};return{aliases:["sh","zsh"],l:/\b-?[a-z\._]+\b/,k:{keyword:"if then else elif fi for while in do done case esac function",literal:"true false",built_in:"break cd continue eval exec exit export getopts hash pwd readonly return shift test times trap umask unset alias bind builtin caller command declare echo enable help let local logout mapfile printf read readarray source type typeset ulimit unalias set shopt autoload bg bindkey bye cap chdir clone comparguments compcall compctl compdescribe compfiles compgroups compquote comptags comptry compvalues dirs disable disown echotc echoti emulate fc fg float functions getcap getln history integer jobs kill limit log noglob popd print pushd pushln rehash sched setcap setopt stat suspend ttyctl unfunction unhash unlimit unsetopt vared wait whence where which zcompile zformat zftp zle zmodload zparseopts zprof zpty zregexparse zsocket zstyle ztcp",_:"-ne -eq -lt -gt -f -d -e -s -l -a"},c:[{cN:"meta",b:/^#![^\n]+sh\s*$/,r:10},{cN:"function",b:/\w[\w\d_]*\s*\(\s*\)\s*\{/,rB:!0,c:[e.inherit(e.TM,{b:/\w[\w\d_]*/})],r:0},e.HCM,i,{cN:"string",b:/'/,e:/'/},t]}}),hljs.registerLanguage("shell",function(e){return{aliases:["console"],c:[{cN:"meta",b:"^\\s{0,3}[\\w\\d\\[\\]()@-]*[>%$#]",starts:{e:"$",sL:"bash"}}]}}),hljs.registerLanguage("json",function(e){var t={literal:"true false null"},i=[e.QSM,e.CNM],n={e:",",eW:!0,eE:!0,c:i,k:t},s={b:"{",e:"}",c:[{cN:"attr",b:/"/,e:/"/,c:[e.BE],i:"\\n"},e.inherit(n,{b:/:/})],i:"\\S"},r={b:"\\[",e:"\\]",c:[e.inherit(n)],i:"\\S"};return i.splice(i.length,0,s,r),{c:i,k:t,i:"\\S"}}),hljs.registerLanguage("nginx",function(e){var t={cN:"variable",v:[{b:/\$\d+/},{b:/\$\{/,e:/}/},{b:"[\\$\\@]"+e.UIR}]},i={eW:!0,l:"[a-z/_]+",k:{literal:"on off yes no true false none blocked debug info notice warn error crit select break last permanent redirect kqueue rtsig epoll poll /dev/poll"},r:0,i:"=>",c:[e.HCM,{cN:"string",c:[e.BE,t],v:[{b:/"/,e:/"/},{b:/'/,e:/'/}]},{b:"([a-z]+):/",e:"\\s",eW:!0,eE:!0,c:[t]},{cN:"regexp",c:[e.BE,t],v:[{b:"\\s\\^",e:"\\s|{|;",rE:!0},{b:"~\\*?\\s+",e:"\\s|{|;",rE:!0},{b:"\\*(\\.[a-z\\-]+)+"},{b:"([a-z\\-]+\\.)+\\*"}]},{cN:"number",b:"\\b\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}(:\\d{1,5})?\\b"},{cN:"number",b:"\\b\\d+[kKmMgGdshdwy]*\\b",r:0},t]};return{aliases:["nginxconf"],c:[e.HCM,{b:e.UIR+"\\s+{",rB:!0,e:"{",c:[{cN:"section",b:e.UIR}],r:0},{b:e.UIR+"\\s",e:";|{",rB:!0,c:[{cN:"attribute",b:e.UIR,starts:i}],r:0}],i:"[^\\s\\}]"}}),hljs.registerLanguage("ini",function(e){var t={cN:"string",c:[e.BE],v:[{b:"'''",e:"'''",r:10},{b:'"""',e:'"""',r:10},{b:'"',e:'"'},{b:"'",e:"'"}]};return{aliases:["toml"],cI:!0,i:/\S/,c:[e.C(";","$"),e.HCM,{cN:"section",b:/^\s*\[+/,e:/\]+/},{b:/^[a-z0-9\[\]_-]+\s*=\s*/,e:"$",rB:!0,c:[{cN:"attr",b:/[a-z0-9\[\]_-]+/},{b:/=/,eW:!0,r:0,c:[{cN:"literal",b:/\bon|off|true|false|yes|no\b/},{cN:"variable",v:[{b:/\$[\w\d"][\w\d_]*/},{b:/\$\{(.*?)}/}]},t,{cN:"number",b:/([\+\-]+)?[\d]+_[\d_]+/},e.NM]}]}]}}),hljs.registerLanguage("http",function(e){var t="HTTP/[0-9\\.]+";return{aliases:["https"],i:"\\S",c:[{b:"^"+t,e:"$",c:[{cN:"number",b:"\\b\\d{3}\\b"}]},{b:"^[A-Z]+ (.*?) "+t+"$",rB:!0,e:"$",c:[{cN:"string",b:" ",e:" ",eB:!0,eE:!0},{b:t},{cN:"keyword",b:"[A-Z]+"}]},{cN:"attribute",b:"^\\w",e:": ",eE:!0,i:"\\n|\\s|=",starts:{e:"$",r:0}},{b:"\\n\\n",starts:{sL:[],eW:!0}}]}}),hljs.registerLanguage("css",function(e){var t={b:/[A-Z\_\.\-]+\s*:/,rB:!0,e:";",eW:!0,c:[{cN:"attribute",b:/\S/,e:":",eE:!0,starts:{eW:!0,eE:!0,c:[{b:/[\w-]+\(/,rB:!0,c:[{cN:"built_in",b:/[\w-]+/},{b:/\(/,e:/\)/,c:[e.ASM,e.QSM]}]},e.CSSNM,e.QSM,e.ASM,e.CBCM,{cN:"number",b:"#[0-9A-Fa-f]+"},{cN:"meta",b:"!important"}]}}]};return{cI:!0,i:/[=\/|'\$]/,c:[e.CBCM,{cN:"selector-id",b:/#[A-Za-z0-9_-]+/},{cN:"selector-class",b:/\.[A-Za-z0-9_-]+/},{cN:"selector-attr",b:/\[/,e:/\]/,i:"$"},{cN:"selector-pseudo",b:/:(:)?[a-zA-Z0-9\_\-\+\(\)"'.]+/},{b:"@(font-face|page)",l:"[a-z-]+",k:"font-face page"},{b:"@",e:"[{;]",i:/:/,c:[{cN:"keyword",b:/\w+/},{b:/\s/,eW:!0,eE:!0,r:0,c:[e.ASM,e.QSM,e.CSSNM]}]},{cN:"selector-tag",b:"[a-zA-Z-][a-zA-Z0-9_-]*",r:0},{b:"{",e:"}",i:/\S/,c:[e.CBCM,t]}]}}),hljs.registerLanguage("javascript",function(e){var t="[A-Za-z$_][0-9A-Za-z$_]*",i={keyword:"in of if for while finally var new function do return void else break catch instanceof with throw case default try this switch continue typeof delete let yield const export super debugger as async await static import from as",literal:"true false null undefined NaN Infinity",built_in:"eval isFinite isNaN parseFloat parseInt decodeURI decodeURIComponent encodeURI encodeURIComponent escape unescape Object Function Boolean Error EvalError InternalError RangeError ReferenceError StopIteration SyntaxError TypeError URIError Number Math Date String RegExp Array Float32Array Float64Array Int16Array Int32Array Int8Array Uint16Array Uint32Array Uint8Array Uint8ClampedArray ArrayBuffer DataView JSON Intl arguments require module console window document Symbol Set Map WeakSet WeakMap Proxy Reflect Promise"},n={cN:"number",v:[{b:"\\b(0[bB][01]+)"},{b:"\\b(0[oO][0-7]+)"},{b:e.CNR}],r:0},s={cN:"subst",b:"\\$\\{",e:"\\}",k:i,c:[]},r={cN:"string",b:"`",e:"`",c:[e.BE,s]};s.c=[e.ASM,e.QSM,r,n,e.RM];var a=s.c.concat([e.CBCM,e.CLCM]);return{aliases:["js","jsx"],k:i,c:[{cN:"meta",r:10,b:/^\s*['"]use (strict|asm)['"]/},{cN:"meta",b:/^#!/,e:/$/},e.ASM,e.QSM,r,e.CLCM,e.CBCM,n,{b:/[{,]\s*/,r:0,c:[{b:t+"\\s*:",rB:!0,r:0,c:[{cN:"attr",b:t,r:0}]}]},{b:"("+e.RSR+"|\\b(case|return|throw)\\b)\\s*",k:"return throw case",c:[e.CLCM,e.CBCM,e.RM,{cN:"function",b:"(\\(.*?\\)|"+t+")\\s*=>",rB:!0,e:"\\s*=>",c:[{cN:"params",v:[{b:t},{b:/\(\s*\)/},{b:/\(/,e:/\)/,eB:!0,eE:!0,k:i,c:a}]}]},{b://,sL:"xml",c:[{b:/<\w+\s*\/>/,skip:!0},{b:/<\w+/,e:/(\/\w+|\w+\/)>/,skip:!0,c:[{b:/<\w+\s*\/>/,skip:!0},"self"]}]}],r:0},{cN:"function",bK:"function",e:/\{/,eE:!0,c:[e.inherit(e.TM,{b:t}),{cN:"params",b:/\(/,e:/\)/,eB:!0,eE:!0,c:a}],i:/\[|%/},{b:/\$[(.]/},e.METHOD_GUARD,{cN:"class",bK:"class",e:/[{;=]/,eE:!0,i:/[:"\[\]]/,c:[{bK:"extends"},e.UTM]},{bK:"constructor",e:/\{/,eE:!0}],i:/#(?!!)/}}),hljs.registerLanguage("makefile",function(e){var t={cN:"variable",v:[{b:"\\$\\("+e.UIR+"\\)",c:[e.BE]},{b:/\$[@%>|=~|===?|<=>|[<>]=?|\\*\\*|[-/+%^&*~`|]|\\[\\]=?",i={keyword:"and then defined module in return redo if BEGIN retry end for self when next until do begin unless END rescue else break undef not super class case require yield alias while ensure elsif or include attr_reader attr_writer attr_accessor",literal:"true false nil"},n={cN:"doctag",b:"@[A-Za-z]+"},s={b:"#<",e:">"},r=[e.C("#","$",{c:[n]}),e.C("^\\=begin","^\\=end",{c:[n],r:10}),e.C("^__END__","\\n$")],a={cN:"subst",b:"#\\{",e:"}",k:i},o={cN:"string",c:[e.BE,a],v:[{b:/'/,e:/'/},{b:/"/,e:/"/},{b:/`/,e:/`/},{b:"%[qQwWx]?\\(",e:"\\)"},{b:"%[qQwWx]?\\[",e:"\\]"},{b:"%[qQwWx]?{",e:"}"},{b:"%[qQwWx]?<",e:">"},{b:"%[qQwWx]?/",e:"/"},{b:"%[qQwWx]?%",e:"%"},{b:"%[qQwWx]?-",e:"-"},{b:"%[qQwWx]?\\|",e:"\\|"},{b:/\B\?(\\\d{1,3}|\\x[A-Fa-f0-9]{1,2}|\\u[A-Fa-f0-9]{4}|\\?\S)\b/},{b:/<<(-?)\w+$/,e:/^\s*\w+$/}]},l={cN:"params",b:"\\(",e:"\\)",endsParent:!0,k:i},c=[o,s,{cN:"class",bK:"class module",e:"$|;",i:/=/,c:[e.inherit(e.TM,{b:"[A-Za-z_]\\w*(::\\w+)*(\\?|\\!)?"}),{b:"<\\s*",c:[{b:"("+e.IR+"::)?"+e.IR}]}].concat(r)},{cN:"function",bK:"def",e:"$|;",c:[e.inherit(e.TM,{b:t}),l].concat(r)},{b:e.IR+"::"},{cN:"symbol",b:e.UIR+"(\\!|\\?)?:",r:0},{cN:"symbol",b:":(?!\\s)",c:[o,{b:t}],r:0},{cN:"number",b:"(\\b0[0-7_]+)|(\\b0x[0-9a-fA-F_]+)|(\\b[1-9][0-9_]*(\\.[0-9_]+)?)|[0_]\\b",r:0},{b:"(\\$\\W)|((\\$|\\@\\@?)(\\w+))"},{cN:"params",b:/\|/,e:/\|/,k:i},{b:"("+e.RSR+"|unless)\\s*",k:"unless",c:[s,{cN:"regexp",c:[e.BE,a],i:/\n/,v:[{b:"/",e:"/[a-z]*"},{b:"%r{",e:"}[a-z]*"},{b:"%r\\(",e:"\\)[a-z]*"},{b:"%r!",e:"![a-z]*"},{b:"%r\\[",e:"\\][a-z]*"}]}].concat(r),r:0}].concat(r);a.c=c;var d=[{b:/^\s*=>/,starts:{e:"$",c:l.c=c}},{cN:"meta",b:"^([>?]>|[\\w#]+\\(\\w+\\):\\d+:\\d+>|(\\w+-)?\\d+\\.\\d+\\.\\d(p\\d+)?[^>]+>)",starts:{e:"$",c:c}}];return{aliases:["rb","gemspec","podspec","thor","irb"],k:i,i:/\/\*/,c:r.concat(d).concat(c)}}),hljs.registerLanguage("cs",function(e){var t={keyword:"abstract as base bool break byte case catch char checked const continue decimal default delegate do double enum event explicit extern finally fixed float for foreach goto if implicit in int interface internal is lock long nameof object operator out override params private protected public readonly ref sbyte sealed short sizeof stackalloc static string struct switch this try typeof uint ulong unchecked unsafe ushort using virtual void volatile while add alias ascending async await by descending dynamic equals from get global group into join let on orderby partial remove select set value var where yield",literal:"null false true"},i={cN:"number",v:[{b:"\\b(0b[01']+)"},{b:"(-?)\\b([\\d']+(\\.[\\d']*)?|\\.[\\d']+)(u|U|l|L|ul|UL|f|F|b|B)"},{b:"(-?)(\\b0[xX][a-fA-F0-9']+|(\\b[\\d']+(\\.[\\d']*)?|\\.[\\d']+)([eE][-+]?[\\d']+)?)"}],r:0},n={cN:"string",b:'@"',e:'"',c:[{b:'""'}]},s=e.inherit(n,{i:/\n/}),r={cN:"subst",b:"{",e:"}",k:t},a=e.inherit(r,{i:/\n/}),o={cN:"string",b:/\$"/,e:'"',i:/\n/,c:[{b:"{{"},{b:"}}"},e.BE,a]},l={cN:"string",b:/\$@"/,e:'"',c:[{b:"{{"},{b:"}}"},{b:'""'},r]},c=e.inherit(l,{i:/\n/,c:[{b:"{{"},{b:"}}"},{b:'""'},a]});r.c=[l,o,n,e.ASM,e.QSM,i,e.CBCM],a.c=[c,o,s,e.ASM,e.QSM,i,e.inherit(e.CBCM,{i:/\n/})];var d={v:[l,o,n,e.ASM,e.QSM]},u=e.IR+"(<"+e.IR+"(\\s*,\\s*"+e.IR+")*>)?(\\[\\])?";return{aliases:["csharp"],k:t,i:/::/,c:[e.C("///","$",{rB:!0,c:[{cN:"doctag",v:[{b:"///",r:0},{b:"\x3c!--|--\x3e"},{b:""}]}]}),e.CLCM,e.CBCM,{cN:"meta",b:"#",e:"$",k:{"meta-keyword":"if else elif endif define undef warning error line region endregion pragma checksum"}},d,i,{bK:"class interface",e:/[{;=]/,i:/[^\s:,]/,c:[e.TM,e.CLCM,e.CBCM]},{bK:"namespace",e:/[{;=]/,i:/[^\s:]/,c:[e.inherit(e.TM,{b:"[a-zA-Z](\\.?\\w)*"}),e.CLCM,e.CBCM]},{cN:"meta",b:"^\\s*\\[",eB:!0,e:"\\]",eE:!0,c:[{cN:"meta-string",b:/"/,e:/"/}]},{bK:"new return throw await else",r:0},{cN:"function",b:"("+u+"\\s+)+"+e.IR+"\\s*\\(",rB:!0,e:/\s*[{;=]/,eE:!0,k:t,c:[{b:e.IR+"\\s*\\(",rB:!0,c:[e.TM],r:0},{cN:"params",b:/\(/,e:/\)/,eB:!0,eE:!0,k:t,r:0,c:[d,i,e.CBCM]},e.CLCM,e.CBCM]}]}}),hljs.registerLanguage("coffeescript",function(e){var t={keyword:"in if for while finally new do return else break catch instanceof throw try this switch continue typeof delete debugger super yield import export from as default await then unless until loop of by when and or is isnt not",literal:"true false null undefined yes no on off",built_in:"npm require console print module global window document"},i="[A-Za-z$_][0-9A-Za-z$_]*",n={cN:"subst",b:/#\{/,e:/}/,k:t},s=[e.BNM,e.inherit(e.CNM,{starts:{e:"(\\s*/)?",r:0}}),{cN:"string",v:[{b:/'''/,e:/'''/,c:[e.BE]},{b:/'/,e:/'/,c:[e.BE]},{b:/"""/,e:/"""/,c:[e.BE,n]},{b:/"/,e:/"/,c:[e.BE,n]}]},{cN:"regexp",v:[{b:"///",e:"///",c:[n,e.HCM]},{b:"//[gim]*",r:0},{b:/\/(?![ *])(\\\/|.)*?\/[gim]*(?=\W|$)/}]},{b:"@"+i},{sL:"javascript",eB:!0,eE:!0,v:[{b:"```",e:"```"},{b:"`",e:"`"}]}];n.c=s;var r=e.inherit(e.TM,{b:i}),a="(\\(.*\\))?\\s*\\B[-=]>",o={cN:"params",b:"\\([^\\(]",rB:!0,c:[{b:/\(/,e:/\)/,k:t,c:["self"].concat(s)}]};return{aliases:["coffee","cson","iced"],k:t,i:/\/\*/,c:s.concat([e.C("###","###"),e.HCM,{cN:"function",b:"^\\s*"+i+"\\s*=\\s*"+a,e:"[-=]>",rB:!0,c:[r,o]},{b:/[:\(,=]\s*/,r:0,c:[{cN:"function",b:a,e:"[-=]>",rB:!0,c:[o]}]},{cN:"class",bK:"class",e:"$",i:/[:="\[\]]/,c:[{bK:"extends",eW:!0,i:/[:="\[\]]/,c:[r]},r]},{b:i+":",e:":",rB:!0,rE:!0,r:0}])}}),hljs.registerLanguage("php",function(e){var t={b:"\\$+[a-zA-Z_-ÿ][a-zA-Z0-9_-ÿ]*"},i={cN:"meta",b:/<\?(php)?|\?>/},n={cN:"string",c:[e.BE,i],v:[{b:'b"',e:'"'},{b:"b'",e:"'"},e.inherit(e.ASM,{i:null}),e.inherit(e.QSM,{i:null})]},s={v:[e.BNM,e.CNM]};return{aliases:["php","php3","php4","php5","php6","php7"],cI:!0,k:"and include_once list abstract global private echo interface as static endswitch array null if endwhile or const for endforeach self var while isset public protected exit foreach throw elseif include __FILE__ empty require_once do xor return parent clone use __CLASS__ __LINE__ else break print eval new catch __METHOD__ case exception default die require __FUNCTION__ enddeclare final try switch continue endfor endif declare unset true false trait goto instanceof insteadof __DIR__ __NAMESPACE__ yield finally",c:[e.HCM,e.C("//","$",{c:[i]}),e.C("/\\*","\\*/",{c:[{cN:"doctag",b:"@[A-Za-z]+"}]}),e.C("__halt_compiler.+?;",!1,{eW:!0,k:"__halt_compiler",l:e.UIR}),{cN:"string",b:/<<<['"]?\w+['"]?$/,e:/^\w+;?$/,c:[e.BE,{cN:"subst",v:[{b:/\$\w+/},{b:/\{\$/,e:/\}/}]}]},i,{cN:"keyword",b:/\$this\b/},t,{b:/(::|->)+[a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*/},{cN:"function",bK:"function",e:/[;{]/,eE:!0,i:"\\$|\\[|%",c:[e.UTM,{cN:"params",b:"\\(",e:"\\)",c:["self",t,e.CBCM,n,s]}]},{cN:"class",bK:"class interface",e:"{",eE:!0,i:/[:\(\$"]/,c:[{bK:"extends implements"},e.UTM]},{bK:"namespace",e:";",i:/[\.']/,c:[e.UTM]},{bK:"use",e:";",c:[e.UTM]},{b:"=>"},n,s]}}),hljs.registerLanguage("cpp",function(e){var t={cN:"keyword",b:"\\b[a-z\\d_]*_t\\b"},i={cN:"string",v:[{b:'(u8?|U|L)?"',e:'"',i:"\\n",c:[e.BE]},{b:'(u8?|U|L)?R"\\(',e:'\\)"'},{b:"'\\\\?.",e:"'",i:"."}]},n={cN:"number",v:[{b:"\\b(0b[01']+)"},{b:"(-?)\\b([\\d']+(\\.[\\d']*)?|\\.[\\d']+)(u|U|l|L|ul|UL|f|F|b|B)"},{b:"(-?)(\\b0[xX][a-fA-F0-9']+|(\\b[\\d']+(\\.[\\d']*)?|\\.[\\d']+)([eE][-+]?[\\d']+)?)"}],r:0},s={cN:"meta",b:/#\s*[a-z]+\b/,e:/$/,k:{"meta-keyword":"if else elif endif define undef warning error line pragma ifdef ifndef include"},c:[{b:/\\\n/,r:0},e.inherit(i,{cN:"meta-string"}),{cN:"meta-string",b:/<[^\n>]*>/,e:/$/,i:"\\n"},e.CLCM,e.CBCM]},r=e.IR+"\\s*\\(",a={keyword:"int float while private char catch import module export virtual operator sizeof dynamic_cast|10 typedef const_cast|10 const for static_cast|10 union namespace unsigned long volatile static protected bool template mutable if public friend do goto auto void enum else break extern using asm case typeid short reinterpret_cast|10 default double register explicit signed typename try this switch continue inline delete alignof constexpr decltype noexcept static_assert thread_local restrict _Bool complex _Complex _Imaginary atomic_bool atomic_char atomic_schar atomic_uchar atomic_short atomic_ushort atomic_int atomic_uint atomic_long atomic_ulong atomic_llong atomic_ullong new throw return and or not",built_in:"std string cin cout cerr clog stdin stdout stderr stringstream istringstream ostringstream auto_ptr deque list queue stack vector map set bitset multiset multimap unordered_set unordered_map unordered_multiset unordered_multimap array shared_ptr abort abs acos asin atan2 atan calloc ceil cosh cos exit exp fabs floor fmod fprintf fputs free frexp fscanf isalnum isalpha iscntrl isdigit isgraph islower isprint ispunct isspace isupper isxdigit tolower toupper labs ldexp log10 log malloc realloc memchr memcmp memcpy memset modf pow printf putchar puts scanf sinh sin snprintf sprintf sqrt sscanf strcat strchr strcmp strcpy strcspn strlen strncat strncmp strncpy strpbrk strrchr strspn strstr tanh tan vfprintf vprintf vsprintf endl initializer_list unique_ptr",literal:"true false nullptr NULL"},o=[t,e.CLCM,e.CBCM,n,i];return{aliases:["c","cc","h","c++","h++","hpp"],k:a,i:"",k:a,c:["self",t]},{b:e.IR+"::",k:a},{v:[{b:/=/,e:/;/},{b:/\(/,e:/\)/},{bK:"new throw return else",e:/;/}],k:a,c:o.concat([{b:/\(/,e:/\)/,k:a,c:o.concat(["self"]),r:0}]),r:0},{cN:"function",b:"("+e.IR+"[\\*&\\s]+)+"+r,rB:!0,e:/[{;=]/,eE:!0,k:a,i:/[^\w\s\*&]/,c:[{b:r,rB:!0,c:[e.TM],r:0},{cN:"params",b:/\(/,e:/\)/,k:a,r:0,c:[e.CLCM,e.CBCM,i,n,t,{b:/\(/,e:/\)/,k:a,r:0,c:["self",e.CLCM,e.CBCM,i,n,t]}]},e.CLCM,e.CBCM,s]},{cN:"class",bK:"class struct",e:/[{;:]/,c:[{b://,c:["self"]},e.TM]}]),exports:{preprocessor:s,strings:i,k:a}}}),hljs.registerLanguage("properties",function(e){var t="[ \\t\\f]*",i="("+t+"[:=]"+t+"|[ \\t\\f]+)",n="([^\\\\\\W:= \\t\\f\\n]|\\\\.)+",s="([^\\\\:= \\t\\f\\n]|\\\\.)+",r={e:i,r:0,starts:{cN:"string",e:/$/,r:0,c:[{b:"\\\\\\n"}]}};return{cI:!0,i:/\S/,c:[e.C("^\\s*[!#]","$"),{b:n+i,rB:!0,c:[{cN:"attr",b:n,endsParent:!0,r:0}],starts:r},{b:s+i,rB:!0,r:0,c:[{cN:"meta",b:s,endsParent:!0,r:0}],starts:r},{cN:"attr",r:0,b:s+t+"$"}]}}),hljs.registerLanguage("diff",function(e){return{aliases:["patch"],c:[{cN:"meta",r:10,v:[{b:/^@@ +\-\d+,\d+ +\+\d+,\d+ +@@$/},{b:/^\*\*\* +\d+,\d+ +\*\*\*\*$/},{b:/^\-\-\- +\d+,\d+ +\-\-\-\-$/}]},{cN:"comment",v:[{b:/Index: /,e:/$/},{b:/={3,}/,e:/$/},{b:/^\-{3}/,e:/$/},{b:/^\*{3} /,e:/$/},{b:/^\+{3}/,e:/$/},{b:/\*{5}/,e:/\*{5}$/}]},{cN:"addition",b:"^\\+",e:"$"},{cN:"deletion",b:"^\\-",e:"$"},{cN:"addition",b:"^\\!",e:"$"}]}}),hljs.registerLanguage("apache",function(e){var t={cN:"number",b:"[\\$%]\\d+"};return{aliases:["apacheconf"],cI:!0,c:[e.HCM,{cN:"section",b:""},{cN:"attribute",b:/\w+/,r:0,k:{nomarkup:"order deny allow setenv rewriterule rewriteengine rewritecond documentroot sethandler errordocument loadmodule options header listen serverroot servername"},starts:{e:/$/,r:0,k:{literal:"on off all"},c:[{cN:"meta",b:"\\s\\[",e:"\\]$"},{cN:"variable",b:"[\\$%]\\{",e:"\\}",c:["self",t]},t,e.QSM]}}],i:/\S/}}),hljs.registerLanguage("python",function(e){var t={keyword:"and elif is global as in if from raise for except finally print import pass return exec else break not with class assert yield try while continue del or def lambda async await nonlocal|10 None True False",built_in:"Ellipsis NotImplemented"},i={cN:"meta",b:/^(>>>|\.\.\.) /},n={cN:"subst",b:/\{/,e:/\}/,k:t,i:/#/},s={cN:"string",c:[e.BE],v:[{b:/(u|b)?r?'''/,e:/'''/,c:[e.BE,i],r:10},{b:/(u|b)?r?"""/,e:/"""/,c:[e.BE,i],r:10},{b:/(fr|rf|f)'''/,e:/'''/,c:[e.BE,i,n]},{b:/(fr|rf|f)"""/,e:/"""/,c:[e.BE,i,n]},{b:/(u|r|ur)'/,e:/'/,r:10},{b:/(u|r|ur)"/,e:/"/,r:10},{b:/(b|br)'/,e:/'/},{b:/(b|br)"/,e:/"/},{b:/(fr|rf|f)'/,e:/'/,c:[e.BE,n]},{b:/(fr|rf|f)"/,e:/"/,c:[e.BE,n]},e.ASM,e.QSM]},r={cN:"number",r:0,v:[{b:e.BNR+"[lLjJ]?"},{b:"\\b(0o[0-7]+)[lLjJ]?"},{b:e.CNR+"[lLjJ]?"}]},a={cN:"params",b:/\(/,e:/\)/,c:["self",i,r,s]};return n.c=[s,r,i],{aliases:["py","gyp"],k:t,i:/(<\/|->|\?)|=>/,c:[i,r,s,e.HCM,{v:[{cN:"function",bK:"def"},{cN:"class",bK:"class"}],e:/:/,i:/[${=;\n,]/,c:[e.UTM,a,{b:/->/,eW:!0,k:"None"}]},{cN:"meta",b:/^[\t ]*@/,e:/$/},{b:/\b(print|exec)\(/}]}}),function(l,i,s,o){function c(e,t){this.settings=null,this.options=l.extend({},c.Defaults,t),this.$element=l(e),this._handlers={},this._plugins={},this._supress={},this._current=null,this._speed=null,this._coordinates=[],this._breakpoint=null,this._width=null,this._items=[],this._clones=[],this._mergers=[],this._widths=[],this._invalidated={},this._pipe=[],this._drag={time:null,target:null,pointer:null,stage:{start:null,current:null},direction:null},this._states={current:{},tags:{initializing:["busy"],animating:["busy"],dragging:["interacting"]}},l.each(["onResize","onThrottledResize"],l.proxy(function(e,t){this._handlers[t]=l.proxy(this[t],this)},this)),l.each(c.Plugins,l.proxy(function(e,t){this._plugins[e.charAt(0).toLowerCase()+e.slice(1)]=new t(this)},this)),l.each(c.Workers,l.proxy(function(e,t){this._pipe.push({filter:t.filter,run:l.proxy(t.run,this)})},this)),this.setup(),this.initialize()}c.Defaults={items:3,loop:!1,center:!1,rewind:!1,checkVisibility:!0,mouseDrag:!0,touchDrag:!0,pullDrag:!0,freeDrag:!1,margin:0,stagePadding:0,merge:!1,mergeFit:!0,autoWidth:!1,startPosition:0,rtl:!1,smartSpeed:250,fluidSpeed:!1,dragEndSpeed:!1,responsive:{},responsiveRefreshRate:200,responsiveBaseElement:i,fallbackEasing:"swing",slideTransition:"",info:!1,nestedItemSelector:!1,itemElement:"div",stageElement:"div",refreshClass:"owl-refresh",loadedClass:"owl-loaded",loadingClass:"owl-loading",rtlClass:"owl-rtl",responsiveClass:"owl-responsive",dragClass:"owl-drag",itemClass:"owl-item",stageClass:"owl-stage",stageOuterClass:"owl-stage-outer",grabClass:"owl-grab"},c.Width={Default:"default",Inner:"inner",Outer:"outer"},c.Type={Event:"event",State:"state"},c.Plugins={},c.Workers=[{filter:["width","settings"],run:function(){this._width=this.$element.width()}},{filter:["width","items","settings"],run:function(e){e.current=this._items&&this._items[this.relative(this._current)]}},{filter:["items","settings"],run:function(){this.$stage.children(".cloned").remove()}},{filter:["width","items","settings"],run:function(e){var t=this.settings.margin||"",i=!this.settings.autoWidth,n=this.settings.rtl,s={width:"auto","margin-left":n?t:"","margin-right":n?"":t};!i&&this.$stage.children().css(s),e.css=s}},{filter:["width","items","settings"],run:function(e){var t=(this.width()/this.settings.items).toFixed(3)-this.settings.margin,i=null,n=this._items.length,s=!this.settings.autoWidth,r=[];for(e.items={merge:!1,width:t};n--;)i=this._mergers[n],i=this.settings.mergeFit&&Math.min(i,this.settings.items)||i,e.items.merge=1",o)||this.op(t,"<",a)&&this.op(t,">",o))&&l.push(i);this.$stage.children(".active").removeClass("active"),this.$stage.children(":eq("+l.join("), :eq(")+")").addClass("active"),this.$stage.children(".center").removeClass("center"),this.settings.center&&this.$stage.children().eq(this.current()).addClass("center")}}],c.prototype.initializeStage=function(){this.$stage=this.$element.find("."+this.settings.stageClass),this.$stage.length||(this.$element.addClass(this.options.loadingClass),this.$stage=l("<"+this.settings.stageElement+">",{class:this.settings.stageClass}).wrap(l("
",{class:this.settings.stageOuterClass})),this.$element.append(this.$stage.parent()))},c.prototype.initializeItems=function(){var e=this.$element.find(".owl-item");if(e.length)return this._items=e.get().map(function(e){return l(e)}),this._mergers=this._items.map(function(){return 1}),void this.refresh();this.replace(this.$element.children().not(this.$stage.parent())),this.isVisible()?this.refresh():this.invalidate("width"),this.$element.removeClass(this.options.loadingClass).addClass(this.options.loadedClass)},c.prototype.initialize=function(){var e,t,i;(this.enter("initializing"),this.trigger("initialize"),this.$element.toggleClass(this.settings.rtlClass,this.settings.rtl),this.settings.autoWidth&&!this.is("pre-loading"))&&(e=this.$element.find("img"),t=this.settings.nestedItemSelector?"."+this.settings.nestedItemSelector:o,i=this.$element.children(t).width(),e.length&&i<=0&&this.preloadAutoWidthImages(e));this.initializeStage(),this.initializeItems(),this.registerEventHandlers(),this.leave("initializing"),this.trigger("initialized")},c.prototype.isVisible=function(){return!this.settings.checkVisibility||this.$element.is(":visible")},c.prototype.setup=function(){var t=this.viewport(),e=this.options.responsive,i=-1,n=null;e?(l.each(e,function(e){e<=t&&i").addClass(this.options.itemClass).append(e)),this.trigger("prepared",{content:t.data}),t.data},c.prototype.update=function(){for(var e=0,t=this._pipe.length,i=l.proxy(function(e){return this[e]},this._invalidated),n={};e",a[e+1]!==o?a[e+1]:t-r)&&(s="left"===n?e+1:e),-1===s},this)),this.settings.loop||(this.op(i,">",a[this.minimum()])?s=i=this.minimum():this.op(i,"<",a[this.maximum()])&&(s=i=this.maximum())),s},c.prototype.animate=function(e){var t=0n););r=t+1}else r=s.center?this._items.length-1:this._items.length-s.items;return e&&(r-=this._clones.length/2),Math.max(r,0)},c.prototype.minimum=function(e){return e?0:this._clones.length/2},c.prototype.items=function(e){return e===o?this._items.slice():(e=this.normalize(e,!0),this._items[e])},c.prototype.mergers=function(e){return e===o?this._mergers.slice():(e=this.normalize(e,!0),this._mergers[e])},c.prototype.clones=function(i){var t=this._clones.length/2,n=t+this._items.length,s=function(e){return e%2==0?n+e/2:t-(e+1)/2};return i===o?l.map(this._clones,function(e,t){return s(t)}):l.map(this._clones,function(e,t){return e===i?s(t):null})},c.prototype.speed=function(e){return e!==o&&(this._speed=e),this._speed},c.prototype.coordinates=function(e){var t,i=1,n=e-1;return e===o?l.map(this._coordinates,l.proxy(function(e,t){return this.coordinates(t)},this)):(this.settings.center?(this.settings.rtl&&(i=-1,n=e+1),t=this._coordinates[e],t+=(this.width()-t+(this._coordinates[n]||0))/2*i):t=this._coordinates[n]||0,t=Math.ceil(t))},c.prototype.duration=function(e,t,i){return 0===i?0:Math.min(Math.max(Math.abs(t-e),1),6)*Math.abs(i||this.settings.smartSpeed)},c.prototype.to=function(e,t){var i=this.current(),n=null,s=e-this.relative(i),r=(0a/2&&(s+=-1*r*a),(n=(((e=i+s)-o)%a+a)%a+o)!==e&&n-s<=l&&0":return n?e=":return n?e<=i:i<=e;case"<=":return n?i<=e:e<=i}},c.prototype.on=function(e,t,i,n){e.addEventListener?e.addEventListener(t,i,n):e.attachEvent&&e.attachEvent("on"+t,i)},c.prototype.off=function(e,t,i,n){e.removeEventListener?e.removeEventListener(t,i,n):e.detachEvent&&e.detachEvent("on"+t,i)},c.prototype.trigger=function(e,t,i,n,s){var r={item:{count:this._items.length,index:this.current()}},a=l.camelCase(l.grep(["on",e,i],function(e){return e}).join("-").toLowerCase()),o=l.Event([e,"owl",i||"carousel"].join(".").toLowerCase(),l.extend({relatedTarget:this},r,t));return this._supress[e]||(l.each(this._plugins,function(e,t){t.onTrigger&&t.onTrigger(o)}),this.register({type:c.Type.Event,name:e}),this.$element.trigger(o),this.settings&&"function"==typeof this.settings[a]&&this.settings[a].call(this,o)),o},c.prototype.enter=function(e){l.each([e].concat(this._states.tags[e]||[]),l.proxy(function(e,t){this._states.current[t]===o&&(this._states.current[t]=0),this._states.current[t]++},this))},c.prototype.leave=function(e){l.each([e].concat(this._states.tags[e]||[]),l.proxy(function(e,t){this._states.current[t]--},this))},c.prototype.register=function(i){if(i.type===c.Type.Event){if(l.event.special[i.name]||(l.event.special[i.name]={}),!l.event.special[i.name].owl){var t=l.event.special[i.name]._default;l.event.special[i.name]._default=function(e){return!t||!t.apply||e.namespace&&-1!==e.namespace.indexOf("owl")?e.namespace&&-1
',i=l.lazyLoad?d("
",{class:"owl-video-tn "+o,srcType:e}):d("
",{class:"owl-video-tn",style:"opacity:1;background-image:url("+e+")"}),t.after(i),t.after('
')};if(t.wrap(d("
",{class:"owl-video-wrapper",style:s})),this._core.settings.lazyLoad&&(a="data-src",o="owl-lazy"),r.length)return c(r.attr(a)),r.remove(),!1;"youtube"===e.type?(n="//img.youtube.com/vi/"+e.id+"/hqdefault.jpg",c(n)):"vimeo"===e.type?d.ajax({type:"GET",url:"//vimeo.com/api/v2/video/"+e.id+".json",jsonp:"callback",dataType:"jsonp",success:function(e){n=e[0].thumbnail_large,c(n)}}):"vzaar"===e.type&&d.ajax({type:"GET",url:"//vzaar.com/api/videos/"+e.id+".json",jsonp:"callback",dataType:"jsonp",success:function(e){n=e.framegrab_url,c(n)}})},n.prototype.stop=function(){this._core.trigger("stop",null,"video"),this._playing.find(".owl-video-frame").remove(),this._playing.removeClass("owl-video-playing"),this._playing=null,this._core.leave("playing"),this._core.trigger("stopped",null,"video")},n.prototype.play=function(e){var t,i=d(e.target).closest("."+this._core.settings.itemClass),n=this._videos[i.attr("data-video")],s=n.width||"100%",r=n.height||this._core.$stage.height();this._playing||(this._core.enter("playing"),this._core.trigger("play",null,"video"),i=this._core.items(this._core.relative(i.index())),this._core.reset(i.index()),(t=d('')).attr("height",r),t.attr("width",s),"youtube"===n.type?t.attr("src","//www.youtube.com/embed/"+n.id+"?autoplay=1&rel=0&v="+n.id):"vimeo"===n.type?t.attr("src","//player.vimeo.com/video/"+n.id+"?autoplay=1"):"vzaar"===n.type&&t.attr("src","//view.vzaar.com/"+n.id+"/player?autoplay=true"),d(t).wrap('
').insertAfter(i.find(".owl-video")),this._playing=i.addClass("owl-video-playing"))},n.prototype.isInFullScreen=function(){var e=t.fullscreenElement||t.mozFullScreenElement||t.webkitFullscreenElement;return e&&d(e).parent().hasClass("owl-video-frame")},n.prototype.destroy=function(){var e,t;for(e in this._core.$element.off("click.owl.video"),this._handlers)this._core.$element.off(e,this._handlers[e]);for(t in Object.getOwnPropertyNames(this))"function"!=typeof this[t]&&(this[t]=null)},d.fn.owlCarousel.Constructor.Plugins.Video=n}(window.Zepto||window.jQuery,window,document),function(a,e,t,i){var n=function(e){this.core=e,this.core.options=a.extend({},n.Defaults,this.core.options),this.swapping=!0,this.previous=void 0,this.next=void 0,this.handlers={"change.owl.carousel":a.proxy(function(e){e.namespace&&"position"==e.property.name&&(this.previous=this.core.current(),this.next=e.property.value)},this),"drag.owl.carousel dragged.owl.carousel translated.owl.carousel":a.proxy(function(e){e.namespace&&(this.swapping="translated"==e.type)},this),"translate.owl.carousel":a.proxy(function(e){e.namespace&&this.swapping&&(this.core.options.animateOut||this.core.options.animateIn)&&this.swap()},this)},this.core.$element.on(this.handlers)};n.Defaults={animateOut:!1,animateIn:!1},n.prototype.swap=function(){if(1===this.core.settings.items&&a.support.animation&&a.support.transition){this.core.speed(0);var e,t=a.proxy(this.clear,this),i=this.core.$stage.children().eq(this.previous),n=this.core.$stage.children().eq(this.next),s=this.core.settings.animateIn,r=this.core.settings.animateOut;this.core.current()!==this.previous&&(r&&(e=this.core.coordinates(this.previous)-this.core.coordinates(this.next),i.one(a.support.animation.end,t).css({left:e+"px"}).addClass("animated owl-animated-out").addClass(r)),s&&n.one(a.support.animation.end,t).addClass("animated owl-animated-in").addClass(s))}},n.prototype.clear=function(e){a(e.target).css({left:""}).removeClass("animated owl-animated-out owl-animated-in").removeClass(this.core.settings.animateIn).removeClass(this.core.settings.animateOut),this.core.onTransitionEnd()},n.prototype.destroy=function(){var e,t;for(e in this.handlers)this.core.$element.off(e,this.handlers[e]);for(t in Object.getOwnPropertyNames(this))"function"!=typeof this[t]&&(this[t]=null)},a.fn.owlCarousel.Constructor.Plugins.Animate=n}(window.Zepto||window.jQuery,window,document),function(n,s,t,e){var i=function(e){this._core=e,this._call=null,this._time=0,this._timeout=0,this._paused=!0,this._handlers={"changed.owl.carousel":n.proxy(function(e){e.namespace&&"settings"===e.property.name?this._core.settings.autoplay?this.play():this.stop():e.namespace&&"position"===e.property.name&&this._paused&&(this._time=0)},this),"initialized.owl.carousel":n.proxy(function(e){e.namespace&&this._core.settings.autoplay&&this.play()},this),"play.owl.autoplay":n.proxy(function(e,t,i){e.namespace&&this.play(t,i)},this),"stop.owl.autoplay":n.proxy(function(e){e.namespace&&this.stop()},this),"mouseover.owl.autoplay":n.proxy(function(){this._core.settings.autoplayHoverPause&&this._core.is("rotating")&&this.pause()},this),"mouseleave.owl.autoplay":n.proxy(function(){this._core.settings.autoplayHoverPause&&this._core.is("rotating")&&this.play()},this),"touchstart.owl.core":n.proxy(function(){this._core.settings.autoplayHoverPause&&this._core.is("rotating")&&this.pause()},this),"touchend.owl.core":n.proxy(function(){this._core.settings.autoplayHoverPause&&this.play()},this)},this._core.$element.on(this._handlers),this._core.options=n.extend({},i.Defaults,this._core.options)};i.Defaults={autoplay:!1,autoplayTimeout:5e3,autoplayHoverPause:!1,autoplaySpeed:!1},i.prototype._next=function(e){this._call=s.setTimeout(n.proxy(this._next,this,e),this._timeout*(Math.round(this.read()/this._timeout)+1)-this.read()),this._core.is("interacting")||t.hidden||this._core.next(e||this._core.settings.autoplaySpeed)},i.prototype.read=function(){return(new Date).getTime()-this._time},i.prototype.play=function(e,t){var i;this._core.is("rotating")||this._core.enter("rotating"),e=e||this._core.settings.autoplayTimeout,i=Math.min(this._time%(this._timeout||e),e),this._paused?(this._time=this.read(),this._paused=!1):s.clearTimeout(this._call),this._time+=this.read()%e-i,this._timeout=e,this._call=s.setTimeout(n.proxy(this._next,this,t),e-i)},i.prototype.stop=function(){this._core.is("rotating")&&(this._time=0,this._paused=!0,s.clearTimeout(this._call),this._core.leave("rotating"))},i.prototype.pause=function(){this._core.is("rotating")&&!this._paused&&(this._time=this.read(),this._paused=!0,s.clearTimeout(this._call))},i.prototype.destroy=function(){var e,t;for(e in this.stop(),this._handlers)this._core.$element.off(e,this._handlers[e]);for(t in Object.getOwnPropertyNames(this))"function"!=typeof this[t]&&(this[t]=null)},n.fn.owlCarousel.Constructor.Plugins.autoplay=i}(window.Zepto||window.jQuery,window,document),function(r,e,t,i){"use strict";var n=function(e){this._core=e,this._initialized=!1,this._pages=[],this._controls={},this._templates=[],this.$element=this._core.$element,this._overrides={next:this._core.next,prev:this._core.prev,to:this._core.to},this._handlers={"prepared.owl.carousel":r.proxy(function(e){e.namespace&&this._core.settings.dotsData&&this._templates.push('
'+r(e.content).find("[data-dot]").addBack("[data-dot]").attr("data-dot")+"
")},this),"added.owl.carousel":r.proxy(function(e){e.namespace&&this._core.settings.dotsData&&this._templates.splice(e.position,0,this._templates.pop())},this),"remove.owl.carousel":r.proxy(function(e){e.namespace&&this._core.settings.dotsData&&this._templates.splice(e.position,1)},this),"changed.owl.carousel":r.proxy(function(e){e.namespace&&"position"==e.property.name&&this.draw()},this),"initialized.owl.carousel":r.proxy(function(e){e.namespace&&!this._initialized&&(this._core.trigger("initialize",null,"navigation"),this.initialize(),this.update(),this.draw(),this._initialized=!0,this._core.trigger("initialized",null,"navigation"))},this),"refreshed.owl.carousel":r.proxy(function(e){e.namespace&&this._initialized&&(this._core.trigger("refresh",null,"navigation"),this.update(),this.draw(),this._core.trigger("refreshed",null,"navigation"))},this)},this._core.options=r.extend({},n.Defaults,this._core.options),this.$element.on(this._handlers)};n.Defaults={nav:!1,navText:['',''],navSpeed:!1,navElement:'button type="button" role="presentation"',navContainer:!1,navContainerClass:"owl-nav",navClass:["owl-prev","owl-next"],slideBy:1,dotClass:"owl-dot",dotsClass:"owl-dots",dots:!0,dotsEach:!1,dotsData:!1,dotsSpeed:!1,dotsContainer:!1},n.prototype.initialize=function(){var e,i=this._core.settings;for(e in this._controls.$relative=(i.navContainer?r(i.navContainer):r("
").addClass(i.navContainerClass).appendTo(this.$element)).addClass("disabled"),this._controls.$previous=r("<"+i.navElement+">").addClass(i.navClass[0]).html(i.navText[0]).prependTo(this._controls.$relative).on("click",r.proxy(function(e){this.prev(i.navSpeed)},this)),this._controls.$next=r("<"+i.navElement+">").addClass(i.navClass[1]).html(i.navText[1]).appendTo(this._controls.$relative).on("click",r.proxy(function(e){this.next(i.navSpeed)},this)),i.dotsData||(this._templates=[r('
'),n.append(s)),ee.extend(e,{$el:n,el:n[0],$dragEl:s,dragEl:s[0]}),i.draggable&&e.enableDraggable()}},destroy:function(){this.scrollbar.disableDraggable()}},j={setTransform:function(e,t){var i=this.rtl,n=D(e),s=i?-1:1,r=n.attr("data-swiper-parallax")||"0",a=n.attr("data-swiper-parallax-x"),o=n.attr("data-swiper-parallax-y"),l=n.attr("data-swiper-parallax-scale"),c=n.attr("data-swiper-parallax-opacity");if(a||o?(a=a||"0",o=o||"0"):this.isHorizontal()?(a=r,o="0"):(o=r,a="0"),a=0<=a.indexOf("%")?parseInt(a,10)*t*s+"%":a*t*s+"px",o=0<=o.indexOf("%")?parseInt(o,10)*t+"%":o*t+"px",null!=c){var d=c-(c-1)*(1-Math.abs(t));n[0].style.opacity=d}if(null==l)n.transform("translate3d("+a+", "+o+", 0px)");else{var u=l-(l-1)*(1-Math.abs(t));n.transform("translate3d("+a+", "+o+", 0px) scale("+u+")")}},setTranslate:function(){var n=this,e=n.$el,t=n.slides,s=n.progress,r=n.snapGrid;e.children("[data-swiper-parallax], [data-swiper-parallax-x], [data-swiper-parallax-y]").each(function(e,t){n.parallax.setTransform(t,s)}),t.each(function(e,t){var i=t.progress;1n.maxRatio&&(i.scale=n.maxRatio-1+Math.pow(i.scale-n.maxRatio+1,.5)),i.scalen.touchesStart.x))return void(n.isTouched=!1);if(!this.isHorizontal()&&(Math.floor(n.minY)===Math.floor(n.startY)&&n.touchesCurrent.yn.touchesStart.y))return void(n.isTouched=!1)}e.preventDefault(),e.stopPropagation(),n.isMoved=!0,n.currentX=n.touchesCurrent.x-n.touchesStart.x+n.startX,n.currentY=n.touchesCurrent.y-n.touchesStart.y+n.startY,n.currentXn.maxX&&(n.currentX=n.maxX-1+Math.pow(n.currentX-n.maxX+1,.8)),n.currentYn.maxY&&(n.currentY=n.maxY-1+Math.pow(n.currentY-n.maxY+1,.8)),s.prevPositionX||(s.prevPositionX=n.touchesCurrent.x),s.prevPositionY||(s.prevPositionY=n.touchesCurrent.y),s.prevTime||(s.prevTime=Date.now()),s.x=(n.touchesCurrent.x-s.prevPositionX)/(Date.now()-s.prevTime)/2,s.y=(n.touchesCurrent.y-s.prevPositionY)/(Date.now()-s.prevTime)/2,Math.abs(n.touchesCurrent.x-s.prevPositionX)<2&&(s.x=0),Math.abs(n.touchesCurrent.y-s.prevPositionY)<2&&(s.y=0),s.prevPositionX=n.touchesCurrent.x,s.prevPositionY=n.touchesCurrent.y,s.prevTime=Date.now(),i.$imageWrapEl.transform("translate3d("+n.currentX+"px, "+n.currentY+"px,0)")}}},onTouchEnd:function(){var e=this.zoom,t=e.gesture,i=e.image,n=e.velocity;if(t.$imageEl&&0!==t.$imageEl.length){if(!i.isTouched||!i.isMoved)return i.isTouched=!1,void(i.isMoved=!1);i.isTouched=!1,i.isMoved=!1;var s=300,r=300,a=n.x*s,o=i.currentX+a,l=n.y*r,c=i.currentY+l;0!==n.x&&(s=Math.abs((o-i.currentX)/n.x)),0!==n.y&&(r=Math.abs((c-i.currentY)/n.y));var d=Math.max(s,r);i.currentX=o,i.currentY=c;var u=i.width*e.scale,h=i.height*e.scale;i.minX=Math.min(t.slideWidth/2-u/2,0),i.maxX=-i.minX,i.minY=Math.min(t.slideHeight/2-h/2,0),i.maxY=-i.minY,i.currentX=Math.max(Math.min(i.currentX,i.maxX),i.minX),i.currentY=Math.max(Math.min(i.currentY,i.maxY),i.minY),t.$imageWrapEl.transition(d).transform("translate3d("+i.currentX+"px, "+i.currentY+"px,0)")}},onTransitionEnd:function(){var e=this.zoom,t=e.gesture;t.$slideEl&&this.previousIndex!==this.activeIndex&&(t.$imageEl.transform("translate3d(0,0,0) scale(1)"),t.$imageWrapEl.transform("translate3d(0,0,0)"),e.scale=1,e.currentScale=1,t.$slideEl=void 0,t.$imageEl=void 0,t.$imageWrapEl=void 0)},toggle:function(e){var t=this.zoom;t.scale&&1!==t.scale?t.out():t.in(e)},in:function(e){var t,i,n,s,r,a,o,l,c,d,u,h,p,f,m,g,v=this.zoom,b=this.params.zoom,y=v.gesture,w=v.image;y.$slideEl||(y.$slideEl=this.clickedSlide?D(this.clickedSlide):this.slides.eq(this.activeIndex),y.$imageEl=y.$slideEl.find("img, svg, canvas"),y.$imageWrapEl=y.$imageEl.parent("."+b.containerClass)),y.$imageEl&&0!==y.$imageEl.length&&(y.$slideEl.addClass(""+b.zoomedSlideClass),i=void 0===w.touchesStart.x&&e?(t="touchend"===e.type?e.changedTouches[0].pageX:e.pageX,"touchend"===e.type?e.changedTouches[0].pageY:e.pageY):(t=w.touchesStart.x,w.touchesStart.y),v.scale=y.$imageWrapEl.attr("data-swiper-zoom")||b.maxRatio,v.currentScale=y.$imageWrapEl.attr("data-swiper-zoom")||b.maxRatio,e?(m=y.$slideEl[0].offsetWidth,g=y.$slideEl[0].offsetHeight,n=y.$slideEl.offset().left+m/2-t,s=y.$slideEl.offset().top+g/2-i,o=y.$imageEl[0].offsetWidth,l=y.$imageEl[0].offsetHeight,c=o*v.scale,d=l*v.scale,p=-(u=Math.min(m/2-c/2,0)),f=-(h=Math.min(g/2-d/2,0)),(r=n*v.scale)>1]<=t?n=s:i=s;return i}(this.x,e),r=a-1,(e-this.x[r])*(this.y[a]-this.y[r])/(this.x[a]-this.x[r])+this.y[r]):0},this},getInterpolateFunction:function(e){this.controller.spline||(this.controller.spline=this.params.loop?new R.LinearSpline(this.slidesGrid,e.slidesGrid):new R.LinearSpline(this.snapGrid,e.snapGrid))},setTranslate:function(e,t){var i,n,s=this,r=s.controller.control;function a(e){var t=s.rtlTranslate?-s.translate:s.translate;"slide"===s.params.controller.by&&(s.controller.getInterpolateFunction(e),n=-s.controller.spline.interpolate(-t)),n&&"container"!==s.params.controller.by||(i=(e.maxTranslate()-e.minTranslate())/(s.maxTranslate()-s.minTranslate()),n=(t-s.minTranslate())*i+e.minTranslate()),s.params.controller.inverse&&(n=e.maxTranslate()-n),e.updateProgress(n),e.setTranslate(n,s),e.updateActiveIndex(),e.updateSlidesClasses()}if(Array.isArray(r))for(var o=0;o
'),n.append(e)),e.css({height:r+"px"})):0===(e=i.find(".swiper-cube-shadow")).length&&(e=D('
'),i.append(e)));for(var p=0;p
'),f.append(E)),0===C.length&&(C=D('
'),f.append(C)),E.length&&(E[0].style.opacity=Math.max(-b,0)),C.length&&(C[0].style.opacity=Math.max(b,0))}}if(n.css({"-webkit-transform-origin":"50% 50% -"+l/2+"px","-moz-transform-origin":"50% 50% -"+l/2+"px","-ms-transform-origin":"50% 50% -"+l/2+"px","transform-origin":"50% 50% -"+l/2+"px"}),c.shadow)if(d)e.transform("translate3d(0px, "+(r/2+c.shadowOffset)+"px, "+-r/2+"px) rotateX(90deg) rotateZ(0deg) scale("+c.shadowScale+")");else{var T=Math.abs(h)-90*Math.floor(Math.abs(h)/90),S=1.5-(Math.sin(2*T*Math.PI/360)/2+Math.cos(2*T*Math.PI/360)/2),k=c.shadowScale,N=c.shadowScale/S,M=c.shadowOffset;e.transform("scale3d("+k+", 1, "+N+") translate3d(0px, "+(a/2+M)+"px, "+-a/2/N+"px) rotateX(-90deg)")}var I=A.isSafari||A.isUiWebView?-l/2:0;n.transform("translate3d(0px,0,"+I+"px) rotateX("+(t.isHorizontal()?0:h)+"deg) rotateY("+(t.isHorizontal()?-h:0)+"deg)")},setTransition:function(e){var t=this.$el;this.slides.transition(e).find(".swiper-slide-shadow-top, .swiper-slide-shadow-right, .swiper-slide-shadow-bottom, .swiper-slide-shadow-left").transition(e),this.params.cubeEffect.shadow&&!this.isHorizontal()&&t.find(".swiper-cube-shadow").transition(e)}},Y={setTranslate:function(){for(var e=this.slides,t=this.rtlTranslate,i=0;i
'),n.append(c)),0===d.length&&(d=D('
'),n.append(d)),c.length&&(c[0].style.opacity=Math.max(-s,0)),d.length&&(d[0].style.opacity=Math.max(s,0))}n.transform("translate3d("+o+"px, "+l+"px, 0px) rotateX("+a+"deg) rotateY("+r+"deg)")}},setTransition:function(e){var i=this,t=i.slides,n=i.activeIndex,s=i.$wrapperEl;if(t.transition(e).find(".swiper-slide-shadow-top, .swiper-slide-shadow-right, .swiper-slide-shadow-bottom, .swiper-slide-shadow-left").transition(e),i.params.virtualTranslate&&0!==e){var r=!1;t.eq(n).transitionEnd(function(){if(!r&&i&&!i.destroyed){r=!0,i.animating=!1;for(var e=["webkitTransitionEnd","transitionend"],t=0;t
'),p.append(x)),0===E.length&&(E=D('
'),p.append(E)),x.length&&(x[0].style.opacity=0')}}),Object.keys(q).forEach(function(e){t.a11y[e]=q[e].bind(t)})},on:{init:function(){this.params.a11y.enabled&&(this.a11y.init(),this.a11y.updateNavigation())},toEdge:function(){this.params.a11y.enabled&&this.a11y.updateNavigation()},fromEdge:function(){this.params.a11y.enabled&&this.a11y.updateNavigation()},paginationUpdate:function(){this.params.a11y.enabled&&this.a11y.updatePagination()},destroy:function(){this.params.a11y.enabled&&this.a11y.destroy()}}},{name:"history",params:{history:{enabled:!1,replaceState:!1,key:"slides"}},create:function(){ee.extend(this,{history:{init:W.init.bind(this),setHistory:W.setHistory.bind(this),setHistoryPopState:W.setHistoryPopState.bind(this),scrollToSlide:W.scrollToSlide.bind(this),destroy:W.destroy.bind(this)}})},on:{init:function(){this.params.history.enabled&&this.history.init()},destroy:function(){this.params.history.enabled&&this.history.destroy()},transitionEnd:function(){this.history.initialized&&this.history.setHistory(this.params.history.key,this.activeIndex)}}},{name:"hash-navigation",params:{hashNavigation:{enabled:!1,replaceState:!1,watchState:!1}},create:function(){ee.extend(this,{hashNavigation:{initialized:!1,init:F.init.bind(this),destroy:F.destroy.bind(this),setHash:F.setHash.bind(this),onHashCange:F.onHashCange.bind(this)}})},on:{init:function(){this.params.hashNavigation.enabled&&this.hashNavigation.init()},destroy:function(){this.params.hashNavigation.enabled&&this.hashNavigation.destroy()},transitionEnd:function(){this.hashNavigation.initialized&&this.hashNavigation.setHash()}}},{name:"autoplay",params:{autoplay:{enabled:!1,delay:3e3,waitForTransition:!0,disableOnInteraction:!0,stopOnLastSlide:!1,reverseDirection:!1}},create:function(){var t=this;ee.extend(t,{autoplay:{running:!1,paused:!1,run:U.run.bind(t),start:U.start.bind(t),stop:U.stop.bind(t),pause:U.pause.bind(t),onTransitionEnd:function(e){t&&!t.destroyed&&t.$wrapperEl&&e.target===this&&(t.$wrapperEl[0].removeEventListener("transitionend",t.autoplay.onTransitionEnd),t.$wrapperEl[0].removeEventListener("webkitTransitionEnd",t.autoplay.onTransitionEnd),t.autoplay.paused=!1,t.autoplay.running?t.autoplay.run():t.autoplay.stop())}}})},on:{init:function(){this.params.autoplay.enabled&&this.autoplay.start()},beforeTransitionStart:function(e,t){this.autoplay.running&&(t||!this.params.autoplay.disableOnInteraction?this.autoplay.pause(e):this.autoplay.stop())},sliderFirstMove:function(){this.autoplay.running&&(this.params.autoplay.disableOnInteraction?this.autoplay.stop():this.autoplay.pause())},destroy:function(){this.autoplay.running&&this.autoplay.stop()}}},{name:"effect-fade",params:{fadeEffect:{crossFade:!1}},create:function(){ee.extend(this,{fadeEffect:{setTranslate:V.setTranslate.bind(this),setTransition:V.setTransition.bind(this)}})},on:{beforeInit:function(){if("fade"===this.params.effect){this.classNames.push(this.params.containerModifierClass+"fade");var e={slidesPerView:1,slidesPerColumn:1,slidesPerGroup:1,watchSlidesProgress:!0,spaceBetween:0,virtualTranslate:!0};ee.extend(this.params,e),ee.extend(this.originalParams,e)}},setTranslate:function(){"fade"===this.params.effect&&this.fadeEffect.setTranslate()},setTransition:function(e){"fade"===this.params.effect&&this.fadeEffect.setTransition(e)}}},{name:"effect-cube",params:{cubeEffect:{slideShadows:!0,shadow:!0,shadowOffset:20,shadowScale:.94}},create:function(){ee.extend(this,{cubeEffect:{setTranslate:X.setTranslate.bind(this),setTransition:X.setTransition.bind(this)}})},on:{beforeInit:function(){if("cube"===this.params.effect){this.classNames.push(this.params.containerModifierClass+"cube"),this.classNames.push(this.params.containerModifierClass+"3d");var e={slidesPerView:1,slidesPerColumn:1,slidesPerGroup:1,watchSlidesProgress:!0,resistanceRatio:0,spaceBetween:0,centeredSlides:!1,virtualTranslate:!0};ee.extend(this.params,e),ee.extend(this.originalParams,e)}},setTranslate:function(){"cube"===this.params.effect&&this.cubeEffect.setTranslate()},setTransition:function(e){"cube"===this.params.effect&&this.cubeEffect.setTransition(e)}}},{name:"effect-flip",params:{flipEffect:{slideShadows:!0,limitRotation:!0}},create:function(){ee.extend(this,{flipEffect:{setTranslate:Y.setTranslate.bind(this),setTransition:Y.setTransition.bind(this)}})},on:{beforeInit:function(){if("flip"===this.params.effect){this.classNames.push(this.params.containerModifierClass+"flip"),this.classNames.push(this.params.containerModifierClass+"3d");var e={slidesPerView:1,slidesPerColumn:1,slidesPerGroup:1,watchSlidesProgress:!0,spaceBetween:0,virtualTranslate:!0};ee.extend(this.params,e),ee.extend(this.originalParams,e)}},setTranslate:function(){"flip"===this.params.effect&&this.flipEffect.setTranslate()},setTransition:function(e){"flip"===this.params.effect&&this.flipEffect.setTransition(e)}}},{name:"effect-coverflow",params:{coverflowEffect:{rotate:50,stretch:0,depth:100,modifier:1,slideShadows:!0}},create:function(){ee.extend(this,{coverflowEffect:{setTranslate:G.setTranslate.bind(this),setTransition:G.setTransition.bind(this)}})},on:{beforeInit:function(){"coverflow"===this.params.effect&&(this.classNames.push(this.params.containerModifierClass+"coverflow"),this.classNames.push(this.params.containerModifierClass+"3d"),this.params.watchSlidesProgress=!0,this.originalParams.watchSlidesProgress=!0)},setTranslate:function(){"coverflow"===this.params.effect&&this.coverflowEffect.setTranslate()},setTransition:function(e){"coverflow"===this.params.effect&&this.coverflowEffect.setTransition(e)}}},{name:"thumbs",params:{thumbs:{swiper:null,slideThumbActiveClass:"swiper-slide-thumb-active",thumbsContainerClass:"swiper-container-thumbs"}},create:function(){ee.extend(this,{thumbs:{swiper:null,init:Q.init.bind(this),update:Q.update.bind(this),onThumbClick:Q.onThumbClick.bind(this)}})},on:{beforeInit:function(){var e=this.params.thumbs;e&&e.swiper&&(this.thumbs.init(),this.thumbs.update(!0))},slideChange:function(){this.thumbs.swiper&&this.thumbs.update()},update:function(){this.thumbs.swiper&&this.thumbs.update()},resize:function(){this.thumbs.swiper&&this.thumbs.update()},observerUpdate:function(){this.thumbs.swiper&&this.thumbs.update()},setTransition:function(e){var t=this.thumbs.swiper;t&&t.setTransition(e)},beforeDestroy:function(){var e=this.thumbs.swiper;e&&this.thumbs.swiperCreated&&e&&e.destroy()}}}];return void 0===_.use&&(_.use=_.Class.use,_.installModule=_.Class.installModule),_.use(K),_}),function(n,e,t,i){"use strict";var s=function(e){this.owl=e,this._thumbcontent=[],this._identifier=0,this.owl_currentitem=this.owl.options.startPosition,this.$element=this.owl.$element,this._handlers={"prepared.owl.carousel":n.proxy(function(e){if(!e.namespace||!this.owl.options.thumbs||this.owl.options.thumbImage||this.owl.options.thumbsPrerendered||this.owl.options.thumbImage){if(e.namespace&&this.owl.options.thumbs&&this.owl.options.thumbImage){var t=n(e.content).find("img");this._thumbcontent.push(t)}}else void 0!==n(e.content).find("[data-thumb]").attr("data-thumb")&&this._thumbcontent.push(n(e.content).find("[data-thumb]").attr("data-thumb"))},this),"initialized.owl.carousel":n.proxy(function(e){e.namespace&&this.owl.options.thumbs&&(this.render(),this.listen(),this._identifier=this.owl.$element.data("slider-id"),this.setActive())},this),"changed.owl.carousel":n.proxy(function(e){e.namespace&&"position"===e.property.name&&this.owl.options.thumbs&&(this._identifier=this.owl.$element.data("slider-id"),this.setActive())},this)},this.owl.options=n.extend({},s.Defaults,this.owl.options),this.owl.$element.on(this._handlers)};s.Defaults={thumbs:!0,thumbImage:!1,thumbContainerClass:"owl-thumbs",thumbItemClass:"owl-thumb-item",moveThumbsInside:!1},s.prototype.listen=function(){var i=this.owl.options;i.thumbsPrerendered&&(this._thumbcontent._thumbcontainer=n("."+i.thumbContainerClass)),n(this._thumbcontent._thumbcontainer).on("click",this._thumbcontent._thumbcontainer.children(),n.proxy(function(e){this._identifier=n(e.target).closest("."+i.thumbContainerClass).data("slider-id");var t=n(e.target).parent().is(this._thumbcontent._thumbcontainer)?n(e.target).index():n(e.target).closest("."+i.thumbItemClass).index();i.thumbsPrerendered?n("[data-slider-id="+this._identifier+"]").trigger("to.owl.carousel",[t,i.dotsSpeed,!0]):this.owl.to(t,i.dotsSpeed),e.preventDefault()},this))},s.prototype.render=function(){var e,t=this.owl.options;if(t.thumbsPrerendered?(this._thumbcontent._thumbcontainer=n("."+t.thumbContainerClass),t.moveThumbsInside&&this._thumbcontent._thumbcontainer.appendTo(this.$element)):this._thumbcontent._thumbcontainer=n("
").addClass(t.thumbContainerClass).appendTo(this.$element),t.thumbImage)for(e=0;e');else for(e=0;e"+this._thumbcontent[e]+"")},s.prototype.setActive=function(){this.owl_currentitem=this.owl._current-this.owl._clones.length/2,this.owl_currentitem===this.owl._items.length&&(this.owl_currentitem=0);var e=this.owl.options,t=e.thumbsPrerendered?n("."+e.thumbContainerClass+'[data-slider-id="'+this._identifier+'"]'):this._thumbcontent._thumbcontainer;t.children().filter(".active").removeClass("active"),t.children().eq(this.owl_currentitem).addClass("active")},s.prototype.destroy=function(){var e,t;for(e in this._handlers)this.owl.$element.off(e,this._handlers[e]);for(t in Object.getOwnPropertyNames(this))"function"!=typeof this[t]&&(this[t]=null)},n.fn.owlCarousel.Constructor.Plugins.Thumbs=s}(window.Zepto||window.jQuery,window,document); \ No newline at end of file diff --git a/assets/main.css b/assets/main.css new file mode 100644 index 000000000..24643ecb3 --- /dev/null +++ b/assets/main.css @@ -0,0 +1,649 @@ +/** + * Reset some basic elements + */ +body, h1, h2, h3, h4, h5, h6, +p, blockquote, pre, hr, +dl, dd, ol, ul, figure { + margin: 0; + padding: 0; +} + +/** + * Basic styling + */ +body { + font: 400 16px/1.5 -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"; + color: #111; + background-color: #fdfdfd; + -webkit-text-size-adjust: 100%; + -webkit-font-feature-settings: "kern" 1; + -moz-font-feature-settings: "kern" 1; + -o-font-feature-settings: "kern" 1; + font-feature-settings: "kern" 1; + font-kerning: normal; + display: flex; + min-height: 100vh; + flex-direction: column; +} + +/** + * Set `margin-bottom` to maintain vertical rhythm + */ +h1, h2, h3, h4, h5, h6, +p, blockquote, pre, +ul, ol, dl, figure, +.highlight { + margin-bottom: 15px; +} + +/** + * `main` element + */ +main { + display: block; /* Default value of `display` of `main` element is 'inline' in IE 11. */ +} + +/** + * Images + */ +img { + max-width: 100%; + vertical-align: middle; +} + +/** + * Figures + */ +figure > img { + display: block; +} + +figcaption { + font-size: 14px; +} + +/** + * Lists + */ +ul, ol { + margin-left: 30px; +} + +li > ul, +li > ol { + margin-bottom: 0; +} + +/** + * Headings + */ +h1, h2, h3, h4, h5, h6 { + font-weight: 400; +} + +/** + * Links + */ +a { + color: #2a7ae2; + text-decoration: none; +} +a:visited { + color: rgb(22.9483471074, 86.2541322314, 168.5516528926); +} +a:hover { + color: #111; + text-decoration: underline; +} +.social-media-list a:hover { + text-decoration: none; +} +.social-media-list a:hover .username { + text-decoration: underline; +} + +/** + * Blockquotes + */ +blockquote { + color: #828282; + border-left: 4px solid #e8e8e8; + padding-left: 15px; + font-size: 18px; + letter-spacing: -1px; + font-style: italic; +} +blockquote > :last-child { + margin-bottom: 0; +} + +/** + * Code formatting + */ +pre, +code { + font-size: 15px; + border: 1px solid #e8e8e8; + border-radius: 3px; + background-color: #eef; +} + +code { + padding: 1px 5px; +} + +pre { + padding: 8px 12px; + overflow-x: auto; +} +pre > code { + border: 0; + padding-right: 0; + padding-left: 0; +} + +/** + * Wrapper + */ +.wrapper { + max-width: -webkit-calc(800px - (30px * 2)); + max-width: calc(800px - 30px * 2); + margin-right: auto; + margin-left: auto; + padding-right: 30px; + padding-left: 30px; +} +@media screen and (max-width: 800px) { + .wrapper { + max-width: -webkit-calc(800px - (30px)); + max-width: calc(800px - (30px)); + padding-right: 15px; + padding-left: 15px; + } +} + +/** + * Clearfix + */ +.footer-col-wrapper:after, .wrapper:after { + content: ""; + display: table; + clear: both; +} + +/** + * Icons + */ +.svg-icon { + width: 16px; + height: 16px; + display: inline-block; + fill: #828282; + padding-right: 5px; + vertical-align: text-top; +} + +.social-media-list li + li { + padding-top: 5px; +} + +/** + * Tables + */ +table { + margin-bottom: 30px; + width: 100%; + text-align: left; + color: rgb(62.9, 62.9, 62.9); + border-collapse: collapse; + border: 1px solid #e8e8e8; +} +table tr:nth-child(even) { + background-color: rgb(247.3, 247.3, 247.3); +} +table th, table td { + padding: 9.999999999px 15px; +} +table th { + background-color: rgb(239.65, 239.65, 239.65); + border: 1px solid rgb(221.8, 221.8, 221.8); + border-bottom-color: rgb(201.4, 201.4, 201.4); +} +table td { + border: 1px solid #e8e8e8; +} + +/** + * Site header + */ +.site-header { + border-top: 5px solid rgb(66.25, 66.25, 66.25); + border-bottom: 1px solid #e8e8e8; + min-height: 55.95px; + position: relative; +} + +.site-title { + font-size: 26px; + font-weight: 300; + line-height: 54px; + letter-spacing: -1px; + margin-bottom: 0; + float: left; +} +.site-title, .site-title:visited { + color: rgb(66.25, 66.25, 66.25); +} + +.site-nav { + float: right; + line-height: 54px; +} +.site-nav .nav-trigger { + display: none; +} +.site-nav .menu-icon { + display: none; +} +.site-nav .page-link { + color: #111; + line-height: 1.5; +} +.site-nav .page-link:not(:last-child) { + margin-right: 20px; +} +@media screen and (max-width: 600px) { + .site-nav { + position: absolute; + top: 9px; + right: 15px; + background-color: #fdfdfd; + border: 1px solid #e8e8e8; + border-radius: 5px; + text-align: right; + } + .site-nav label[for=nav-trigger] { + display: block; + float: right; + width: 36px; + height: 36px; + z-index: 2; + cursor: pointer; + } + .site-nav .menu-icon { + display: block; + float: right; + width: 36px; + height: 26px; + line-height: 0; + padding-top: 10px; + text-align: center; + } + .site-nav .menu-icon > svg { + fill: rgb(66.25, 66.25, 66.25); + } + .site-nav input ~ .trigger { + clear: both; + display: none; + } + .site-nav input:checked ~ .trigger { + display: block; + padding-bottom: 5px; + } + .site-nav .page-link { + display: block; + margin-left: 20px; + padding: 5px 10px; + } + .site-nav .page-link:not(:last-child) { + margin-right: 0; + } +} + +/** + * Site footer + */ +.site-footer { + border-top: 1px solid #e8e8e8; + padding: 30px 0; +} + +.footer-heading { + font-size: 18px; + margin-bottom: 15px; +} + +.contact-list, +.social-media-list { + list-style: none; + margin-left: 0; +} + +.footer-col-wrapper { + font-size: 15px; + color: #828282; + margin-left: -15px; +} + +.footer-col { + float: left; + margin-bottom: 15px; + padding-left: 15px; +} + +.footer-col-1 { + width: -webkit-calc(35% - (30px / 2)); + width: calc(35% - 30px / 2); +} + +.footer-col-2 { + width: -webkit-calc(20% - (30px / 2)); + width: calc(20% - 30px / 2); +} + +.footer-col-3 { + width: -webkit-calc(45% - (30px / 2)); + width: calc(45% - 30px / 2); +} + +@media screen and (max-width: 800px) { + .footer-col-1, + .footer-col-2 { + width: -webkit-calc(50% - (30px / 2)); + width: calc(50% - 30px / 2); + } + .footer-col-3 { + width: -webkit-calc(100% - (30px / 2)); + width: calc(100% - 30px / 2); + } +} +@media screen and (max-width: 600px) { + .footer-col { + float: none; + width: -webkit-calc(100% - (30px / 2)); + width: calc(100% - 30px / 2); + } +} +/** + * Page content + */ +.page-content { + padding: 30px 0; + flex: 1; +} + +.page-heading { + font-size: 32px; +} + +.post-list-heading { + font-size: 28px; +} + +.post-list { + margin-left: 0; + list-style: none; +} +.post-list > li { + margin-bottom: 30px; +} + +.post-meta { + font-size: 14px; + color: #828282; +} + +.post-link { + display: block; + font-size: 24px; +} + +/** + * Posts + */ +.post-header { + margin-bottom: 30px; +} + +.post-title { + font-size: 42px; + letter-spacing: -1px; + line-height: 1; +} +@media screen and (max-width: 800px) { + .post-title { + font-size: 36px; + } +} + +.post-content { + margin-bottom: 30px; +} +.post-content h2 { + font-size: 32px; +} +@media screen and (max-width: 800px) { + .post-content h2 { + font-size: 28px; + } +} +.post-content h3 { + font-size: 26px; +} +@media screen and (max-width: 800px) { + .post-content h3 { + font-size: 22px; + } +} +.post-content h4 { + font-size: 20px; +} +@media screen and (max-width: 800px) { + .post-content h4 { + font-size: 18px; + } +} + +/** + * Syntax highlighting styles + */ +.highlight { + background: #fff; +} +.highlighter-rouge .highlight { + background: #eef; +} +.highlight .c { + color: #998; + font-style: italic; +} +.highlight .err { + color: #a61717; + background-color: #e3d2d2; +} +.highlight .k { + font-weight: bold; +} +.highlight .o { + font-weight: bold; +} +.highlight .cm { + color: #998; + font-style: italic; +} +.highlight .cp { + color: #999; + font-weight: bold; +} +.highlight .c1 { + color: #998; + font-style: italic; +} +.highlight .cs { + color: #999; + font-weight: bold; + font-style: italic; +} +.highlight .gd { + color: #000; + background-color: #fdd; +} +.highlight .gd .x { + color: #000; + background-color: #faa; +} +.highlight .ge { + font-style: italic; +} +.highlight .gr { + color: #a00; +} +.highlight .gh { + color: #999; +} +.highlight .gi { + color: #000; + background-color: #dfd; +} +.highlight .gi .x { + color: #000; + background-color: #afa; +} +.highlight .go { + color: #888; +} +.highlight .gp { + color: #555; +} +.highlight .gs { + font-weight: bold; +} +.highlight .gu { + color: #aaa; +} +.highlight .gt { + color: #a00; +} +.highlight .kc { + font-weight: bold; +} +.highlight .kd { + font-weight: bold; +} +.highlight .kp { + font-weight: bold; +} +.highlight .kr { + font-weight: bold; +} +.highlight .kt { + color: #458; + font-weight: bold; +} +.highlight .m { + color: #099; +} +.highlight .s { + color: #d14; +} +.highlight .na { + color: #008080; +} +.highlight .nb { + color: #0086B3; +} +.highlight .nc { + color: #458; + font-weight: bold; +} +.highlight .no { + color: #008080; +} +.highlight .ni { + color: #800080; +} +.highlight .ne { + color: #900; + font-weight: bold; +} +.highlight .nf { + color: #900; + font-weight: bold; +} +.highlight .nn { + color: #555; +} +.highlight .nt { + color: #000080; +} +.highlight .nv { + color: #008080; +} +.highlight .ow { + font-weight: bold; +} +.highlight .w { + color: #bbb; +} +.highlight .mf { + color: #099; +} +.highlight .mh { + color: #099; +} +.highlight .mi { + color: #099; +} +.highlight .mo { + color: #099; +} +.highlight .sb { + color: #d14; +} +.highlight .sc { + color: #d14; +} +.highlight .sd { + color: #d14; +} +.highlight .s2 { + color: #d14; +} +.highlight .se { + color: #d14; +} +.highlight .sh { + color: #d14; +} +.highlight .si { + color: #d14; +} +.highlight .sx { + color: #d14; +} +.highlight .sr { + color: #009926; +} +.highlight .s1 { + color: #d14; +} +.highlight .ss { + color: #990073; +} +.highlight .bp { + color: #999; +} +.highlight .vc { + color: #008080; +} +.highlight .vg { + color: #008080; +} +.highlight .vi { + color: #008080; +} +.highlight .il { + color: #099; +} + +/*# sourceMappingURL=main.css.map */ \ No newline at end of file diff --git a/assets/main.css.map b/assets/main.css.map new file mode 100644 index 000000000..dfbaa5623 --- /dev/null +++ b/assets/main.css.map @@ -0,0 +1 @@ +{"version":3,"sourceRoot":"","sources":["../vendor/bundle/ruby/3.3.0/gems/minima-2.5.2/_sass/minima/_base.scss","../vendor/bundle/ruby/3.3.0/gems/minima-2.5.2/_sass/minima.scss","../vendor/bundle/ruby/3.3.0/gems/minima-2.5.2/_sass/minima/_layout.scss","../vendor/bundle/ruby/3.3.0/gems/minima-2.5.2/_sass/minima/_syntax-highlighting.scss"],"names":[],"mappings":"AAAA;AAAA;AAAA;AAGA;AAAA;AAAA;EAGE;EACA;;;AAKF;AAAA;AAAA;AAGA;EACE;EACA,OCLiB;EDMjB,kBCLiB;EDMjB;EACA;EACG;EACE;EACG;EACR;EACA;EACA;EACA;;;AAKF;AAAA;AAAA;AAGA;AAAA;AAAA;AAAA;EAIE;;;AAKF;AAAA;AAAA;AAGA;EACE;;;AAKF;AAAA;AAAA;AAGA;EACE;EACA;;;AAKF;AAAA;AAAA;AAGA;EACE;;;AAGF;EACE,WChEiB;;;ADqEnB;AAAA;AAAA;AAGA;EACE,aCtEiB;;;AD0EjB;AAAA;EAEE;;;AAMJ;AAAA;AAAA;AAGA;EACE,aC1FiB;;;AD+FnB;AAAA;AAAA;AAGA;EACE,OC3FiB;ED4FjB;;AAEA;EACE;;AAGF;EACE,OCrGe;EDsGf;;AAGF;EACE;;AAEA;EACE;;;AAMN;AAAA;AAAA;AAGA;EACE,OCnHiB;EDoHjB;EACA;EC3FA;ED6FA;EACA;;AAEA;EACE;;;AAMJ;AAAA;AAAA;AAGA;AAAA;EC1GE;ED6GA;EACA;EACA;;;AAGF;EACE;;;AAGF;EACE;EACA;;AAEA;EACE;EACA;EACA;;;AAMJ;AAAA;AAAA;AAGA;EACE;EACA;EACA;EACA;EACA,eC3KiB;ED4KjB,cC5KiB;;AA0BjB;ED4IF;IAUI;IACA;IACA;IACA;;;;AAMJ;AAAA;AAAA;AAGA;EACE;EACA;EACA;;;AAKF;AAAA;AAAA;AAIA;EACI;EACA;EACA;EACA;EACA;EACA;;;AAIF;EACE;;;AAMJ;AAAA;AAAA;AAGA;EACE,eC7NiB;ED8NjB;EACA,YCrNiB;EDsNjB;EACA;EACA;;AAEE;EACE;;AAGJ;EACE;;AAEF;EACE;EACA;EACA;;AAEF;EACE;;;AE3PJ;AAAA;AAAA;AAGA;EACE;EACA;EACA;EAGA;;;AAGF;ED8BE;EC5BA;EACA;EACA;EACA;EACA;;AAEA;EAEE,ODJe;;;ACQnB;EACE;EACA;;AAEA;EACI;;AAGJ;EACE;;AAGF;EACE,OD3Be;EC4Bf,aDhCe;;ACmCf;EACE;;ADRJ;ECVF;IAuBI;IACA;IACA;IACA,kBDvCe;ICwCf;IACA;IACA;;EAEA;IACE;IACA;IACA;IACA;IACA;IACA;;EAGF;IACE;IACA;IACA;IACA;IACA;IACA;IACA;;EAEA;IACE,MD1DW;;EC8Df;IACE;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;IACA;;EAEA;IACE;;;;AAQR;AAAA;AAAA;AAGA;EACE;EACA;;;AAGF;EDtEE;ECwEA;;;AAGF;AAAA;EAEE;EACA;;;AAGF;EDjFE;ECmFA,OD7GiB;EC8GjB;;;AAIF;EACE;EACA;EACA;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;ADhHA;ECoHA;AAAA;IAEE;IACA;;EAGF;IACE;IACA;;;AD5HF;ECiIA;IACE;IACA;IACA;;;AAMJ;AAAA;AAAA;AAGA;EACE;EACA;;;AAGF;ED5IE;;;ACgJF;EDhJE;;;ACoJF;EACE;EACA;;AAEA;EACE,eDzLe;;;AC6LnB;EACE,WDjMiB;ECkMjB,ODzLiB;;;AC4LnB;EACE;EDnKA;;;ACyKF;AAAA;AAAA;AAGA;EACE,eD7MiB;;;ACgNnB;EDhLE;ECkLA;EACA;;ADzLA;ECsLF;IDhLE;;;;AC0LF;EACE,eD3NiB;;AC6NjB;ED7LA;;AANA;ECmMA;ID7LA;;;ACqMA;EDrMA;;AANA;EC2MA;IDrMA;;;AC6MA;ED7MA;;AANA;ECmNA;ID7MA;;;;AE1CF;AAAA;AAAA;AAGA;EACE;;AAGA;EACE;;AAGF;EAAS;EAAa;;AACtB;EAAS;EAAgB;;AACzB;EAAS;;AACT;EAAS;;AACT;EAAS;EAAa;;AACtB;EAAS;EAAa;;AACtB;EAAS;EAAa;;AACtB;EAAS;EAAa;EAAmB;;AACzC;EAAS;EAAa;;AACtB;EAAS;EAAa;;AACtB;EAAS;;AACT;EAAS;;AACT;EAAS;;AACT;EAAS;EAAa;;AACtB;EAAS;EAAa;;AACtB;EAAS;;AACT;EAAS;;AACT;EAAS;;AACT;EAAS;;AACT;EAAS;;AACT;EAAS;;AACT;EAAS;;AACT;EAAS;;AACT;EAAS;;AACT;EAAS;EAAa;;AACtB;EAAS;;AACT;EAAS;;AACT;EAAS;;AACT;EAAS;;AACT;EAAS;EAAa;;AACtB;EAAS;;AACT;EAAS;;AACT;EAAS;EAAa;;AACtB;EAAS;EAAa;;AACtB;EAAS;;AACT;EAAS;;AACT;EAAS;;AACT;EAAS;;AACT;EAAS;;AACT;EAAS;;AACT;EAAS;;AACT;EAAS;;AACT;EAAS;;AACT;EAAS;;AACT;EAAS;;AACT;EAAS;;AACT;EAAS;;AACT;EAAS;;AACT;EAAS;;AACT;EAAS;;AACT;EAAS;;AACT;EAAS;;AACT;EAAS;;AACT;EAAS;;AACT;EAAS;;AACT;EAAS;;AACT;EAAS;;AACT;EAAS;;AACT;EAAS","sourcesContent":["/**\n * Reset some basic elements\n */\nbody, h1, h2, h3, h4, h5, h6,\np, blockquote, pre, hr,\ndl, dd, ol, ul, figure {\n margin: 0;\n padding: 0;\n}\n\n\n\n/**\n * Basic styling\n */\nbody {\n font: $base-font-weight #{$base-font-size}/#{$base-line-height} $base-font-family;\n color: $text-color;\n background-color: $background-color;\n -webkit-text-size-adjust: 100%;\n -webkit-font-feature-settings: \"kern\" 1;\n -moz-font-feature-settings: \"kern\" 1;\n -o-font-feature-settings: \"kern\" 1;\n font-feature-settings: \"kern\" 1;\n font-kerning: normal;\n display: flex;\n min-height: 100vh;\n flex-direction: column;\n}\n\n\n\n/**\n * Set `margin-bottom` to maintain vertical rhythm\n */\nh1, h2, h3, h4, h5, h6,\np, blockquote, pre,\nul, ol, dl, figure,\n%vertical-rhythm {\n margin-bottom: $spacing-unit * 0.5;\n}\n\n\n\n/**\n * `main` element\n */\nmain {\n display: block; /* Default value of `display` of `main` element is 'inline' in IE 11. */\n}\n\n\n\n/**\n * Images\n */\nimg {\n max-width: 100%;\n vertical-align: middle;\n}\n\n\n\n/**\n * Figures\n */\nfigure > img {\n display: block;\n}\n\nfigcaption {\n font-size: $small-font-size;\n}\n\n\n\n/**\n * Lists\n */\nul, ol {\n margin-left: $spacing-unit;\n}\n\nli {\n > ul,\n > ol {\n margin-bottom: 0;\n }\n}\n\n\n\n/**\n * Headings\n */\nh1, h2, h3, h4, h5, h6 {\n font-weight: $base-font-weight;\n}\n\n\n\n/**\n * Links\n */\na {\n color: $brand-color;\n text-decoration: none;\n\n &:visited {\n color: darken($brand-color, 15%);\n }\n\n &:hover {\n color: $text-color;\n text-decoration: underline;\n }\n\n .social-media-list &:hover {\n text-decoration: none;\n\n .username {\n text-decoration: underline;\n }\n }\n}\n\n\n/**\n * Blockquotes\n */\nblockquote {\n color: $grey-color;\n border-left: 4px solid $grey-color-light;\n padding-left: $spacing-unit * 0.5;\n @include relative-font-size(1.125);\n letter-spacing: -1px;\n font-style: italic;\n\n > :last-child {\n margin-bottom: 0;\n }\n}\n\n\n\n/**\n * Code formatting\n */\npre,\ncode {\n @include relative-font-size(0.9375);\n border: 1px solid $grey-color-light;\n border-radius: 3px;\n background-color: #eef;\n}\n\ncode {\n padding: 1px 5px;\n}\n\npre {\n padding: 8px 12px;\n overflow-x: auto;\n\n > code {\n border: 0;\n padding-right: 0;\n padding-left: 0;\n }\n}\n\n\n\n/**\n * Wrapper\n */\n.wrapper {\n max-width: -webkit-calc(#{$content-width} - (#{$spacing-unit} * 2));\n max-width: calc(#{$content-width} - (#{$spacing-unit} * 2));\n margin-right: auto;\n margin-left: auto;\n padding-right: $spacing-unit;\n padding-left: $spacing-unit;\n @extend %clearfix;\n\n @include media-query($on-laptop) {\n max-width: -webkit-calc(#{$content-width} - (#{$spacing-unit}));\n max-width: calc(#{$content-width} - (#{$spacing-unit}));\n padding-right: $spacing-unit * 0.5;\n padding-left: $spacing-unit * 0.5;\n }\n}\n\n\n\n/**\n * Clearfix\n */\n%clearfix:after {\n content: \"\";\n display: table;\n clear: both;\n}\n\n\n\n/**\n * Icons\n */\n\n.svg-icon {\n width: 16px;\n height: 16px;\n display: inline-block;\n fill: #{$grey-color};\n padding-right: 5px;\n vertical-align: text-top;\n}\n\n.social-media-list {\n li + li {\n padding-top: 5px;\n }\n}\n\n\n\n/**\n * Tables\n */\ntable {\n margin-bottom: $spacing-unit;\n width: 100%;\n text-align: $table-text-align;\n color: lighten($text-color, 18%);\n border-collapse: collapse;\n border: 1px solid $grey-color-light;\n tr {\n &:nth-child(even) {\n background-color: lighten($grey-color-light, 6%);\n }\n }\n th, td {\n padding: ($spacing-unit * 0.3333333333) ($spacing-unit * 0.5);\n }\n th {\n background-color: lighten($grey-color-light, 3%);\n border: 1px solid darken($grey-color-light, 4%);\n border-bottom-color: darken($grey-color-light, 12%);\n }\n td {\n border: 1px solid $grey-color-light;\n }\n}\n","@charset \"utf-8\";\n\n// Define defaults for each variable.\n\n$base-font-family: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\" !default;\n$base-font-size: 16px !default;\n$base-font-weight: 400 !default;\n$small-font-size: $base-font-size * 0.875 !default;\n$base-line-height: 1.5 !default;\n\n$spacing-unit: 30px !default;\n\n$text-color: #111 !default;\n$background-color: #fdfdfd !default;\n$brand-color: #2a7ae2 !default;\n\n$grey-color: #828282 !default;\n$grey-color-light: lighten($grey-color, 40%) !default;\n$grey-color-dark: darken($grey-color, 25%) !default;\n\n$table-text-align: left !default;\n\n// Width of the content area\n$content-width: 800px !default;\n\n$on-palm: 600px !default;\n$on-laptop: 800px !default;\n\n// Use media queries like this:\n// @include media-query($on-palm) {\n// .wrapper {\n// padding-right: $spacing-unit / 2;\n// padding-left: $spacing-unit / 2;\n// }\n// }\n@mixin media-query($device) {\n @media screen and (max-width: $device) {\n @content;\n }\n}\n\n@mixin relative-font-size($ratio) {\n font-size: $base-font-size * $ratio;\n}\n\n// Import partials.\n@import\n \"minima/base\",\n \"minima/layout\",\n \"minima/syntax-highlighting\"\n;\n","/**\n * Site header\n */\n.site-header {\n border-top: 5px solid $grey-color-dark;\n border-bottom: 1px solid $grey-color-light;\n min-height: $spacing-unit * 1.865;\n\n // Positioning context for the mobile navigation icon\n position: relative;\n}\n\n.site-title {\n @include relative-font-size(1.625);\n font-weight: 300;\n line-height: $base-line-height * $base-font-size * 2.25;\n letter-spacing: -1px;\n margin-bottom: 0;\n float: left;\n\n &,\n &:visited {\n color: $grey-color-dark;\n }\n}\n\n.site-nav {\n float: right;\n line-height: $base-line-height * $base-font-size * 2.25;\n\n .nav-trigger {\n display: none;\n }\n\n .menu-icon {\n display: none;\n }\n\n .page-link {\n color: $text-color;\n line-height: $base-line-height;\n\n // Gaps between nav items, but not on the last one\n &:not(:last-child) {\n margin-right: 20px;\n }\n }\n\n @include media-query($on-palm) {\n position: absolute;\n top: 9px;\n right: $spacing-unit * 0.5;\n background-color: $background-color;\n border: 1px solid $grey-color-light;\n border-radius: 5px;\n text-align: right;\n\n label[for=\"nav-trigger\"] {\n display: block;\n float: right;\n width: 36px;\n height: 36px;\n z-index: 2;\n cursor: pointer;\n }\n\n .menu-icon {\n display: block;\n float: right;\n width: 36px;\n height: 26px;\n line-height: 0;\n padding-top: 10px;\n text-align: center;\n\n > svg {\n fill: $grey-color-dark;\n }\n }\n\n input ~ .trigger {\n clear: both;\n display: none;\n }\n\n input:checked ~ .trigger {\n display: block;\n padding-bottom: 5px;\n }\n\n .page-link {\n display: block;\n margin-left: 20px;\n padding: 5px 10px;\n\n &:not(:last-child) {\n margin-right: 0;\n }\n }\n }\n}\n\n\n\n/**\n * Site footer\n */\n.site-footer {\n border-top: 1px solid $grey-color-light;\n padding: $spacing-unit 0;\n}\n\n.footer-heading {\n @include relative-font-size(1.125);\n margin-bottom: $spacing-unit * 0.5;\n}\n\n.contact-list,\n.social-media-list {\n list-style: none;\n margin-left: 0;\n}\n\n.footer-col-wrapper {\n @include relative-font-size(0.9375);\n color: $grey-color;\n margin-left: -$spacing-unit * 0.5;\n @extend %clearfix;\n}\n\n.footer-col {\n float: left;\n margin-bottom: $spacing-unit * 0.5;\n padding-left: $spacing-unit * 0.5;\n}\n\n.footer-col-1 {\n width: -webkit-calc(35% - (#{$spacing-unit} / 2));\n width: calc(35% - (#{$spacing-unit} / 2));\n}\n\n.footer-col-2 {\n width: -webkit-calc(20% - (#{$spacing-unit} / 2));\n width: calc(20% - (#{$spacing-unit} / 2));\n}\n\n.footer-col-3 {\n width: -webkit-calc(45% - (#{$spacing-unit} / 2));\n width: calc(45% - (#{$spacing-unit} / 2));\n}\n\n@include media-query($on-laptop) {\n .footer-col-1,\n .footer-col-2 {\n width: -webkit-calc(50% - (#{$spacing-unit} / 2));\n width: calc(50% - (#{$spacing-unit} / 2));\n }\n\n .footer-col-3 {\n width: -webkit-calc(100% - (#{$spacing-unit} / 2));\n width: calc(100% - (#{$spacing-unit} / 2));\n }\n}\n\n@include media-query($on-palm) {\n .footer-col {\n float: none;\n width: -webkit-calc(100% - (#{$spacing-unit} / 2));\n width: calc(100% - (#{$spacing-unit} / 2));\n }\n}\n\n\n\n/**\n * Page content\n */\n.page-content {\n padding: $spacing-unit 0;\n flex: 1;\n}\n\n.page-heading {\n @include relative-font-size(2);\n}\n\n.post-list-heading {\n @include relative-font-size(1.75);\n}\n\n.post-list {\n margin-left: 0;\n list-style: none;\n\n > li {\n margin-bottom: $spacing-unit;\n }\n}\n\n.post-meta {\n font-size: $small-font-size;\n color: $grey-color;\n}\n\n.post-link {\n display: block;\n @include relative-font-size(1.5);\n}\n\n\n\n/**\n * Posts\n */\n.post-header {\n margin-bottom: $spacing-unit;\n}\n\n.post-title {\n @include relative-font-size(2.625);\n letter-spacing: -1px;\n line-height: 1;\n\n @include media-query($on-laptop) {\n @include relative-font-size(2.25);\n }\n}\n\n.post-content {\n margin-bottom: $spacing-unit;\n\n h2 {\n @include relative-font-size(2);\n\n @include media-query($on-laptop) {\n @include relative-font-size(1.75);\n }\n }\n\n h3 {\n @include relative-font-size(1.625);\n\n @include media-query($on-laptop) {\n @include relative-font-size(1.375);\n }\n }\n\n h4 {\n @include relative-font-size(1.25);\n\n @include media-query($on-laptop) {\n @include relative-font-size(1.125);\n }\n }\n}\n","/**\n * Syntax highlighting styles\n */\n.highlight {\n background: #fff;\n @extend %vertical-rhythm;\n\n .highlighter-rouge & {\n background: #eef;\n }\n\n .c { color: #998; font-style: italic } // Comment\n .err { color: #a61717; background-color: #e3d2d2 } // Error\n .k { font-weight: bold } // Keyword\n .o { font-weight: bold } // Operator\n .cm { color: #998; font-style: italic } // Comment.Multiline\n .cp { color: #999; font-weight: bold } // Comment.Preproc\n .c1 { color: #998; font-style: italic } // Comment.Single\n .cs { color: #999; font-weight: bold; font-style: italic } // Comment.Special\n .gd { color: #000; background-color: #fdd } // Generic.Deleted\n .gd .x { color: #000; background-color: #faa } // Generic.Deleted.Specific\n .ge { font-style: italic } // Generic.Emph\n .gr { color: #a00 } // Generic.Error\n .gh { color: #999 } // Generic.Heading\n .gi { color: #000; background-color: #dfd } // Generic.Inserted\n .gi .x { color: #000; background-color: #afa } // Generic.Inserted.Specific\n .go { color: #888 } // Generic.Output\n .gp { color: #555 } // Generic.Prompt\n .gs { font-weight: bold } // Generic.Strong\n .gu { color: #aaa } // Generic.Subheading\n .gt { color: #a00 } // Generic.Traceback\n .kc { font-weight: bold } // Keyword.Constant\n .kd { font-weight: bold } // Keyword.Declaration\n .kp { font-weight: bold } // Keyword.Pseudo\n .kr { font-weight: bold } // Keyword.Reserved\n .kt { color: #458; font-weight: bold } // Keyword.Type\n .m { color: #099 } // Literal.Number\n .s { color: #d14 } // Literal.String\n .na { color: #008080 } // Name.Attribute\n .nb { color: #0086B3 } // Name.Builtin\n .nc { color: #458; font-weight: bold } // Name.Class\n .no { color: #008080 } // Name.Constant\n .ni { color: #800080 } // Name.Entity\n .ne { color: #900; font-weight: bold } // Name.Exception\n .nf { color: #900; font-weight: bold } // Name.Function\n .nn { color: #555 } // Name.Namespace\n .nt { color: #000080 } // Name.Tag\n .nv { color: #008080 } // Name.Variable\n .ow { font-weight: bold } // Operator.Word\n .w { color: #bbb } // Text.Whitespace\n .mf { color: #099 } // Literal.Number.Float\n .mh { color: #099 } // Literal.Number.Hex\n .mi { color: #099 } // Literal.Number.Integer\n .mo { color: #099 } // Literal.Number.Oct\n .sb { color: #d14 } // Literal.String.Backtick\n .sc { color: #d14 } // Literal.String.Char\n .sd { color: #d14 } // Literal.String.Doc\n .s2 { color: #d14 } // Literal.String.Double\n .se { color: #d14 } // Literal.String.Escape\n .sh { color: #d14 } // Literal.String.Heredoc\n .si { color: #d14 } // Literal.String.Interpol\n .sx { color: #d14 } // Literal.String.Other\n .sr { color: #009926 } // Literal.String.Regex\n .s1 { color: #d14 } // Literal.String.Single\n .ss { color: #990073 } // Literal.String.Symbol\n .bp { color: #999 } // Name.Builtin.Pseudo\n .vc { color: #008080 } // Name.Variable.Class\n .vg { color: #008080 } // Name.Variable.Global\n .vi { color: #008080 } // Name.Variable.Instance\n .il { color: #099 } // Literal.Number.Integer.Long\n}\n"],"file":"main.css"} \ No newline at end of file diff --git a/assets/minima-social-icons.svg b/assets/minima-social-icons.svg new file mode 100644 index 000000000..fa7399fe2 --- /dev/null +++ b/assets/minima-social-icons.svg @@ -0,0 +1,33 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/assets/vendor_entries/vendor.js b/assets/vendor_entries/vendor.js new file mode 100644 index 000000000..bdba59952 --- /dev/null +++ b/assets/vendor_entries/vendor.js @@ -0,0 +1,15 @@ +// All imports in this file will be compiled into vendors.js file. +// +// Note: ES6 support for these imports is not supported in base build + +module.exports = [ + './node_modules/jquery/dist/jquery.js' , + './node_modules/bootstrap/dist/js/bootstrap.min.js', + './src/js/modules/jquery.easing.min.js', + './src/js/modules/slimmenu.min.js', + './src/js/modules/aos.min.js', + './src/js/modules/highlight.pack.js', + './src/js/modules/owl.carousel.min.js', + './src/js/modules/swipper.min.js', + './src/js/modules/owl.carousel.thumbs.min.js', +]; diff --git a/assets/vendor_entries/vendor.scss b/assets/vendor_entries/vendor.scss new file mode 100644 index 000000000..fd29e9070 --- /dev/null +++ b/assets/vendor_entries/vendor.scss @@ -0,0 +1,12 @@ +// All imports in this file will be compiled into vendors.css file. +// +// Note: You can import SCSS and CSS files as well. + + +@import '../../node_modules/bootstrap/dist/css/bootstrap.min.css'; +@import '../css/aos.css'; +@import '../css/atom-one-light.css'; +@import '../css/fontawesome-all.min.css'; +@import '../css/owl.carousel.min.css'; +@import '../css/custom-animation.css'; +@import '../css/slimmenu.min.css'; diff --git a/assets/webfonts/fa-brands-400.eot b/assets/webfonts/fa-brands-400.eot new file mode 100644 index 000000000..a98135357 Binary files /dev/null and b/assets/webfonts/fa-brands-400.eot differ diff --git a/assets/webfonts/fa-brands-400.svg b/assets/webfonts/fa-brands-400.svg new file mode 100644 index 000000000..2130be6a1 --- /dev/null +++ b/assets/webfonts/fa-brands-400.svg @@ -0,0 +1,3459 @@ + + + + + +Created by FontForge 20190112 at Tue Mar 19 17:20:30 2019 + By Robert Madole +Copyright (c) Font Awesome + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/assets/webfonts/fa-brands-400.ttf b/assets/webfonts/fa-brands-400.ttf new file mode 100644 index 000000000..328c0526b Binary files /dev/null and b/assets/webfonts/fa-brands-400.ttf differ diff --git a/assets/webfonts/fa-brands-400.woff b/assets/webfonts/fa-brands-400.woff new file mode 100644 index 000000000..2b0861f82 Binary files /dev/null and b/assets/webfonts/fa-brands-400.woff differ diff --git a/assets/webfonts/fa-brands-400.woff2 b/assets/webfonts/fa-brands-400.woff2 new file mode 100644 index 000000000..b5f9e08f8 Binary files /dev/null and b/assets/webfonts/fa-brands-400.woff2 differ diff --git a/assets/webfonts/fa-regular-400.eot b/assets/webfonts/fa-regular-400.eot new file mode 100644 index 000000000..8f820c7ef Binary files /dev/null and b/assets/webfonts/fa-regular-400.eot differ diff --git a/assets/webfonts/fa-regular-400.svg b/assets/webfonts/fa-regular-400.svg new file mode 100644 index 000000000..f47746211 --- /dev/null +++ b/assets/webfonts/fa-regular-400.svg @@ -0,0 +1,803 @@ + + + + + +Created by FontForge 20190112 at Tue Mar 19 17:20:30 2019 + By Robert Madole +Copyright (c) Font Awesome + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/assets/webfonts/fa-regular-400.ttf b/assets/webfonts/fa-regular-400.ttf new file mode 100644 index 000000000..9f81d9e96 Binary files /dev/null and b/assets/webfonts/fa-regular-400.ttf differ diff --git a/assets/webfonts/fa-regular-400.woff b/assets/webfonts/fa-regular-400.woff new file mode 100644 index 000000000..ed70421c3 Binary files /dev/null and b/assets/webfonts/fa-regular-400.woff differ diff --git a/assets/webfonts/fa-regular-400.woff2 b/assets/webfonts/fa-regular-400.woff2 new file mode 100644 index 000000000..5da4177f9 Binary files /dev/null and b/assets/webfonts/fa-regular-400.woff2 differ diff --git a/assets/webfonts/fa-solid-900.eot b/assets/webfonts/fa-solid-900.eot new file mode 100644 index 000000000..ae0eaad4d Binary files /dev/null and b/assets/webfonts/fa-solid-900.eot differ diff --git a/assets/webfonts/fa-solid-900.svg b/assets/webfonts/fa-solid-900.svg new file mode 100644 index 000000000..02ad6d367 --- /dev/null +++ b/assets/webfonts/fa-solid-900.svg @@ -0,0 +1,4527 @@ + + + + + +Created by FontForge 20190112 at Tue Mar 19 17:20:30 2019 + By Robert Madole +Copyright (c) Font Awesome + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/assets/webfonts/fa-solid-900.ttf b/assets/webfonts/fa-solid-900.ttf new file mode 100644 index 000000000..52739b550 Binary files /dev/null and b/assets/webfonts/fa-solid-900.ttf differ diff --git a/assets/webfonts/fa-solid-900.woff b/assets/webfonts/fa-solid-900.woff new file mode 100644 index 000000000..990c8be5c Binary files /dev/null and b/assets/webfonts/fa-solid-900.woff differ diff --git a/assets/webfonts/fa-solid-900.woff2 b/assets/webfonts/fa-solid-900.woff2 new file mode 100644 index 000000000..a0fb9f032 Binary files /dev/null and b/assets/webfonts/fa-solid-900.woff2 differ diff --git a/authors/cutter.html b/authors/cutter.html new file mode 100644 index 000000000..860a5ba9a --- /dev/null +++ b/authors/cutter.html @@ -0,0 +1,308 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + cutter's Posts + + + + + + + + + + +
+ + + +
+
+
+
+
+ +
+ +
+
+ + + +
+
+
+ + +
+
+ Cutter Team +

Cutter Team

+

The team behind Cutter.

+ +
+
+ +
+
+
+ + + +
    +
  • shape image
  • +
  • shape image
  • +
+ +
+
+ + +
+
+
+
+ + +
+ +
+ + + + + +
+ +
+ + + + + +
+ +
+ + + + + + +
+
+
+
+ + +
+ + + + + + diff --git a/authors/itay_cohen.html b/authors/itay_cohen.html new file mode 100644 index 000000000..d8d26554c --- /dev/null +++ b/authors/itay_cohen.html @@ -0,0 +1,308 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Itay Cohen's Posts + + + + + + + + + + +
+ + + +
+
+
+
+
+ +
+ +
+
+ + + +
+
+
+ + +
+
+ Itay Cohen +

Itay Cohen

+

Itay Cohen (aka Megabeets) is a security researcher and a reverse engineer. He is a maintainer of Cutter and a core member of Rizin.

+ +
+
+ +
+
+
+ + + +
    +
  • shape image
  • +
  • shape image
  • +
+ +
+
+ + +
+
+
+
+ + + + + + + + +
+ +
+ + + + + +
+ +
+ + + +
+ +
+ + +
+
+
+
+ + +
+ + + + + + diff --git a/authors/nirmal_manoj.html b/authors/nirmal_manoj.html new file mode 100644 index 000000000..d34a8984e --- /dev/null +++ b/authors/nirmal_manoj.html @@ -0,0 +1,252 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Nirmal Manoj's Posts + + + + + + + + + + +
+ + + +
+
+
+
+
+ +
+ +
+
+ + + +
+
+
+ + +
+
+ Nirmal Manoj +

Nirmal Manoj

+

Nirmal Manoj is a CS undergraduate student at IIIT Hyderabad, India. He was a GSoC 2020 student who worked on improving the decompiler widget.

+ +
+
+ +
+
+
+ + + +
    +
  • shape image
  • +
  • shape image
  • +
+ +
+
+ + +
+
+
+
+ + + + +
+ +
+ + + + + + + + + + + + +
+
+
+
+ + +
+ + + + + + diff --git a/blog/blog/2/index.html b/blog/blog/2/index.html new file mode 100644 index 000000000..cb9684283 --- /dev/null +++ b/blog/blog/2/index.html @@ -0,0 +1,632 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Cutter's Blog - page 2 + + + + + + + + + + +
+ + + +
+
+
+
+
+ +
+ +
+
+ + + + +
+
+
+
+

Cutter's Blog - page 2

+
+
+
+
+ + +
+
+ + + +
+
+
+
+
+
+

We built a powerful multi-platform reverse engineering tool.

+

Cutter's goal is to be an advanced FREE and open-source reverse-engineering platform while keeping the user experience at mind. Cutter is created by reverse engineers for reverse engineers.

+
+
+
+
+
+
+ +
+
+ +
+

Powered by Rizin

+

Cutter is using Rizin as its core engine. Thus, allows access to thousands of features via the GUI or by using the integrated terminal.

+
+
+
+ +
+
+ +
+

Interactive Widgets

+

Cutter provides enormous amount of different widgets and features to make your Reverse Engineering experience as comfortable as possible.

+
+
+
+ +
+
+ +
+

Multiple Themes

+

By default, Cutter is coming with multiple modern themes -- Light, Native, Dark and Midnight.

+
+
+
+ +
+
+ +
+

Integrated Decompiler

+

Cutter releases are fully integrated with native Ghidra decompiler. No Java involved.

+
+
+
+ +
+
+ +
+
+
+
+ +
+
+ animated shape + animated shape + animated shape +
+
+
+
+ +
+
+ +
+

Open Source

+

Completely FREE and licensed under GPLv3

+ + +
+
+
+
+ +
+
+ +
+

Decompiler

+

Native integration of Ghidra's decompiler in Cutter releases

+ + +
+
+
+
+ +
+
+ +
+

Graph View

+

Fully featured graph view as well as mini-graph for fast navigation

+ + +
+
+
+
+ +
+
+ +
+

Debugger (beta)

+

Multiplatform native and remote debugger for dynamic analysis

+ + +
+
+
+
+ +
+
+ +
+

Disassembly

+

Linear disassembly view

+ + +
+
+
+
+ +
+
+ +
+

Hex Editor

+

View and modify any file with a rich and powerful Hex View

+ + +
+
+
+
+ +
+
+ +
+

Python Scripting Engine

+

Quickly write python scripts to automate tasks

+ + +
+
+
+
+ +
+
+ +
+

Plugins

+

Use Native or Python plugins to extend Cutter's core functionality

+ + +
+
+
+
+ +
+
+ +
+

Binary Patching

+

Add, remove and modify bytes and instructions

+ + +
+
+
+
+ +
+
+ +
+

Emulation

+

Great for automation, crypto algorithms and malware analysis

+ + +
+
+
+
+ +
+
+ +
+

Theme Editor

+

Fully featured theme editor for easy and user-friendly customization of Cutter

+ + +
+
+
+
+ +
+
+ +
+

Modern & Customizable UI

+

Built using Qt C++ and design best practices

+ + +
+
+
+
+ +
+
+ + Integrated Rizin Console • + + Multi Language • + + Binary Searching • + + Types & Structs • + + Syntax Highlighting • + + STDIO Redirection • + + Remote Debugging • + + Kernel Debug • + + Graph Overview • + + And more... +
+
+
+ +
+
+
+
+
+ See All Posts +
+
+

Have a look what is going on.

+

Check out our recent blog-posts or visit our blog to view all the posts. We will update Cutter's blog from time to time.

+

Want your article to be published here? Send us a message.

+
+
+
+
+
+ +
+ +
+ +
+ +
+ +
+
+
+
+ + + +
+
+
+
+
+
+ watch image + +
+
+
+
+
+

Coming Soon!

+
+
+
A quick introduction video for Cutter
+

Let's explore Cutter functionalities using this short example. We will get to know the interface, the features and the configurable options

+
+
+
watch video arrow
+
+
+
+
+ +
+ +
+
+
+
+
+
+
+

Cutter is available for all major platforms

+

Cutter was built as a cross-platform application so you can use it on your favorite operating system.

+
+
+ +

Download Cutter version

+
+ +
+

+ +

+
+
+
+
+ +
+
+ +
apps screenshot image
+
animation shape
+
+
+
+
+
+ +
+
+
+
+
+
+

Join our communities

+

Have any question? Want to join the development team? Want to tell us someting? Join us and thousands of our users in the different chats and platforms.

+
+
+
+
+ +
+
communuity image
+
+
+
+
+
+ + + +
+ + + + + + diff --git a/blog/index.html b/blog/index.html new file mode 100644 index 000000000..49646a0f6 --- /dev/null +++ b/blog/index.html @@ -0,0 +1,632 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Cutter's Blog + + + + + + + + + + +
+ + + +
+
+
+
+
+ +
+ +
+
+ + + + +
+
+
+
+

Cutter's Blog

+
+
+
+
+ + +
+
+ + + +
+
+
+
+
+
+

We built a powerful multi-platform reverse engineering tool.

+

Cutter's goal is to be an advanced FREE and open-source reverse-engineering platform while keeping the user experience at mind. Cutter is created by reverse engineers for reverse engineers.

+
+
+
+
+
+
+ +
+
+ +
+

Powered by Rizin

+

Cutter is using Rizin as its core engine. Thus, allows access to thousands of features via the GUI or by using the integrated terminal.

+
+
+
+ +
+
+ +
+

Interactive Widgets

+

Cutter provides enormous amount of different widgets and features to make your Reverse Engineering experience as comfortable as possible.

+
+
+
+ +
+
+ +
+

Multiple Themes

+

By default, Cutter is coming with multiple modern themes -- Light, Native, Dark and Midnight.

+
+
+
+ +
+
+ +
+

Integrated Decompiler

+

Cutter releases are fully integrated with native Ghidra decompiler. No Java involved.

+
+
+
+ +
+
+ +
+
+
+
+ +
+
+ animated shape + animated shape + animated shape +
+
+
+
+ +
+
+ +
+

Open Source

+

Completely FREE and licensed under GPLv3

+ + +
+
+
+
+ +
+
+ +
+

Decompiler

+

Native integration of Ghidra's decompiler in Cutter releases

+ + +
+
+
+
+ +
+
+ +
+

Graph View

+

Fully featured graph view as well as mini-graph for fast navigation

+ + +
+
+
+
+ +
+
+ +
+

Debugger (beta)

+

Multiplatform native and remote debugger for dynamic analysis

+ + +
+
+
+
+ +
+
+ +
+

Disassembly

+

Linear disassembly view

+ + +
+
+
+
+ +
+
+ +
+

Hex Editor

+

View and modify any file with a rich and powerful Hex View

+ + +
+
+
+
+ +
+
+ +
+

Python Scripting Engine

+

Quickly write python scripts to automate tasks

+ + +
+
+
+
+ +
+
+ +
+

Plugins

+

Use Native or Python plugins to extend Cutter's core functionality

+ + +
+
+
+
+ +
+
+ +
+

Binary Patching

+

Add, remove and modify bytes and instructions

+ + +
+
+
+
+ +
+
+ +
+

Emulation

+

Great for automation, crypto algorithms and malware analysis

+ + +
+
+
+
+ +
+
+ +
+

Theme Editor

+

Fully featured theme editor for easy and user-friendly customization of Cutter

+ + +
+
+
+
+ +
+
+ +
+

Modern & Customizable UI

+

Built using Qt C++ and design best practices

+ + +
+
+
+
+ +
+
+ + Integrated Rizin Console • + + Multi Language • + + Binary Searching • + + Types & Structs • + + Syntax Highlighting • + + STDIO Redirection • + + Remote Debugging • + + Kernel Debug • + + Graph Overview • + + And more... +
+
+
+ +
+
+
+
+
+ See All Posts +
+
+

Have a look what is going on.

+

Check out our recent blog-posts or visit our blog to view all the posts. We will update Cutter's blog from time to time.

+

Want your article to be published here? Send us a message.

+
+
+
+
+
+ +
+ +
+ +
+ +
+ +
+
+
+
+ + + +
+
+
+
+
+
+ watch image + +
+
+
+
+
+

Coming Soon!

+
+
+
A quick introduction video for Cutter
+

Let's explore Cutter functionalities using this short example. We will get to know the interface, the features and the configurable options

+
+
+
watch video arrow
+
+
+
+
+ +
+ +
+
+
+
+
+
+
+

Cutter is available for all major platforms

+

Cutter was built as a cross-platform application so you can use it on your favorite operating system.

+
+
+ +

Download Cutter version

+
+ +
+

+ +

+
+
+
+
+ +
+
+ +
apps screenshot image
+
animation shape
+
+
+
+
+
+ +
+
+
+
+
+
+

Join our communities

+

Have any question? Want to join the development team? Want to tell us someting? Join us and thousands of our users in the different chats and platforms.

+
+
+
+
+ +
+
communuity image
+
+
+
+
+
+ + + +
+ + + + + + diff --git a/category/community/index.html b/category/community/index.html new file mode 100644 index 000000000..2f07381b8 --- /dev/null +++ b/category/community/index.html @@ -0,0 +1,215 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Community + + + + + + + + + + +
+ + + +
+
+
+
+
+ +
+ +
+
+ + + + + +
    +
  • shape image
  • +
  • shape image
  • +
+ +
+
+ + +
+
+
+
+ +
+ +
+ +
+
+
+
+ + +
+ + + + + + diff --git a/category/cutter/index.html b/category/cutter/index.html new file mode 100644 index 000000000..bc8b8681e --- /dev/null +++ b/category/cutter/index.html @@ -0,0 +1,296 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Cutter + + + + + + + + + + +
+ + + +
+
+
+
+
+ +
+ +
+
+ + + + + +
    +
  • shape image
  • +
  • shape image
  • +
+ +
+
+ + +
+
+
+
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+
+
+
+ + +
+ + + + + + diff --git a/category/decompiler/index.html b/category/decompiler/index.html new file mode 100644 index 000000000..076ae986f --- /dev/null +++ b/category/decompiler/index.html @@ -0,0 +1,215 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Decompiler + + + + + + + + + + +
+ + + +
+
+
+
+
+ +
+ +
+
+ + + + + +
    +
  • shape image
  • +
  • shape image
  • +
+ +
+
+ + +
+
+
+
+ +
+ +
+ +
+
+
+
+ + +
+ + + + + + diff --git a/category/gsoc/index.html b/category/gsoc/index.html new file mode 100644 index 000000000..a65589cf9 --- /dev/null +++ b/category/gsoc/index.html @@ -0,0 +1,215 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + GSoC + + + + + + + + + + +
+ + + +
+
+
+
+
+ +
+ +
+
+ + + + + +
    +
  • shape image
  • +
  • shape image
  • +
+ +
+
+ + +
+
+
+
+ +
+ +
+ +
+
+
+
+ + +
+ + + + + + diff --git a/category/plugins-cutter/index.html b/category/plugins-cutter/index.html new file mode 100644 index 000000000..c580a5035 --- /dev/null +++ b/category/plugins-cutter/index.html @@ -0,0 +1,242 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Plugins Cutter + + + + + + + + + + +
+ + + +
+
+
+
+
+ +
+ +
+
+ + + + + +
    +
  • shape image
  • +
  • shape image
  • +
+ +
+
+ + +
+
+
+
+ +
+ +
+ +
+ +
+ +
+
+
+
+ + +
+ + + + + + diff --git a/category/release/index.html b/category/release/index.html new file mode 100644 index 000000000..776681c7d --- /dev/null +++ b/category/release/index.html @@ -0,0 +1,215 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Release + + + + + + + + + + +
+ + + +
+
+
+
+
+ +
+ +
+
+ + + + + +
    +
  • shape image
  • +
  • shape image
  • +
+ +
+
+ + +
+
+
+
+ +
+ +
+ +
+
+
+
+ + +
+ + + + + + diff --git a/category/rizin/index.html b/category/rizin/index.html new file mode 100644 index 000000000..c17bcde31 --- /dev/null +++ b/category/rizin/index.html @@ -0,0 +1,215 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Rizin + + + + + + + + + + +
+ + + +
+
+
+
+
+ +
+ +
+
+ + + + + +
    +
  • shape image
  • +
  • shape image
  • +
+ +
+
+ + +
+
+
+
+ +
+ +
+ +
+
+
+
+ + +
+ + + + + + diff --git a/cutter-2.0.html b/cutter-2.0.html new file mode 100644 index 000000000..6630bc664 --- /dev/null +++ b/cutter-2.0.html @@ -0,0 +1,495 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Cutter 2.0 Release + + + + + + + + + + +
+ + + +
+
+
+
+
+ +
+ +
+
+ + +
+
+
+
+

Cutter 2.0 Release

+ + +
+
+
+
+ + + + +
+
+ + +
+
+
+
+
+ +
+ Cutter 2.0 Release +
+ +
+ + +

We are excited to release Cutter v2.0 — the first release of Cutter that is using Rizin as its core backend. Since forking radare2 and creating Rizin, we invested countless hours in improving the projects feature, overall stability, and the way we work. Releasing Cutter 2.0 is a significant milestone for us, as we believe that the recent improvements we made to our core — Rizin, and to Cutter itself, are the starting point of creating a better reverse engineering software.

+ +

Many of you waited for our first release with Rizin, and now the time has finally arrived. In this post, we note down some of the recent changes we have made to Cutter and what you should expect to see in this new release. To view the detailed changelog or download Cutter 2.0, +check out the release on GitHub!

+ +

Highlights

+ +

Saving and loading your work with Projects

+ +

During reverse-engineering sessions, it is crucial to be able to keep track of the gained knowledge through annotations such as comments, function and variable names. As such, the tool one is working with also needs to provide a reliable and future-proof way to save and restore this information. This functionality was deeply important to us and to our users and was requested by the community often.

+ +

Up to this release, Cutter had only a basic and unreliable support for saving the user’s work in projects, a functionality provided by radare2. When Rizin was forked from radare2, the team decided to create a reliable mechanism of saving and loading projects from scratch. The technical details of this newly created projects feature are described in a dedicated post published in rizin’s blog.

+ +

Cutter 2.0 introduces full support for Projects, and you can now save and load you work seamlessly. The feature is in beta support that will last until the first major release of Rizin (v1.0).

+ +

By the way, because Cutter directly uses Rizin’s project format, projects created in command-line Rizin can be directly loaded in Cutter and vice-versa, giving you the possibility to change between both tools whenever you want.

+ +

Saving a project

+ +

Saving your work in a project is simple and intuitive. Click on the “File” menu and choose “Save Project” or “Save Project As”. This will open a dialog that will ask you where do you want to save the new project. The extension for Rizin and Cutter projects is .rzdb.

+ +

Those of you who wish to use keyboard shortcuts can use Ctrl + S to save the project. You can use these shortcuts many times during your work to save the changes to the project file.

+ +
+ Save Project Menu +
+ +

Loading projects

+ +

Opening projects in Cutter can be done in two ways. The first one, is from the Projects tab in Cutter’s opening dialog. To do this, open Cutter and click on the Projects tab. In there, you will see the recent projects you created or loaded. Double-click on a project, or click “select” and choose another project file from the dialog.

+ +
+ Open Project Dialog +
+ +

The second option to open a project in Cutter is via the command line. To do this, run Cutter with the -p or --project flag:

+ +
cutter -p demo.rzdb
+
+ +

Cutter now supports Reverse Debugging

+ +

Another feature that we’re very excited about in this release is the addition of reverse debugging to all debug backends, including remote and ESIL. Reverse debug allows you to move the program counter backwards and revert the program state to the saved state at that point.

+ +

The debug toolbar now includes the option to start a ‘trace session’ that enables reverse debug:

+ +
+ Debug Toolbar +
+ +

Once you start a trace session, Cutter begins recording the program’s memory and register changes from the current program counter. This allows you to step backwards and continue backwards to restore the program’s state up to the trace session’s first recorded instruction:

+ +
+ Debug Toolbar while Debugging +
From right to left - stop trace session, continue backwards and step backwards
+
+ +

When stepping or continuing back, we locate the target instruction in the recorded session and revert the state of the registers and memory up to that point. It’s important to note that Cutter doesn’t handle non-deterministic events like signals or syscalls.

+ +

Continuing back to the future

+ +

Similarly to regular continue, backwards continue currently only stops due to an interrupt (by clicking on the “suspend process” button) or a breakpoint. Otherwise, it will continue all the way back to the session’s first instruction.

+ +

Since Cutter stops at every instruction to record memory and register changes while continuing, this may significantly slow down the traversal between two points. To solve this issue, we have also added the dbg.trace_continue(default=true) flag to the debug settings. This flag allows the user to save the program’s state only between two states: the first state is the original program counter position before continue, and the second is the destination of the run. This means that stepping backwards will also return to the last recorded point before continue as illustrated:

+ +
+ dbg.trace_continue=false +
Continue with dbg.trace_continue=false
+
+ +
+ dbg.trace_continue=false +
Stepping back after continue with dbg.trace_continue=false
+
+ +

Compared to being able to step back to any point after continue with dbg.trace_continue=true:

+ +
+ dbg.trace_continue=true +
Continue with dbg.trace_continue=true
+
+ +
+ dbg.trace_continue=true +
Stepping back after continue with dbg.trace_continue=true
+
+ +

Improving the renaming workflow

+ +

Last year, we asked you what are the things you want to see improved in Cutter. Many of you mentioned that the basic workflow of renaming isn’t user-friendly and can be improved. And indeed, during the recent months we worked on improving it and created an easier renaming workflow in which you can press N in many places in the disassembly to rename functions, flags, and more. You can also use N to add new flags in certain addresses.

+ +

There are more improvement to do when it comes to renaming in Cutter, such as having better support for renaming symbols and renaming information in the decompiler. We plan to improve these areas in future releases.

+ +

Basic block headers in Graph view

+ +

A new feature that was added in Cutter v2.0 is the option to display the basic blocks offsets in the Graph view. When enabled, each basic block will have its start-address displayed at the top. This feature can be enabled or disabled from the preferences view: Edit → Preferences → Disassembly → Graph → Show offset of the first instruction in each graph block.

+ +
+ Basic Block Headers +
+ +

Hover on address to view its content

+ +

The functions widget of Cutter had a functionality that allowed the user to preview the contents of a function by hovering with their mouse on a function name from the list. Now, in our new release, we expanded this feature and added support for previewing the contents of a function, flag or address, by hovering on them in the disassembly view. This will allow you to quickly view data and code in target address, without navigating to this address.

+ +
+ Hover on address +
+ +

New Comment Column in multiple Table Views

+ +

We improved multiple table view widgets to now display comments that are being added in these addresses. For example, if the user added a comment to an offset of a string, or of a flag, the comments will be displayed in the list.

+ +
+ Comment Column +
+ +
+
+
+
+
Tags:
, +
+
+
+ +
+
+
+ +
+ Cutter Team +
+
+
Cutter Team
+

The team behind Cutter.

+ +
+
+ + +
+ +
+
+
+
+
+
+ + +
+ + + + + + diff --git a/cutter-community-survey-2020.html b/cutter-community-survey-2020.html new file mode 100644 index 000000000..b7466cf63 --- /dev/null +++ b/cutter-community-survey-2020.html @@ -0,0 +1,375 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Cutter Community Survey 2020 + + + + + + + + + + +
+ + + +
+
+
+
+
+ +
+ +
+
+ + +
+
+
+
+

Cutter Community Survey 2020

+ + +
+
+
+
+ + + + +
+
+ + +
+
+
+
+
+ +
+ Cutter Community Survey 2020 +
+ +
+ + +

The Cutter team is working hard to create a free and open-source reverse engineering framework that will give you the best RE experience. Our 2020 community survey is here and this is our opportunity to get to know you better.

+ +

We already interact with many of you frequently using Telegram, IRC, and Twitter, but the interactions tend to be about specific problems. We want to hear from all of you, all the way from those who found it too difficult to start with Cutter to those who have contributed several times. We want to hear what you love about Cutter and what you hate about it. We want to hear about your smallest annoyances and problems that may take 5 years to solve. Anything goes. It’s only with your help that we can make Cutter into a truly useful tool.

+ +

Please take a few minutes to fill the survey. We’ll collect responses for about a month and then we’ll publish the results on our blog, groups and social media.

+ +

Take the survey!

+ + + +
+
+
+
+
Tags:
, +
+
+
+ +
+
+
+ +
+ Cutter Team +
+
+
Cutter Team
+

The team behind Cutter.

+ +
+
+ + +
+ +
+
+
+
+
+
+ + +
+ + + + + + diff --git a/defeating-a-ransomware-with-cutter.html b/defeating-a-ransomware-with-cutter.html new file mode 100644 index 000000000..d064b027e --- /dev/null +++ b/defeating-a-ransomware-with-cutter.html @@ -0,0 +1,371 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Defeating a Ransomware using Cutter's Emulation + + + + + + + + + + +
+ + + +
+
+
+
+
+ +
+ +
+
+ + +
+
+
+
+

Defeating a Ransomware using Cutter's Emulation

+ + +
+
+
+
+ + + + +
+
+ + +
+
+
+
+
+ +
+ Defeating a Ransomware using Cutter's Emulation +
+ +
+

Last week I attended the r2con conference for the first time (for those who haven't heard about it before, it is a reverse engineering conference focused on radare2) and apart from listening to great talks, I signed up for the basic trainings since I had not used r2 in the past and my RE experience is quite basic. One of the trainings was "Dissecting binaries with Cutter" given by Antide Petit, Itay cohen, and Florian Märkl. It was an introduction to the official GUI application for r2, Cutter.

+ +

During the training, there were 3 different exercises and one of them was about reversing a binary called "M1ghty Ransomware.exe" which by the name of it, you can guess what it is. Along with the binary, there was also a PNG file called "flag.png" that was encrypted by the malware. We had to use Cutter to analyse the binary and figure out the encryption algorithms, the keys used for the encryption, and finally write a script to decrypt the png file. Sounds easy, right? Well, it took me a while to figure it out. Let's dissect it.

+ +

Read on Cristhian Amaya’s website

+ + + +
+
+
+
+
Tags:
+
+
+
+ +
+
+
+ +
+ Cutter Team +
+
+
Cutter Team
+

The team behind Cutter.

+ +
+
+ + +
+ +
+
+
+
+
+
+ + +
+ + + + + + diff --git a/docs/.buildinfo b/docs/.buildinfo new file mode 100644 index 000000000..2a3bfecd6 --- /dev/null +++ b/docs/.buildinfo @@ -0,0 +1,4 @@ +# Sphinx build info version 1 +# This file records the configuration used when building these files. When it is not found, a full rebuild will be done. +config: 453801e608e7b9487ea7f1e185120ab1 +tags: 645f666f9bcd5a90fca523b33c5a78b7 diff --git a/docs/_images/InitializationScriptEditor.png b/docs/_images/InitializationScriptEditor.png new file mode 100644 index 000000000..6e72c1f82 Binary files /dev/null and b/docs/_images/InitializationScriptEditor.png differ diff --git a/docs/_images/analysis_dialog.png b/docs/_images/analysis_dialog.png new file mode 100644 index 000000000..2844ebbb1 Binary files /dev/null and b/docs/_images/analysis_dialog.png differ diff --git a/docs/_images/cutter_path_settings.png b/docs/_images/cutter_path_settings.png new file mode 100644 index 000000000..c84f0b923 Binary files /dev/null and b/docs/_images/cutter_path_settings.png differ diff --git a/docs/_images/decompiler_vs_disassembly.png b/docs/_images/decompiler_vs_disassembly.png new file mode 100644 index 000000000..856e5de75 Binary files /dev/null and b/docs/_images/decompiler_vs_disassembly.png differ diff --git a/docs/_images/disasm-dynamic.png b/docs/_images/disasm-dynamic.png new file mode 100644 index 000000000..278dbdb19 Binary files /dev/null and b/docs/_images/disasm-dynamic.png differ diff --git a/docs/_images/disasm-static.png b/docs/_images/disasm-static.png new file mode 100644 index 000000000..a449f0e80 Binary files /dev/null and b/docs/_images/disasm-static.png differ diff --git a/docs/_images/graph_grid.svg b/docs/_images/graph_grid.svg new file mode 100644 index 000000000..274f93270 --- /dev/null +++ b/docs/_images/graph_grid.svg @@ -0,0 +1,664 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + 0 + 1 + 0 + 1 + 2 + 2 + 3 + 3 + 0 + 0 + 1 + 1 + 2 + column + edge column + row + edge row + + + + + + + + + + + + + + (2, 1) + (1, 0) + (0, 1) + + segment offset + + + + + + + negativesegment offset + + + + diff --git a/docs/_images/graph_parent_placement.svg b/docs/_images/graph_parent_placement.svg new file mode 100644 index 000000000..9b87b81f5 --- /dev/null +++ b/docs/_images/graph_parent_placement.svg @@ -0,0 +1,2104 @@ + + + + + + image/svg+xml + + Cutter graph export + + + + + Cutter graph export + Generated with Qt + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +        + + +        + + +        + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Placing parent in the middle of bounds + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Placing parent between direct children + + + + + + + + + + Placing subtress as close as possiblebased on exact shape + + + + + + + + + + + Using bounding box of smallest subtree + + diff --git a/docs/_images/layout_compacting.svg b/docs/_images/layout_compacting.svg new file mode 100644 index 000000000..2f6736a39 --- /dev/null +++ b/docs/_images/layout_compacting.svg @@ -0,0 +1,543 @@ + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/_images/layout_manager.png b/docs/_images/layout_manager.png new file mode 100644 index 000000000..ae7d132bc Binary files /dev/null and b/docs/_images/layout_manager.png differ diff --git a/docs/_images/mydockwidget-action.png b/docs/_images/mydockwidget-action.png new file mode 100644 index 000000000..259602a58 Binary files /dev/null and b/docs/_images/mydockwidget-action.png differ diff --git a/docs/_images/mydockwidget.png b/docs/_images/mydockwidget.png new file mode 100644 index 000000000..feace3d65 Binary files /dev/null and b/docs/_images/mydockwidget.png differ diff --git a/docs/_images/preferences-plugins.png b/docs/_images/preferences-plugins.png new file mode 100644 index 000000000..69451eca7 Binary files /dev/null and b/docs/_images/preferences-plugins.png differ diff --git a/docs/_images/screenshot.png b/docs/_images/screenshot.png new file mode 100644 index 000000000..c66c27ef2 Binary files /dev/null and b/docs/_images/screenshot.png differ diff --git a/docs/_sources/api.rst.txt b/docs/_sources/api.rst.txt new file mode 100644 index 000000000..20cd4f6e8 --- /dev/null +++ b/docs/_sources/api.rst.txt @@ -0,0 +1,9 @@ +.. _api: + +API Reference +============== + +.. toctree:: + :glob: + + api/* diff --git a/docs/_sources/api/common/classAddressableFilterProxyModel.rst.txt b/docs/_sources/api/common/classAddressableFilterProxyModel.rst.txt new file mode 100644 index 000000000..e7ce78f23 --- /dev/null +++ b/docs/_sources/api/common/classAddressableFilterProxyModel.rst.txt @@ -0,0 +1,4 @@ +AddressableFilterProxyModel +=========================== + +.. doxygenclass:: AddressableFilterProxyModel diff --git a/docs/_sources/api/common/classAddressableItemModel.rst.txt b/docs/_sources/api/common/classAddressableItemModel.rst.txt new file mode 100644 index 000000000..d02dcde61 --- /dev/null +++ b/docs/_sources/api/common/classAddressableItemModel.rst.txt @@ -0,0 +1,4 @@ +AddressableItemModel +==================== + +.. doxygenclass:: AddressableItemModel diff --git a/docs/_sources/api/common/classAddressableItemModelI.rst.txt b/docs/_sources/api/common/classAddressableItemModelI.rst.txt new file mode 100644 index 000000000..d140e60b3 --- /dev/null +++ b/docs/_sources/api/common/classAddressableItemModelI.rst.txt @@ -0,0 +1,4 @@ +AddressableItemModelI +===================== + +.. doxygenclass:: AddressableItemModelI diff --git a/docs/_sources/api/common/classAnalysisTask.rst.txt b/docs/_sources/api/common/classAnalysisTask.rst.txt new file mode 100644 index 000000000..10291b3d6 --- /dev/null +++ b/docs/_sources/api/common/classAnalysisTask.rst.txt @@ -0,0 +1,4 @@ +AnalysisTask +============ + +.. doxygenclass:: AnalysisTask diff --git a/docs/_sources/api/common/classAsyncTask.rst.txt b/docs/_sources/api/common/classAsyncTask.rst.txt new file mode 100644 index 000000000..c98e1e1e4 --- /dev/null +++ b/docs/_sources/api/common/classAsyncTask.rst.txt @@ -0,0 +1,4 @@ +AsyncTask +========= + +.. doxygenclass:: AsyncTask diff --git a/docs/_sources/api/common/classAsyncTaskManager.rst.txt b/docs/_sources/api/common/classAsyncTaskManager.rst.txt new file mode 100644 index 000000000..89187cfff --- /dev/null +++ b/docs/_sources/api/common/classAsyncTaskManager.rst.txt @@ -0,0 +1,4 @@ +AsyncTaskManager +================ + +.. doxygenclass:: AsyncTaskManager diff --git a/docs/_sources/api/common/classBasicBlockHighlighter.rst.txt b/docs/_sources/api/common/classBasicBlockHighlighter.rst.txt new file mode 100644 index 000000000..6c099da53 --- /dev/null +++ b/docs/_sources/api/common/classBasicBlockHighlighter.rst.txt @@ -0,0 +1,4 @@ +BasicBlockHighlighter +===================== + +.. doxygenclass:: BasicBlockHighlighter diff --git a/docs/_sources/api/common/classBasicInstructionHighlighter.rst.txt b/docs/_sources/api/common/classBasicInstructionHighlighter.rst.txt new file mode 100644 index 000000000..e47278b88 --- /dev/null +++ b/docs/_sources/api/common/classBasicInstructionHighlighter.rst.txt @@ -0,0 +1,4 @@ +BasicInstructionHighlighter +=========================== + +.. doxygenclass:: BasicInstructionHighlighter diff --git a/docs/_sources/api/common/classCachedFontMetrics.rst.txt b/docs/_sources/api/common/classCachedFontMetrics.rst.txt new file mode 100644 index 000000000..2e17c8c33 --- /dev/null +++ b/docs/_sources/api/common/classCachedFontMetrics.rst.txt @@ -0,0 +1,4 @@ +CachedFontMetrics +================= + +.. doxygenclass:: CachedFontMetrics diff --git a/docs/_sources/api/common/classColorThemeWorker.rst.txt b/docs/_sources/api/common/classColorThemeWorker.rst.txt new file mode 100644 index 000000000..3cf2a0d9a --- /dev/null +++ b/docs/_sources/api/common/classColorThemeWorker.rst.txt @@ -0,0 +1,4 @@ +ColorThemeWorker +================ + +.. doxygenclass:: ColorThemeWorker diff --git a/docs/_sources/api/common/classColors.rst.txt b/docs/_sources/api/common/classColors.rst.txt new file mode 100644 index 000000000..c25f09f02 --- /dev/null +++ b/docs/_sources/api/common/classColors.rst.txt @@ -0,0 +1,4 @@ +Colors +====== + +.. doxygenclass:: Colors diff --git a/docs/_sources/api/common/classCommandTask.rst.txt b/docs/_sources/api/common/classCommandTask.rst.txt new file mode 100644 index 000000000..02bda7c66 --- /dev/null +++ b/docs/_sources/api/common/classCommandTask.rst.txt @@ -0,0 +1,4 @@ +CommandTask +=========== + +.. doxygenclass:: CommandTask diff --git a/docs/_sources/api/common/classConfiguration.rst.txt b/docs/_sources/api/common/classConfiguration.rst.txt new file mode 100644 index 000000000..06d20ca45 --- /dev/null +++ b/docs/_sources/api/common/classConfiguration.rst.txt @@ -0,0 +1,4 @@ +Configuration +============= + +.. doxygenclass:: Configuration diff --git a/docs/_sources/api/common/classCutterSeekable.rst.txt b/docs/_sources/api/common/classCutterSeekable.rst.txt new file mode 100644 index 000000000..fb5dad490 --- /dev/null +++ b/docs/_sources/api/common/classCutterSeekable.rst.txt @@ -0,0 +1,4 @@ +CutterSeekable +============== + +.. doxygenclass:: CutterSeekable diff --git a/docs/_sources/api/common/classDecompiler.rst.txt b/docs/_sources/api/common/classDecompiler.rst.txt new file mode 100644 index 000000000..00d5d3fe5 --- /dev/null +++ b/docs/_sources/api/common/classDecompiler.rst.txt @@ -0,0 +1,4 @@ +Decompiler +========== + +.. doxygenclass:: Decompiler diff --git a/docs/_sources/api/common/classDecompilerHighlighter.rst.txt b/docs/_sources/api/common/classDecompilerHighlighter.rst.txt new file mode 100644 index 000000000..7c9429ebd --- /dev/null +++ b/docs/_sources/api/common/classDecompilerHighlighter.rst.txt @@ -0,0 +1,4 @@ +DecompilerHighlighter +===================== + +.. doxygenclass:: DecompilerHighlighter diff --git a/docs/_sources/api/common/classDirectionalComboBox.rst.txt b/docs/_sources/api/common/classDirectionalComboBox.rst.txt new file mode 100644 index 000000000..4307f660d --- /dev/null +++ b/docs/_sources/api/common/classDirectionalComboBox.rst.txt @@ -0,0 +1,4 @@ +DirectionalComboBox +=================== + +.. doxygenclass:: DirectionalComboBox diff --git a/docs/_sources/api/common/classDisassemblyTextBlockUserData.rst.txt b/docs/_sources/api/common/classDisassemblyTextBlockUserData.rst.txt new file mode 100644 index 000000000..b087d4ac3 --- /dev/null +++ b/docs/_sources/api/common/classDisassemblyTextBlockUserData.rst.txt @@ -0,0 +1,4 @@ +DisassemblyTextBlockUserData +============================ + +.. doxygenclass:: DisassemblyTextBlockUserData diff --git a/docs/_sources/api/common/classFallbackSyntaxHighlighter.rst.txt b/docs/_sources/api/common/classFallbackSyntaxHighlighter.rst.txt new file mode 100644 index 000000000..19c3305ce --- /dev/null +++ b/docs/_sources/api/common/classFallbackSyntaxHighlighter.rst.txt @@ -0,0 +1,4 @@ +FallbackSyntaxHighlighter +========================= + +.. doxygenclass:: FallbackSyntaxHighlighter diff --git a/docs/_sources/api/common/classFunctionsTask.rst.txt b/docs/_sources/api/common/classFunctionsTask.rst.txt new file mode 100644 index 000000000..97b526737 --- /dev/null +++ b/docs/_sources/api/common/classFunctionsTask.rst.txt @@ -0,0 +1,4 @@ +FunctionsTask +============= + +.. doxygenclass:: FunctionsTask diff --git a/docs/_sources/api/common/classHighDpiPixmap.rst.txt b/docs/_sources/api/common/classHighDpiPixmap.rst.txt new file mode 100644 index 000000000..864c33084 --- /dev/null +++ b/docs/_sources/api/common/classHighDpiPixmap.rst.txt @@ -0,0 +1,4 @@ +HighDpiPixmap +============= + +.. doxygenclass:: HighDpiPixmap diff --git a/docs/_sources/api/common/classHighlighter.rst.txt b/docs/_sources/api/common/classHighlighter.rst.txt new file mode 100644 index 000000000..9c58a0cc7 --- /dev/null +++ b/docs/_sources/api/common/classHighlighter.rst.txt @@ -0,0 +1,4 @@ +Highlighter +=========== + +.. doxygenclass:: Highlighter diff --git a/docs/_sources/api/common/classIOModesController.rst.txt b/docs/_sources/api/common/classIOModesController.rst.txt new file mode 100644 index 000000000..be87e3d36 --- /dev/null +++ b/docs/_sources/api/common/classIOModesController.rst.txt @@ -0,0 +1,4 @@ +IOModesController +================= + +.. doxygenclass:: IOModesController diff --git a/docs/_sources/api/common/classLazySegmentTreeBase.rst.txt b/docs/_sources/api/common/classLazySegmentTreeBase.rst.txt new file mode 100644 index 000000000..cd28c2fd8 --- /dev/null +++ b/docs/_sources/api/common/classLazySegmentTreeBase.rst.txt @@ -0,0 +1,4 @@ +LazySegmentTreeBase +=================== + +.. doxygenclass:: LazySegmentTreeBase diff --git a/docs/_sources/api/common/classLinkedListPool.rst.txt b/docs/_sources/api/common/classLinkedListPool.rst.txt new file mode 100644 index 000000000..678ab59d2 --- /dev/null +++ b/docs/_sources/api/common/classLinkedListPool.rst.txt @@ -0,0 +1,4 @@ +LinkedListPool +============== + +.. doxygenclass:: LinkedListPool diff --git a/docs/_sources/api/common/classLinkedListPool_1_1List.rst.txt b/docs/_sources/api/common/classLinkedListPool_1_1List.rst.txt new file mode 100644 index 000000000..e5bc7e7bc --- /dev/null +++ b/docs/_sources/api/common/classLinkedListPool_1_1List.rst.txt @@ -0,0 +1,4 @@ +LinkedListPool::List +==================== + +.. doxygenclass:: LinkedListPool::List diff --git a/docs/_sources/api/common/classLinkedListPool_1_1ListIterator.rst.txt b/docs/_sources/api/common/classLinkedListPool_1_1ListIterator.rst.txt new file mode 100644 index 000000000..3162b821d --- /dev/null +++ b/docs/_sources/api/common/classLinkedListPool_1_1ListIterator.rst.txt @@ -0,0 +1,4 @@ +LinkedListPool::ListIterator +============================ + +.. doxygenclass:: LinkedListPool::ListIterator diff --git a/docs/_sources/api/common/classMdHighlighter.rst.txt b/docs/_sources/api/common/classMdHighlighter.rst.txt new file mode 100644 index 000000000..e3fbff22e --- /dev/null +++ b/docs/_sources/api/common/classMdHighlighter.rst.txt @@ -0,0 +1,4 @@ +MdHighlighter +============= + +.. doxygenclass:: MdHighlighter diff --git a/docs/_sources/api/common/classMinMaxAccumulateTree.rst.txt b/docs/_sources/api/common/classMinMaxAccumulateTree.rst.txt new file mode 100644 index 000000000..81749ccbb --- /dev/null +++ b/docs/_sources/api/common/classMinMaxAccumulateTree.rst.txt @@ -0,0 +1,4 @@ +MinMaxAccumulateTree +==================== + +.. doxygenclass:: MinMaxAccumulateTree diff --git a/docs/_sources/api/common/classPointSetMinTree.rst.txt b/docs/_sources/api/common/classPointSetMinTree.rst.txt new file mode 100644 index 000000000..64e448fe2 --- /dev/null +++ b/docs/_sources/api/common/classPointSetMinTree.rst.txt @@ -0,0 +1,4 @@ +PointSetMinTree +=============== + +.. doxygenclass:: PointSetMinTree diff --git a/docs/_sources/api/common/classPointSetSegmentTree.rst.txt b/docs/_sources/api/common/classPointSetSegmentTree.rst.txt new file mode 100644 index 000000000..8053c5b95 --- /dev/null +++ b/docs/_sources/api/common/classPointSetSegmentTree.rst.txt @@ -0,0 +1,4 @@ +PointSetSegmentTree +=================== + +.. doxygenclass:: PointSetSegmentTree diff --git a/docs/_sources/api/common/classProgressIndicator.rst.txt b/docs/_sources/api/common/classProgressIndicator.rst.txt new file mode 100644 index 000000000..3b9daeb1b --- /dev/null +++ b/docs/_sources/api/common/classProgressIndicator.rst.txt @@ -0,0 +1,4 @@ +ProgressIndicator +================= + +.. doxygenclass:: ProgressIndicator diff --git a/docs/_sources/api/common/classRangeAssignMaxTree.rst.txt b/docs/_sources/api/common/classRangeAssignMaxTree.rst.txt new file mode 100644 index 000000000..b00dca722 --- /dev/null +++ b/docs/_sources/api/common/classRangeAssignMaxTree.rst.txt @@ -0,0 +1,4 @@ +RangeAssignMaxTree +================== + +.. doxygenclass:: RangeAssignMaxTree diff --git a/docs/_sources/api/common/classRefreshDeferrer.rst.txt b/docs/_sources/api/common/classRefreshDeferrer.rst.txt new file mode 100644 index 000000000..21e12ad0d --- /dev/null +++ b/docs/_sources/api/common/classRefreshDeferrer.rst.txt @@ -0,0 +1,4 @@ +RefreshDeferrer +=============== + +.. doxygenclass:: RefreshDeferrer diff --git a/docs/_sources/api/common/classRefreshDeferrerAccumulator.rst.txt b/docs/_sources/api/common/classRefreshDeferrerAccumulator.rst.txt new file mode 100644 index 000000000..4e6bcf231 --- /dev/null +++ b/docs/_sources/api/common/classRefreshDeferrerAccumulator.rst.txt @@ -0,0 +1,4 @@ +RefreshDeferrerAccumulator +========================== + +.. doxygenclass:: RefreshDeferrerAccumulator diff --git a/docs/_sources/api/common/classReplacingRefreshDeferrerAccumulator.rst.txt b/docs/_sources/api/common/classReplacingRefreshDeferrerAccumulator.rst.txt new file mode 100644 index 000000000..d2de9fe46 --- /dev/null +++ b/docs/_sources/api/common/classReplacingRefreshDeferrerAccumulator.rst.txt @@ -0,0 +1,4 @@ +ReplacingRefreshDeferrerAccumulator +=================================== + +.. doxygenclass:: ReplacingRefreshDeferrerAccumulator diff --git a/docs/_sources/api/common/classRichTextPainter.rst.txt b/docs/_sources/api/common/classRichTextPainter.rst.txt new file mode 100644 index 000000000..f717e02c5 --- /dev/null +++ b/docs/_sources/api/common/classRichTextPainter.rst.txt @@ -0,0 +1,4 @@ +RichTextPainter +=============== + +.. doxygenclass:: RichTextPainter diff --git a/docs/_sources/api/common/classRizinCmdTask.rst.txt b/docs/_sources/api/common/classRizinCmdTask.rst.txt new file mode 100644 index 000000000..7f4fc23f4 --- /dev/null +++ b/docs/_sources/api/common/classRizinCmdTask.rst.txt @@ -0,0 +1,4 @@ +RizinCmdTask +============ + +.. doxygenclass:: RizinCmdTask diff --git a/docs/_sources/api/common/classRizinFunctionTask.rst.txt b/docs/_sources/api/common/classRizinFunctionTask.rst.txt new file mode 100644 index 000000000..b7f964422 --- /dev/null +++ b/docs/_sources/api/common/classRizinFunctionTask.rst.txt @@ -0,0 +1,4 @@ +RizinFunctionTask +================= + +.. doxygenclass:: RizinFunctionTask diff --git a/docs/_sources/api/common/classRizinTask.rst.txt b/docs/_sources/api/common/classRizinTask.rst.txt new file mode 100644 index 000000000..cd7400a0e --- /dev/null +++ b/docs/_sources/api/common/classRizinTask.rst.txt @@ -0,0 +1,4 @@ +RizinTask +========= + +.. doxygenclass:: RizinTask diff --git a/docs/_sources/api/common/classRunScriptTask.rst.txt b/docs/_sources/api/common/classRunScriptTask.rst.txt new file mode 100644 index 000000000..9195ff555 --- /dev/null +++ b/docs/_sources/api/common/classRunScriptTask.rst.txt @@ -0,0 +1,4 @@ +RunScriptTask +============= + +.. doxygenclass:: RunScriptTask diff --git a/docs/_sources/api/common/classSegmentTreeBase.rst.txt b/docs/_sources/api/common/classSegmentTreeBase.rst.txt new file mode 100644 index 000000000..5bd7cdec3 --- /dev/null +++ b/docs/_sources/api/common/classSegmentTreeBase.rst.txt @@ -0,0 +1,4 @@ +SegmentTreeBase +=============== + +.. doxygenclass:: SegmentTreeBase diff --git a/docs/_sources/api/common/classStringsTask.rst.txt b/docs/_sources/api/common/classStringsTask.rst.txt new file mode 100644 index 000000000..822999d51 --- /dev/null +++ b/docs/_sources/api/common/classStringsTask.rst.txt @@ -0,0 +1,4 @@ +StringsTask +=========== + +.. doxygenclass:: StringsTask diff --git a/docs/_sources/api/common/classSvgIconEngine.rst.txt b/docs/_sources/api/common/classSvgIconEngine.rst.txt new file mode 100644 index 000000000..13441f1eb --- /dev/null +++ b/docs/_sources/api/common/classSvgIconEngine.rst.txt @@ -0,0 +1,4 @@ +SvgIconEngine +============= + +.. doxygenclass:: SvgIconEngine diff --git a/docs/_sources/api/common/classTempConfig.rst.txt b/docs/_sources/api/common/classTempConfig.rst.txt new file mode 100644 index 000000000..0f12b5d2a --- /dev/null +++ b/docs/_sources/api/common/classTempConfig.rst.txt @@ -0,0 +1,4 @@ +TempConfig +========== + +.. doxygenclass:: TempConfig diff --git a/docs/_sources/api/common/classUpdateWorker.rst.txt b/docs/_sources/api/common/classUpdateWorker.rst.txt new file mode 100644 index 000000000..6a8215146 --- /dev/null +++ b/docs/_sources/api/common/classUpdateWorker.rst.txt @@ -0,0 +1,4 @@ +UpdateWorker +============ + +.. doxygenclass:: UpdateWorker diff --git a/docs/_sources/api/common/structBasicBlockHighlighter_1_1BasicBlock.rst.txt b/docs/_sources/api/common/structBasicBlockHighlighter_1_1BasicBlock.rst.txt new file mode 100644 index 000000000..3e98552f5 --- /dev/null +++ b/docs/_sources/api/common/structBasicBlockHighlighter_1_1BasicBlock.rst.txt @@ -0,0 +1,4 @@ +BasicBlockHighlighter::BasicBlock +================================= + +.. doxygenstruct:: BasicBlockHighlighter::BasicBlock diff --git a/docs/_sources/api/common/structBasicInstruction.rst.txt b/docs/_sources/api/common/structBasicInstruction.rst.txt new file mode 100644 index 000000000..79a4e3aff --- /dev/null +++ b/docs/_sources/api/common/structBasicInstruction.rst.txt @@ -0,0 +1,4 @@ +BasicInstruction +================ + +.. doxygenstruct:: BasicInstruction diff --git a/docs/_sources/api/common/structCommandDescription.rst.txt b/docs/_sources/api/common/structCommandDescription.rst.txt new file mode 100644 index 000000000..4b4e44600 --- /dev/null +++ b/docs/_sources/api/common/structCommandDescription.rst.txt @@ -0,0 +1,4 @@ +CommandDescription +================== + +.. doxygenstruct:: CommandDescription diff --git a/docs/_sources/api/common/structCutterInterfaceTheme.rst.txt b/docs/_sources/api/common/structCutterInterfaceTheme.rst.txt new file mode 100644 index 000000000..de4f9ab7d --- /dev/null +++ b/docs/_sources/api/common/structCutterInterfaceTheme.rst.txt @@ -0,0 +1,4 @@ +CutterInterfaceTheme +==================== + +.. doxygenstruct:: CutterInterfaceTheme diff --git a/docs/_sources/api/common/structCutter_1_1CutterLayout.rst.txt b/docs/_sources/api/common/structCutter_1_1CutterLayout.rst.txt new file mode 100644 index 000000000..cef5311b3 --- /dev/null +++ b/docs/_sources/api/common/structCutter_1_1CutterLayout.rst.txt @@ -0,0 +1,4 @@ +Cutter::CutterLayout +==================== + +.. doxygenstruct:: Cutter::CutterLayout diff --git a/docs/_sources/api/common/structFallbackSyntaxHighlighter_1_1HighlightingRule.rst.txt b/docs/_sources/api/common/structFallbackSyntaxHighlighter_1_1HighlightingRule.rst.txt new file mode 100644 index 000000000..26cb4244d --- /dev/null +++ b/docs/_sources/api/common/structFallbackSyntaxHighlighter_1_1HighlightingRule.rst.txt @@ -0,0 +1,4 @@ +FallbackSyntaxHighlighter::HighlightingRule +=========================================== + +.. doxygenstruct:: FallbackSyntaxHighlighter::HighlightingRule diff --git a/docs/_sources/api/common/structHighlighter_1_1HighlightingRule.rst.txt b/docs/_sources/api/common/structHighlighter_1_1HighlightingRule.rst.txt new file mode 100644 index 000000000..9f0a90704 --- /dev/null +++ b/docs/_sources/api/common/structHighlighter_1_1HighlightingRule.rst.txt @@ -0,0 +1,4 @@ +Highlighter::HighlightingRule +============================= + +.. doxygenstruct:: Highlighter::HighlightingRule diff --git a/docs/_sources/api/common/structInitialOptions.rst.txt b/docs/_sources/api/common/structInitialOptions.rst.txt new file mode 100644 index 000000000..abece54a0 --- /dev/null +++ b/docs/_sources/api/common/structInitialOptions.rst.txt @@ -0,0 +1,4 @@ +InitialOptions +============== + +.. doxygenstruct:: InitialOptions diff --git a/docs/_sources/api/common/structLinkedListPool_1_1Item.rst.txt b/docs/_sources/api/common/structLinkedListPool_1_1Item.rst.txt new file mode 100644 index 000000000..6059a0fe0 --- /dev/null +++ b/docs/_sources/api/common/structLinkedListPool_1_1Item.rst.txt @@ -0,0 +1,4 @@ +LinkedListPool::Item +==================== + +.. doxygenstruct:: LinkedListPool::Item diff --git a/docs/_sources/api/common/structMdHighlighter_1_1HighlightingRule.rst.txt b/docs/_sources/api/common/structMdHighlighter_1_1HighlightingRule.rst.txt new file mode 100644 index 000000000..9b73b78ed --- /dev/null +++ b/docs/_sources/api/common/structMdHighlighter_1_1HighlightingRule.rst.txt @@ -0,0 +1,4 @@ +MdHighlighter::HighlightingRule +=============================== + +.. doxygenstruct:: MdHighlighter::HighlightingRule diff --git a/docs/_sources/api/common/structMetrics.rst.txt b/docs/_sources/api/common/structMetrics.rst.txt new file mode 100644 index 000000000..5616bb41a --- /dev/null +++ b/docs/_sources/api/common/structMetrics.rst.txt @@ -0,0 +1,4 @@ +Metrics +======= + +.. doxygenstruct:: Metrics diff --git a/docs/_sources/api/common/structMetrics_3_01int_01_4.rst.txt b/docs/_sources/api/common/structMetrics_3_01int_01_4.rst.txt new file mode 100644 index 000000000..b00e19e9f --- /dev/null +++ b/docs/_sources/api/common/structMetrics_3_01int_01_4.rst.txt @@ -0,0 +1,4 @@ +Metrics< int > +============== + +.. doxygenstruct:: Metrics< int > diff --git a/docs/_sources/api/common/structMetrics_3_01qreal_01_4.rst.txt b/docs/_sources/api/common/structMetrics_3_01qreal_01_4.rst.txt new file mode 100644 index 000000000..ffe6973b3 --- /dev/null +++ b/docs/_sources/api/common/structMetrics_3_01qreal_01_4.rst.txt @@ -0,0 +1,4 @@ +Metrics< qreal > +================ + +.. doxygenstruct:: Metrics< qreal > diff --git a/docs/_sources/api/common/structRichTextPainter_1_1CustomRichText__t.rst.txt b/docs/_sources/api/common/structRichTextPainter_1_1CustomRichText__t.rst.txt new file mode 100644 index 000000000..3e76f2a7d --- /dev/null +++ b/docs/_sources/api/common/structRichTextPainter_1_1CustomRichText__t.rst.txt @@ -0,0 +1,4 @@ +RichTextPainter::CustomRichText_t +================================= + +.. doxygenstruct:: RichTextPainter::CustomRichText_t diff --git a/docs/_sources/api/common/structmmio__lookup__context.rst.txt b/docs/_sources/api/common/structmmio__lookup__context.rst.txt new file mode 100644 index 000000000..007188b2b --- /dev/null +++ b/docs/_sources/api/common/structmmio__lookup__context.rst.txt @@ -0,0 +1,4 @@ +mmio_lookup_context +=================== + +.. doxygenstruct:: mmio_lookup_context diff --git a/docs/_sources/api/common/structqhelpers_1_1SizePolicyMinMax.rst.txt b/docs/_sources/api/common/structqhelpers_1_1SizePolicyMinMax.rst.txt new file mode 100644 index 000000000..508336308 --- /dev/null +++ b/docs/_sources/api/common/structqhelpers_1_1SizePolicyMinMax.rst.txt @@ -0,0 +1,4 @@ +qhelpers::SizePolicyMinMax +========================== + +.. doxygenstruct:: qhelpers::SizePolicyMinMax diff --git a/docs/_sources/api/commonlist.rst.txt b/docs/_sources/api/commonlist.rst.txt new file mode 100644 index 000000000..4ac3c85b9 --- /dev/null +++ b/docs/_sources/api/commonlist.rst.txt @@ -0,0 +1,7 @@ +Common +====== + +.. toctree:: + :glob: + + common/* diff --git a/docs/_sources/api/core/classBasefind.rst.txt b/docs/_sources/api/core/classBasefind.rst.txt new file mode 100644 index 000000000..d279194fe --- /dev/null +++ b/docs/_sources/api/core/classBasefind.rst.txt @@ -0,0 +1,4 @@ +Basefind +======== + +.. doxygenclass:: Basefind diff --git a/docs/_sources/api/core/classCutterCore.rst.txt b/docs/_sources/api/core/classCutterCore.rst.txt new file mode 100644 index 000000000..15f65fc5e --- /dev/null +++ b/docs/_sources/api/core/classCutterCore.rst.txt @@ -0,0 +1,4 @@ +CutterCore +========== + +.. doxygenclass:: CutterCore diff --git a/docs/_sources/api/core/classCutterCore_1_1SeekReturn.rst.txt b/docs/_sources/api/core/classCutterCore_1_1SeekReturn.rst.txt new file mode 100644 index 000000000..9dcf85642 --- /dev/null +++ b/docs/_sources/api/core/classCutterCore_1_1SeekReturn.rst.txt @@ -0,0 +1,4 @@ +CutterCore::SeekReturn +====================== + +.. doxygenclass:: CutterCore::SeekReturn diff --git a/docs/_sources/api/core/classCutterJson.rst.txt b/docs/_sources/api/core/classCutterJson.rst.txt new file mode 100644 index 000000000..d4e2cfaaa --- /dev/null +++ b/docs/_sources/api/core/classCutterJson.rst.txt @@ -0,0 +1,4 @@ +CutterJson +========== + +.. doxygenclass:: CutterJson diff --git a/docs/_sources/api/core/classCutterJsonOwner.rst.txt b/docs/_sources/api/core/classCutterJsonOwner.rst.txt new file mode 100644 index 000000000..f159864bd --- /dev/null +++ b/docs/_sources/api/core/classCutterJsonOwner.rst.txt @@ -0,0 +1,4 @@ +CutterJsonOwner +=============== + +.. doxygenclass:: CutterJsonOwner diff --git a/docs/_sources/api/core/classCutterJson_1_1iterator.rst.txt b/docs/_sources/api/core/classCutterJson_1_1iterator.rst.txt new file mode 100644 index 000000000..4ab1e138c --- /dev/null +++ b/docs/_sources/api/core/classCutterJson_1_1iterator.rst.txt @@ -0,0 +1,4 @@ +CutterJson::iterator +==================== + +.. doxygenclass:: CutterJson::iterator diff --git a/docs/_sources/api/core/classCutterPVector.rst.txt b/docs/_sources/api/core/classCutterPVector.rst.txt new file mode 100644 index 000000000..c888df5b3 --- /dev/null +++ b/docs/_sources/api/core/classCutterPVector.rst.txt @@ -0,0 +1,4 @@ +CutterPVector +============= + +.. doxygenclass:: CutterPVector diff --git a/docs/_sources/api/core/classCutterPVector_1_1iterator.rst.txt b/docs/_sources/api/core/classCutterPVector_1_1iterator.rst.txt new file mode 100644 index 000000000..554a49a78 --- /dev/null +++ b/docs/_sources/api/core/classCutterPVector_1_1iterator.rst.txt @@ -0,0 +1,4 @@ +CutterPVector::iterator +======================= + +.. doxygenclass:: CutterPVector::iterator diff --git a/docs/_sources/api/core/classCutterRzIter.rst.txt b/docs/_sources/api/core/classCutterRzIter.rst.txt new file mode 100644 index 000000000..2d4d1eded --- /dev/null +++ b/docs/_sources/api/core/classCutterRzIter.rst.txt @@ -0,0 +1,4 @@ +CutterRzIter +============ + +.. doxygenclass:: CutterRzIter diff --git a/docs/_sources/api/core/classCutterRzList.rst.txt b/docs/_sources/api/core/classCutterRzList.rst.txt new file mode 100644 index 000000000..a4f9c5e85 --- /dev/null +++ b/docs/_sources/api/core/classCutterRzList.rst.txt @@ -0,0 +1,4 @@ +CutterRzList +============ + +.. doxygenclass:: CutterRzList diff --git a/docs/_sources/api/core/classCutterRzList_1_1iterator.rst.txt b/docs/_sources/api/core/classCutterRzList_1_1iterator.rst.txt new file mode 100644 index 000000000..a764d8886 --- /dev/null +++ b/docs/_sources/api/core/classCutterRzList_1_1iterator.rst.txt @@ -0,0 +1,4 @@ +CutterRzList::iterator +====================== + +.. doxygenclass:: CutterRzList::iterator diff --git a/docs/_sources/api/core/classFreeBinder.rst.txt b/docs/_sources/api/core/classFreeBinder.rst.txt new file mode 100644 index 000000000..6b04a4037 --- /dev/null +++ b/docs/_sources/api/core/classFreeBinder.rst.txt @@ -0,0 +1,4 @@ +FreeBinder +========== + +.. doxygenclass:: FreeBinder diff --git a/docs/_sources/api/core/classMainWindow.rst.txt b/docs/_sources/api/core/classMainWindow.rst.txt new file mode 100644 index 000000000..146ab8fba --- /dev/null +++ b/docs/_sources/api/core/classMainWindow.rst.txt @@ -0,0 +1,4 @@ +MainWindow +========== + +.. doxygenclass:: MainWindow diff --git a/docs/_sources/api/core/classRzCoreLocked.rst.txt b/docs/_sources/api/core/classRzCoreLocked.rst.txt new file mode 100644 index 000000000..13420177c --- /dev/null +++ b/docs/_sources/api/core/classRzCoreLocked.rst.txt @@ -0,0 +1,4 @@ +RzCoreLocked +============ + +.. doxygenclass:: RzCoreLocked diff --git a/docs/_sources/api/core/structAddrRefs.rst.txt b/docs/_sources/api/core/structAddrRefs.rst.txt new file mode 100644 index 000000000..91c3daacc --- /dev/null +++ b/docs/_sources/api/core/structAddrRefs.rst.txt @@ -0,0 +1,4 @@ +AddrRefs +======== + +.. doxygenstruct:: AddrRefs diff --git a/docs/_sources/api/core/structAnalysisBaseClassDescription.rst.txt b/docs/_sources/api/core/structAnalysisBaseClassDescription.rst.txt new file mode 100644 index 000000000..518e66ee8 --- /dev/null +++ b/docs/_sources/api/core/structAnalysisBaseClassDescription.rst.txt @@ -0,0 +1,4 @@ +AnalysisBaseClassDescription +============================ + +.. doxygenstruct:: AnalysisBaseClassDescription diff --git a/docs/_sources/api/core/structAnalysisMethodDescription.rst.txt b/docs/_sources/api/core/structAnalysisMethodDescription.rst.txt new file mode 100644 index 000000000..06980e80e --- /dev/null +++ b/docs/_sources/api/core/structAnalysisMethodDescription.rst.txt @@ -0,0 +1,4 @@ +AnalysisMethodDescription +========================= + +.. doxygenstruct:: AnalysisMethodDescription diff --git a/docs/_sources/api/core/structAnalysisVTableDescription.rst.txt b/docs/_sources/api/core/structAnalysisVTableDescription.rst.txt new file mode 100644 index 000000000..6e7c10e09 --- /dev/null +++ b/docs/_sources/api/core/structAnalysisVTableDescription.rst.txt @@ -0,0 +1,4 @@ +AnalysisVTableDescription +========================= + +.. doxygenstruct:: AnalysisVTableDescription diff --git a/docs/_sources/api/core/structArena.rst.txt b/docs/_sources/api/core/structArena.rst.txt new file mode 100644 index 000000000..428504ea0 --- /dev/null +++ b/docs/_sources/api/core/structArena.rst.txt @@ -0,0 +1,4 @@ +Arena +===== + +.. doxygenstruct:: Arena diff --git a/docs/_sources/api/core/structBasefindCoreStatusDescription.rst.txt b/docs/_sources/api/core/structBasefindCoreStatusDescription.rst.txt new file mode 100644 index 000000000..6e26c8d4b --- /dev/null +++ b/docs/_sources/api/core/structBasefindCoreStatusDescription.rst.txt @@ -0,0 +1,4 @@ +BasefindCoreStatusDescription +============================= + +.. doxygenstruct:: BasefindCoreStatusDescription diff --git a/docs/_sources/api/core/structBasefindResultDescription.rst.txt b/docs/_sources/api/core/structBasefindResultDescription.rst.txt new file mode 100644 index 000000000..ca782c5ff --- /dev/null +++ b/docs/_sources/api/core/structBasefindResultDescription.rst.txt @@ -0,0 +1,4 @@ +BasefindResultDescription +========================= + +.. doxygenstruct:: BasefindResultDescription diff --git a/docs/_sources/api/core/structBinClassBaseClassDescription.rst.txt b/docs/_sources/api/core/structBinClassBaseClassDescription.rst.txt new file mode 100644 index 000000000..f2b0e59fb --- /dev/null +++ b/docs/_sources/api/core/structBinClassBaseClassDescription.rst.txt @@ -0,0 +1,4 @@ +BinClassBaseClassDescription +============================ + +.. doxygenstruct:: BinClassBaseClassDescription diff --git a/docs/_sources/api/core/structBinClassDescription.rst.txt b/docs/_sources/api/core/structBinClassDescription.rst.txt new file mode 100644 index 000000000..ea5a01d29 --- /dev/null +++ b/docs/_sources/api/core/structBinClassDescription.rst.txt @@ -0,0 +1,4 @@ +BinClassDescription +=================== + +.. doxygenstruct:: BinClassDescription diff --git a/docs/_sources/api/core/structBinClassFieldDescription.rst.txt b/docs/_sources/api/core/structBinClassFieldDescription.rst.txt new file mode 100644 index 000000000..b65fe7838 --- /dev/null +++ b/docs/_sources/api/core/structBinClassFieldDescription.rst.txt @@ -0,0 +1,4 @@ +BinClassFieldDescription +======================== + +.. doxygenstruct:: BinClassFieldDescription diff --git a/docs/_sources/api/core/structBinClassMethodDescription.rst.txt b/docs/_sources/api/core/structBinClassMethodDescription.rst.txt new file mode 100644 index 000000000..6acd5fc31 --- /dev/null +++ b/docs/_sources/api/core/structBinClassMethodDescription.rst.txt @@ -0,0 +1,4 @@ +BinClassMethodDescription +========================= + +.. doxygenstruct:: BinClassMethodDescription diff --git a/docs/_sources/api/core/structBlockDescription.rst.txt b/docs/_sources/api/core/structBlockDescription.rst.txt new file mode 100644 index 000000000..9fdbf5b97 --- /dev/null +++ b/docs/_sources/api/core/structBlockDescription.rst.txt @@ -0,0 +1,4 @@ +BlockDescription +================ + +.. doxygenstruct:: BlockDescription diff --git a/docs/_sources/api/core/structBlockStatistics.rst.txt b/docs/_sources/api/core/structBlockStatistics.rst.txt new file mode 100644 index 000000000..a87d9e29f --- /dev/null +++ b/docs/_sources/api/core/structBlockStatistics.rst.txt @@ -0,0 +1,4 @@ +BlockStatistics +=============== + +.. doxygenstruct:: BlockStatistics diff --git a/docs/_sources/api/core/structBreakpointDescription.rst.txt b/docs/_sources/api/core/structBreakpointDescription.rst.txt new file mode 100644 index 000000000..43e5b4d90 --- /dev/null +++ b/docs/_sources/api/core/structBreakpointDescription.rst.txt @@ -0,0 +1,4 @@ +BreakpointDescription +===================== + +.. doxygenstruct:: BreakpointDescription diff --git a/docs/_sources/api/core/structChunk.rst.txt b/docs/_sources/api/core/structChunk.rst.txt new file mode 100644 index 000000000..e56e2d58b --- /dev/null +++ b/docs/_sources/api/core/structChunk.rst.txt @@ -0,0 +1,4 @@ +Chunk +===== + +.. doxygenstruct:: Chunk diff --git a/docs/_sources/api/core/structCommentDescription.rst.txt b/docs/_sources/api/core/structCommentDescription.rst.txt new file mode 100644 index 000000000..1743320ca --- /dev/null +++ b/docs/_sources/api/core/structCommentDescription.rst.txt @@ -0,0 +1,4 @@ +CommentDescription +================== + +.. doxygenstruct:: CommentDescription diff --git a/docs/_sources/api/core/structDisassemblyLine.rst.txt b/docs/_sources/api/core/structDisassemblyLine.rst.txt new file mode 100644 index 000000000..fca669837 --- /dev/null +++ b/docs/_sources/api/core/structDisassemblyLine.rst.txt @@ -0,0 +1,4 @@ +DisassemblyLine +=============== + +.. doxygenstruct:: DisassemblyLine diff --git a/docs/_sources/api/core/structEntrypointDescription.rst.txt b/docs/_sources/api/core/structEntrypointDescription.rst.txt new file mode 100644 index 000000000..73325d01d --- /dev/null +++ b/docs/_sources/api/core/structEntrypointDescription.rst.txt @@ -0,0 +1,4 @@ +EntrypointDescription +===================== + +.. doxygenstruct:: EntrypointDescription diff --git a/docs/_sources/api/core/structExportDescription.rst.txt b/docs/_sources/api/core/structExportDescription.rst.txt new file mode 100644 index 000000000..508e2cef0 --- /dev/null +++ b/docs/_sources/api/core/structExportDescription.rst.txt @@ -0,0 +1,4 @@ +ExportDescription +================= + +.. doxygenstruct:: ExportDescription diff --git a/docs/_sources/api/core/structFlagDescription.rst.txt b/docs/_sources/api/core/structFlagDescription.rst.txt new file mode 100644 index 000000000..93b2b952d --- /dev/null +++ b/docs/_sources/api/core/structFlagDescription.rst.txt @@ -0,0 +1,4 @@ +FlagDescription +=============== + +.. doxygenstruct:: FlagDescription diff --git a/docs/_sources/api/core/structFlagspaceDescription.rst.txt b/docs/_sources/api/core/structFlagspaceDescription.rst.txt new file mode 100644 index 000000000..fed094dcc --- /dev/null +++ b/docs/_sources/api/core/structFlagspaceDescription.rst.txt @@ -0,0 +1,4 @@ +FlagspaceDescription +==================== + +.. doxygenstruct:: FlagspaceDescription diff --git a/docs/_sources/api/core/structFlirtDescription.rst.txt b/docs/_sources/api/core/structFlirtDescription.rst.txt new file mode 100644 index 000000000..50b7bc041 --- /dev/null +++ b/docs/_sources/api/core/structFlirtDescription.rst.txt @@ -0,0 +1,4 @@ +FlirtDescription +================ + +.. doxygenstruct:: FlirtDescription diff --git a/docs/_sources/api/core/structFunctionDescription.rst.txt b/docs/_sources/api/core/structFunctionDescription.rst.txt new file mode 100644 index 000000000..7b91326de --- /dev/null +++ b/docs/_sources/api/core/structFunctionDescription.rst.txt @@ -0,0 +1,4 @@ +FunctionDescription +=================== + +.. doxygenstruct:: FunctionDescription diff --git a/docs/_sources/api/core/structGlobalDescription.rst.txt b/docs/_sources/api/core/structGlobalDescription.rst.txt new file mode 100644 index 000000000..9efdf6de9 --- /dev/null +++ b/docs/_sources/api/core/structGlobalDescription.rst.txt @@ -0,0 +1,4 @@ +GlobalDescription +================= + +.. doxygenstruct:: GlobalDescription diff --git a/docs/_sources/api/core/structHeaderDescription.rst.txt b/docs/_sources/api/core/structHeaderDescription.rst.txt new file mode 100644 index 000000000..364b23f0f --- /dev/null +++ b/docs/_sources/api/core/structHeaderDescription.rst.txt @@ -0,0 +1,4 @@ +HeaderDescription +================= + +.. doxygenstruct:: HeaderDescription diff --git a/docs/_sources/api/core/structImportDescription.rst.txt b/docs/_sources/api/core/structImportDescription.rst.txt new file mode 100644 index 000000000..6a079fcd0 --- /dev/null +++ b/docs/_sources/api/core/structImportDescription.rst.txt @@ -0,0 +1,4 @@ +ImportDescription +================= + +.. doxygenstruct:: ImportDescription diff --git a/docs/_sources/api/core/structMemoryMapDescription.rst.txt b/docs/_sources/api/core/structMemoryMapDescription.rst.txt new file mode 100644 index 000000000..559ee0210 --- /dev/null +++ b/docs/_sources/api/core/structMemoryMapDescription.rst.txt @@ -0,0 +1,4 @@ +MemoryMapDescription +==================== + +.. doxygenstruct:: MemoryMapDescription diff --git a/docs/_sources/api/core/structProcessDescription.rst.txt b/docs/_sources/api/core/structProcessDescription.rst.txt new file mode 100644 index 000000000..f572bc5a8 --- /dev/null +++ b/docs/_sources/api/core/structProcessDescription.rst.txt @@ -0,0 +1,4 @@ +ProcessDescription +================== + +.. doxygenstruct:: ProcessDescription diff --git a/docs/_sources/api/core/structRefDescription.rst.txt b/docs/_sources/api/core/structRefDescription.rst.txt new file mode 100644 index 000000000..e62d3b2c3 --- /dev/null +++ b/docs/_sources/api/core/structRefDescription.rst.txt @@ -0,0 +1,4 @@ +RefDescription +============== + +.. doxygenstruct:: RefDescription diff --git a/docs/_sources/api/core/structRegisterRef.rst.txt b/docs/_sources/api/core/structRegisterRef.rst.txt new file mode 100644 index 000000000..2f565704e --- /dev/null +++ b/docs/_sources/api/core/structRegisterRef.rst.txt @@ -0,0 +1,4 @@ +RegisterRef +=========== + +.. doxygenstruct:: RegisterRef diff --git a/docs/_sources/api/core/structRegisterRefValueDescription.rst.txt b/docs/_sources/api/core/structRegisterRefValueDescription.rst.txt new file mode 100644 index 000000000..373962f1c --- /dev/null +++ b/docs/_sources/api/core/structRegisterRefValueDescription.rst.txt @@ -0,0 +1,4 @@ +RegisterRefValueDescription +=========================== + +.. doxygenstruct:: RegisterRefValueDescription diff --git a/docs/_sources/api/core/structRelocDescription.rst.txt b/docs/_sources/api/core/structRelocDescription.rst.txt new file mode 100644 index 000000000..1e63c0ea3 --- /dev/null +++ b/docs/_sources/api/core/structRelocDescription.rst.txt @@ -0,0 +1,4 @@ +RelocDescription +================ + +.. doxygenstruct:: RelocDescription diff --git a/docs/_sources/api/core/structResourcesDescription.rst.txt b/docs/_sources/api/core/structResourcesDescription.rst.txt new file mode 100644 index 000000000..23853bf97 --- /dev/null +++ b/docs/_sources/api/core/structResourcesDescription.rst.txt @@ -0,0 +1,4 @@ +ResourcesDescription +==================== + +.. doxygenstruct:: ResourcesDescription diff --git a/docs/_sources/api/core/structRzAsmPluginDescription.rst.txt b/docs/_sources/api/core/structRzAsmPluginDescription.rst.txt new file mode 100644 index 000000000..33ca16047 --- /dev/null +++ b/docs/_sources/api/core/structRzAsmPluginDescription.rst.txt @@ -0,0 +1,4 @@ +RzAsmPluginDescription +====================== + +.. doxygenstruct:: RzAsmPluginDescription diff --git a/docs/_sources/api/core/structRzBinPluginDescription.rst.txt b/docs/_sources/api/core/structRzBinPluginDescription.rst.txt new file mode 100644 index 000000000..7cb9b65e4 --- /dev/null +++ b/docs/_sources/api/core/structRzBinPluginDescription.rst.txt @@ -0,0 +1,4 @@ +RzBinPluginDescription +====================== + +.. doxygenstruct:: RzBinPluginDescription diff --git a/docs/_sources/api/core/structRzCorePluginDescription.rst.txt b/docs/_sources/api/core/structRzCorePluginDescription.rst.txt new file mode 100644 index 000000000..2be309a41 --- /dev/null +++ b/docs/_sources/api/core/structRzCorePluginDescription.rst.txt @@ -0,0 +1,4 @@ +RzCorePluginDescription +======================= + +.. doxygenstruct:: RzCorePluginDescription diff --git a/docs/_sources/api/core/structRzIOPluginDescription.rst.txt b/docs/_sources/api/core/structRzIOPluginDescription.rst.txt new file mode 100644 index 000000000..09b0e85c7 --- /dev/null +++ b/docs/_sources/api/core/structRzIOPluginDescription.rst.txt @@ -0,0 +1,4 @@ +RzIOPluginDescription +===================== + +.. doxygenstruct:: RzIOPluginDescription diff --git a/docs/_sources/api/core/structSearchDescription.rst.txt b/docs/_sources/api/core/structSearchDescription.rst.txt new file mode 100644 index 000000000..30f25aed8 --- /dev/null +++ b/docs/_sources/api/core/structSearchDescription.rst.txt @@ -0,0 +1,4 @@ +SearchDescription +================= + +.. doxygenstruct:: SearchDescription diff --git a/docs/_sources/api/core/structSectionDescription.rst.txt b/docs/_sources/api/core/structSectionDescription.rst.txt new file mode 100644 index 000000000..dfb7671e5 --- /dev/null +++ b/docs/_sources/api/core/structSectionDescription.rst.txt @@ -0,0 +1,4 @@ +SectionDescription +================== + +.. doxygenstruct:: SectionDescription diff --git a/docs/_sources/api/core/structSegmentDescription.rst.txt b/docs/_sources/api/core/structSegmentDescription.rst.txt new file mode 100644 index 000000000..5196bd43d --- /dev/null +++ b/docs/_sources/api/core/structSegmentDescription.rst.txt @@ -0,0 +1,4 @@ +SegmentDescription +================== + +.. doxygenstruct:: SegmentDescription diff --git a/docs/_sources/api/core/structStringDescription.rst.txt b/docs/_sources/api/core/structStringDescription.rst.txt new file mode 100644 index 000000000..96fd773f6 --- /dev/null +++ b/docs/_sources/api/core/structStringDescription.rst.txt @@ -0,0 +1,4 @@ +StringDescription +================= + +.. doxygenstruct:: StringDescription diff --git a/docs/_sources/api/core/structSymbolDescription.rst.txt b/docs/_sources/api/core/structSymbolDescription.rst.txt new file mode 100644 index 000000000..1077617bc --- /dev/null +++ b/docs/_sources/api/core/structSymbolDescription.rst.txt @@ -0,0 +1,4 @@ +SymbolDescription +================= + +.. doxygenstruct:: SymbolDescription diff --git a/docs/_sources/api/core/structTypeDescription.rst.txt b/docs/_sources/api/core/structTypeDescription.rst.txt new file mode 100644 index 000000000..0c1bfea2f --- /dev/null +++ b/docs/_sources/api/core/structTypeDescription.rst.txt @@ -0,0 +1,4 @@ +TypeDescription +=============== + +.. doxygenstruct:: TypeDescription diff --git a/docs/_sources/api/core/structVTableDescription.rst.txt b/docs/_sources/api/core/structVTableDescription.rst.txt new file mode 100644 index 000000000..9dd44bc56 --- /dev/null +++ b/docs/_sources/api/core/structVTableDescription.rst.txt @@ -0,0 +1,4 @@ +VTableDescription +================= + +.. doxygenstruct:: VTableDescription diff --git a/docs/_sources/api/core/structVariableDescription.rst.txt b/docs/_sources/api/core/structVariableDescription.rst.txt new file mode 100644 index 000000000..3e80d2e63 --- /dev/null +++ b/docs/_sources/api/core/structVariableDescription.rst.txt @@ -0,0 +1,4 @@ +VariableDescription +=================== + +.. doxygenstruct:: VariableDescription diff --git a/docs/_sources/api/core/structXrefDescription.rst.txt b/docs/_sources/api/core/structXrefDescription.rst.txt new file mode 100644 index 000000000..462a72de3 --- /dev/null +++ b/docs/_sources/api/core/structXrefDescription.rst.txt @@ -0,0 +1,4 @@ +XrefDescription +=============== + +.. doxygenstruct:: XrefDescription diff --git a/docs/_sources/api/corelist.rst.txt b/docs/_sources/api/corelist.rst.txt new file mode 100644 index 000000000..ffb751e4b --- /dev/null +++ b/docs/_sources/api/corelist.rst.txt @@ -0,0 +1,7 @@ +Core +==== + +.. toctree:: + :glob: + + core/* diff --git a/docs/_sources/api/dialogs/classAboutDialog.rst.txt b/docs/_sources/api/dialogs/classAboutDialog.rst.txt new file mode 100644 index 000000000..852f22b22 --- /dev/null +++ b/docs/_sources/api/dialogs/classAboutDialog.rst.txt @@ -0,0 +1,4 @@ +AboutDialog +=========== + +.. doxygenclass:: AboutDialog diff --git a/docs/_sources/api/dialogs/classArenaInfoDialog.rst.txt b/docs/_sources/api/dialogs/classArenaInfoDialog.rst.txt new file mode 100644 index 000000000..c30681314 --- /dev/null +++ b/docs/_sources/api/dialogs/classArenaInfoDialog.rst.txt @@ -0,0 +1,4 @@ +ArenaInfoDialog +=============== + +.. doxygenclass:: ArenaInfoDialog diff --git a/docs/_sources/api/dialogs/classAsyncTaskDialog.rst.txt b/docs/_sources/api/dialogs/classAsyncTaskDialog.rst.txt new file mode 100644 index 000000000..43efd7c85 --- /dev/null +++ b/docs/_sources/api/dialogs/classAsyncTaskDialog.rst.txt @@ -0,0 +1,4 @@ +AsyncTaskDialog +=============== + +.. doxygenclass:: AsyncTaskDialog diff --git a/docs/_sources/api/dialogs/classAttachProcDialog.rst.txt b/docs/_sources/api/dialogs/classAttachProcDialog.rst.txt new file mode 100644 index 000000000..6e27c8648 --- /dev/null +++ b/docs/_sources/api/dialogs/classAttachProcDialog.rst.txt @@ -0,0 +1,4 @@ +AttachProcDialog +================ + +.. doxygenclass:: AttachProcDialog diff --git a/docs/_sources/api/dialogs/classBase64EnDecodedWriteDialog.rst.txt b/docs/_sources/api/dialogs/classBase64EnDecodedWriteDialog.rst.txt new file mode 100644 index 000000000..0bbac0d7a --- /dev/null +++ b/docs/_sources/api/dialogs/classBase64EnDecodedWriteDialog.rst.txt @@ -0,0 +1,4 @@ +Base64EnDecodedWriteDialog +========================== + +.. doxygenclass:: Base64EnDecodedWriteDialog diff --git a/docs/_sources/api/dialogs/classBinsModel.rst.txt b/docs/_sources/api/dialogs/classBinsModel.rst.txt new file mode 100644 index 000000000..867943a8c --- /dev/null +++ b/docs/_sources/api/dialogs/classBinsModel.rst.txt @@ -0,0 +1,4 @@ +BinsModel +========= + +.. doxygenclass:: BinsModel diff --git a/docs/_sources/api/dialogs/classBreakpointsDialog.rst.txt b/docs/_sources/api/dialogs/classBreakpointsDialog.rst.txt new file mode 100644 index 000000000..080858dce --- /dev/null +++ b/docs/_sources/api/dialogs/classBreakpointsDialog.rst.txt @@ -0,0 +1,4 @@ +BreakpointsDialog +================= + +.. doxygenclass:: BreakpointsDialog diff --git a/docs/_sources/api/dialogs/classCommentsDialog.rst.txt b/docs/_sources/api/dialogs/classCommentsDialog.rst.txt new file mode 100644 index 000000000..753b4e176 --- /dev/null +++ b/docs/_sources/api/dialogs/classCommentsDialog.rst.txt @@ -0,0 +1,4 @@ +CommentsDialog +============== + +.. doxygenclass:: CommentsDialog diff --git a/docs/_sources/api/dialogs/classDuplicateFromOffsetDialog.rst.txt b/docs/_sources/api/dialogs/classDuplicateFromOffsetDialog.rst.txt new file mode 100644 index 000000000..0738df63a --- /dev/null +++ b/docs/_sources/api/dialogs/classDuplicateFromOffsetDialog.rst.txt @@ -0,0 +1,4 @@ +DuplicateFromOffsetDialog +========================= + +.. doxygenclass:: DuplicateFromOffsetDialog diff --git a/docs/_sources/api/dialogs/classEditFunctionDialog.rst.txt b/docs/_sources/api/dialogs/classEditFunctionDialog.rst.txt new file mode 100644 index 000000000..e24cb2e1f --- /dev/null +++ b/docs/_sources/api/dialogs/classEditFunctionDialog.rst.txt @@ -0,0 +1,4 @@ +EditFunctionDialog +================== + +.. doxygenclass:: EditFunctionDialog diff --git a/docs/_sources/api/dialogs/classEditInstructionDialog.rst.txt b/docs/_sources/api/dialogs/classEditInstructionDialog.rst.txt new file mode 100644 index 000000000..7a22e3f09 --- /dev/null +++ b/docs/_sources/api/dialogs/classEditInstructionDialog.rst.txt @@ -0,0 +1,4 @@ +EditInstructionDialog +===================== + +.. doxygenclass:: EditInstructionDialog diff --git a/docs/_sources/api/dialogs/classEditMethodDialog.rst.txt b/docs/_sources/api/dialogs/classEditMethodDialog.rst.txt new file mode 100644 index 000000000..f34f53d14 --- /dev/null +++ b/docs/_sources/api/dialogs/classEditMethodDialog.rst.txt @@ -0,0 +1,4 @@ +EditMethodDialog +================ + +.. doxygenclass:: EditMethodDialog diff --git a/docs/_sources/api/dialogs/classEditStringDialog.rst.txt b/docs/_sources/api/dialogs/classEditStringDialog.rst.txt new file mode 100644 index 000000000..a78067508 --- /dev/null +++ b/docs/_sources/api/dialogs/classEditStringDialog.rst.txt @@ -0,0 +1,4 @@ +EditStringDialog +================ + +.. doxygenclass:: EditStringDialog diff --git a/docs/_sources/api/dialogs/classEditVariablesDialog.rst.txt b/docs/_sources/api/dialogs/classEditVariablesDialog.rst.txt new file mode 100644 index 000000000..65d51e3bd --- /dev/null +++ b/docs/_sources/api/dialogs/classEditVariablesDialog.rst.txt @@ -0,0 +1,4 @@ +EditVariablesDialog +=================== + +.. doxygenclass:: EditVariablesDialog diff --git a/docs/_sources/api/dialogs/classFlagDialog.rst.txt b/docs/_sources/api/dialogs/classFlagDialog.rst.txt new file mode 100644 index 000000000..9ead9e445 --- /dev/null +++ b/docs/_sources/api/dialogs/classFlagDialog.rst.txt @@ -0,0 +1,4 @@ +FlagDialog +========== + +.. doxygenclass:: FlagDialog diff --git a/docs/_sources/api/dialogs/classGlibcHeapBinsDialog.rst.txt b/docs/_sources/api/dialogs/classGlibcHeapBinsDialog.rst.txt new file mode 100644 index 000000000..d9df8b604 --- /dev/null +++ b/docs/_sources/api/dialogs/classGlibcHeapBinsDialog.rst.txt @@ -0,0 +1,4 @@ +GlibcHeapBinsDialog +=================== + +.. doxygenclass:: GlibcHeapBinsDialog diff --git a/docs/_sources/api/dialogs/classGlibcHeapInfoDialog.rst.txt b/docs/_sources/api/dialogs/classGlibcHeapInfoDialog.rst.txt new file mode 100644 index 000000000..d1ae7ab5a --- /dev/null +++ b/docs/_sources/api/dialogs/classGlibcHeapInfoDialog.rst.txt @@ -0,0 +1,4 @@ +GlibcHeapInfoDialog +=================== + +.. doxygenclass:: GlibcHeapInfoDialog diff --git a/docs/_sources/api/dialogs/classGlobalVariableDialog.rst.txt b/docs/_sources/api/dialogs/classGlobalVariableDialog.rst.txt new file mode 100644 index 000000000..478426f76 --- /dev/null +++ b/docs/_sources/api/dialogs/classGlobalVariableDialog.rst.txt @@ -0,0 +1,4 @@ +GlobalVariableDialog +==================== + +.. doxygenclass:: GlobalVariableDialog diff --git a/docs/_sources/api/dialogs/classHexdumpRangeDialog.rst.txt b/docs/_sources/api/dialogs/classHexdumpRangeDialog.rst.txt new file mode 100644 index 000000000..70399639e --- /dev/null +++ b/docs/_sources/api/dialogs/classHexdumpRangeDialog.rst.txt @@ -0,0 +1,4 @@ +HexdumpRangeDialog +================== + +.. doxygenclass:: HexdumpRangeDialog diff --git a/docs/_sources/api/dialogs/classIncrementDecrementDialog.rst.txt b/docs/_sources/api/dialogs/classIncrementDecrementDialog.rst.txt new file mode 100644 index 000000000..0633106c8 --- /dev/null +++ b/docs/_sources/api/dialogs/classIncrementDecrementDialog.rst.txt @@ -0,0 +1,4 @@ +IncrementDecrementDialog +======================== + +.. doxygenclass:: IncrementDecrementDialog diff --git a/docs/_sources/api/dialogs/classInitialOptionsDialog.rst.txt b/docs/_sources/api/dialogs/classInitialOptionsDialog.rst.txt new file mode 100644 index 000000000..ed3d4ef8b --- /dev/null +++ b/docs/_sources/api/dialogs/classInitialOptionsDialog.rst.txt @@ -0,0 +1,4 @@ +InitialOptionsDialog +==================== + +.. doxygenclass:: InitialOptionsDialog diff --git a/docs/_sources/api/dialogs/classLayoutManager.rst.txt b/docs/_sources/api/dialogs/classLayoutManager.rst.txt new file mode 100644 index 000000000..25ef934e8 --- /dev/null +++ b/docs/_sources/api/dialogs/classLayoutManager.rst.txt @@ -0,0 +1,4 @@ +LayoutManager +============= + +.. doxygenclass:: LayoutManager diff --git a/docs/_sources/api/dialogs/classMapFileDialog.rst.txt b/docs/_sources/api/dialogs/classMapFileDialog.rst.txt new file mode 100644 index 000000000..c1c3bd34d --- /dev/null +++ b/docs/_sources/api/dialogs/classMapFileDialog.rst.txt @@ -0,0 +1,4 @@ +MapFileDialog +============= + +.. doxygenclass:: MapFileDialog diff --git a/docs/_sources/api/dialogs/classMultitypeFileSaveDialog.rst.txt b/docs/_sources/api/dialogs/classMultitypeFileSaveDialog.rst.txt new file mode 100644 index 000000000..6272bf0c4 --- /dev/null +++ b/docs/_sources/api/dialogs/classMultitypeFileSaveDialog.rst.txt @@ -0,0 +1,4 @@ +MultitypeFileSaveDialog +======================= + +.. doxygenclass:: MultitypeFileSaveDialog diff --git a/docs/_sources/api/dialogs/classNativeDebugDialog.rst.txt b/docs/_sources/api/dialogs/classNativeDebugDialog.rst.txt new file mode 100644 index 000000000..109af434f --- /dev/null +++ b/docs/_sources/api/dialogs/classNativeDebugDialog.rst.txt @@ -0,0 +1,4 @@ +NativeDebugDialog +================= + +.. doxygenclass:: NativeDebugDialog diff --git a/docs/_sources/api/dialogs/classNewFileDialog.rst.txt b/docs/_sources/api/dialogs/classNewFileDialog.rst.txt new file mode 100644 index 000000000..c895e6587 --- /dev/null +++ b/docs/_sources/api/dialogs/classNewFileDialog.rst.txt @@ -0,0 +1,4 @@ +NewFileDialog +============= + +.. doxygenclass:: NewFileDialog diff --git a/docs/_sources/api/dialogs/classProcessBeingAnalysedProxyModel.rst.txt b/docs/_sources/api/dialogs/classProcessBeingAnalysedProxyModel.rst.txt new file mode 100644 index 000000000..99563ae00 --- /dev/null +++ b/docs/_sources/api/dialogs/classProcessBeingAnalysedProxyModel.rst.txt @@ -0,0 +1,4 @@ +ProcessBeingAnalysedProxyModel +============================== + +.. doxygenclass:: ProcessBeingAnalysedProxyModel diff --git a/docs/_sources/api/dialogs/classProcessModel.rst.txt b/docs/_sources/api/dialogs/classProcessModel.rst.txt new file mode 100644 index 000000000..a66163402 --- /dev/null +++ b/docs/_sources/api/dialogs/classProcessModel.rst.txt @@ -0,0 +1,4 @@ +ProcessModel +============ + +.. doxygenclass:: ProcessModel diff --git a/docs/_sources/api/dialogs/classProcessProxyModel.rst.txt b/docs/_sources/api/dialogs/classProcessProxyModel.rst.txt new file mode 100644 index 000000000..23b84e6c6 --- /dev/null +++ b/docs/_sources/api/dialogs/classProcessProxyModel.rst.txt @@ -0,0 +1,4 @@ +ProcessProxyModel +================= + +.. doxygenclass:: ProcessProxyModel diff --git a/docs/_sources/api/dialogs/classRemoteDebugDialog.rst.txt b/docs/_sources/api/dialogs/classRemoteDebugDialog.rst.txt new file mode 100644 index 000000000..948397aae --- /dev/null +++ b/docs/_sources/api/dialogs/classRemoteDebugDialog.rst.txt @@ -0,0 +1,4 @@ +RemoteDebugDialog +================= + +.. doxygenclass:: RemoteDebugDialog diff --git a/docs/_sources/api/dialogs/classRizinPluginsDialog.rst.txt b/docs/_sources/api/dialogs/classRizinPluginsDialog.rst.txt new file mode 100644 index 000000000..535bf5119 --- /dev/null +++ b/docs/_sources/api/dialogs/classRizinPluginsDialog.rst.txt @@ -0,0 +1,4 @@ +RizinPluginsDialog +================== + +.. doxygenclass:: RizinPluginsDialog diff --git a/docs/_sources/api/dialogs/classRizinTaskDialog.rst.txt b/docs/_sources/api/dialogs/classRizinTaskDialog.rst.txt new file mode 100644 index 000000000..80de058e6 --- /dev/null +++ b/docs/_sources/api/dialogs/classRizinTaskDialog.rst.txt @@ -0,0 +1,4 @@ +RizinTaskDialog +=============== + +.. doxygenclass:: RizinTaskDialog diff --git a/docs/_sources/api/dialogs/classSetToDataDialog.rst.txt b/docs/_sources/api/dialogs/classSetToDataDialog.rst.txt new file mode 100644 index 000000000..cce3c5721 --- /dev/null +++ b/docs/_sources/api/dialogs/classSetToDataDialog.rst.txt @@ -0,0 +1,4 @@ +SetToDataDialog +=============== + +.. doxygenclass:: SetToDataDialog diff --git a/docs/_sources/api/dialogs/classTypesInteractionDialog.rst.txt b/docs/_sources/api/dialogs/classTypesInteractionDialog.rst.txt new file mode 100644 index 000000000..843fe6aa9 --- /dev/null +++ b/docs/_sources/api/dialogs/classTypesInteractionDialog.rst.txt @@ -0,0 +1,4 @@ +TypesInteractionDialog +====================== + +.. doxygenclass:: TypesInteractionDialog diff --git a/docs/_sources/api/dialogs/classVersionInfoDialog.rst.txt b/docs/_sources/api/dialogs/classVersionInfoDialog.rst.txt new file mode 100644 index 000000000..fae5c8b6e --- /dev/null +++ b/docs/_sources/api/dialogs/classVersionInfoDialog.rst.txt @@ -0,0 +1,4 @@ +VersionInfoDialog +================= + +.. doxygenclass:: VersionInfoDialog diff --git a/docs/_sources/api/dialogs/classWelcomeDialog.rst.txt b/docs/_sources/api/dialogs/classWelcomeDialog.rst.txt new file mode 100644 index 000000000..b87121491 --- /dev/null +++ b/docs/_sources/api/dialogs/classWelcomeDialog.rst.txt @@ -0,0 +1,4 @@ +WelcomeDialog +============= + +.. doxygenclass:: WelcomeDialog diff --git a/docs/_sources/api/dialogs/classXrefModel.rst.txt b/docs/_sources/api/dialogs/classXrefModel.rst.txt new file mode 100644 index 000000000..a34b9aa54 --- /dev/null +++ b/docs/_sources/api/dialogs/classXrefModel.rst.txt @@ -0,0 +1,4 @@ +XrefModel +========= + +.. doxygenclass:: XrefModel diff --git a/docs/_sources/api/dialogs/classXrefsDialog.rst.txt b/docs/_sources/api/dialogs/classXrefsDialog.rst.txt new file mode 100644 index 000000000..eba49a493 --- /dev/null +++ b/docs/_sources/api/dialogs/classXrefsDialog.rst.txt @@ -0,0 +1,4 @@ +XrefsDialog +=========== + +.. doxygenclass:: XrefsDialog diff --git a/docs/_sources/api/dialogs/structDbgBackend.rst.txt b/docs/_sources/api/dialogs/structDbgBackend.rst.txt new file mode 100644 index 000000000..cbbf8ac9a --- /dev/null +++ b/docs/_sources/api/dialogs/structDbgBackend.rst.txt @@ -0,0 +1,4 @@ +DbgBackend +========== + +.. doxygenstruct:: DbgBackend diff --git a/docs/_sources/api/dialogs/structInitialOptionsDialog_1_1AnalysisCommands.rst.txt b/docs/_sources/api/dialogs/structInitialOptionsDialog_1_1AnalysisCommands.rst.txt new file mode 100644 index 000000000..bb5257e74 --- /dev/null +++ b/docs/_sources/api/dialogs/structInitialOptionsDialog_1_1AnalysisCommands.rst.txt @@ -0,0 +1,4 @@ +InitialOptionsDialog::AnalysisCommands +====================================== + +.. doxygenstruct:: InitialOptionsDialog::AnalysisCommands diff --git a/docs/_sources/api/dialogs/structMultitypeFileSaveDialog_1_1TypeDescription.rst.txt b/docs/_sources/api/dialogs/structMultitypeFileSaveDialog_1_1TypeDescription.rst.txt new file mode 100644 index 000000000..3dd46cd7e --- /dev/null +++ b/docs/_sources/api/dialogs/structMultitypeFileSaveDialog_1_1TypeDescription.rst.txt @@ -0,0 +1,4 @@ +MultitypeFileSaveDialog::TypeDescription +======================================== + +.. doxygenstruct:: MultitypeFileSaveDialog::TypeDescription diff --git a/docs/_sources/api/dialogslist.rst.txt b/docs/_sources/api/dialogslist.rst.txt new file mode 100644 index 000000000..74171a75f --- /dev/null +++ b/docs/_sources/api/dialogslist.rst.txt @@ -0,0 +1,7 @@ +Dialogs +======= + +.. toctree:: + :glob: + + dialogs/* diff --git a/docs/_sources/api/menus/classAddressableItemContextMenu.rst.txt b/docs/_sources/api/menus/classAddressableItemContextMenu.rst.txt new file mode 100644 index 000000000..8d6df1570 --- /dev/null +++ b/docs/_sources/api/menus/classAddressableItemContextMenu.rst.txt @@ -0,0 +1,4 @@ +AddressableItemContextMenu +========================== + +.. doxygenclass:: AddressableItemContextMenu diff --git a/docs/_sources/api/menus/classDecompilerContextMenu.rst.txt b/docs/_sources/api/menus/classDecompilerContextMenu.rst.txt new file mode 100644 index 000000000..0535ad625 --- /dev/null +++ b/docs/_sources/api/menus/classDecompilerContextMenu.rst.txt @@ -0,0 +1,4 @@ +DecompilerContextMenu +===================== + +.. doxygenclass:: DecompilerContextMenu diff --git a/docs/_sources/api/menus/classDisassemblyContextMenu.rst.txt b/docs/_sources/api/menus/classDisassemblyContextMenu.rst.txt new file mode 100644 index 000000000..3e1520a9c --- /dev/null +++ b/docs/_sources/api/menus/classDisassemblyContextMenu.rst.txt @@ -0,0 +1,4 @@ +DisassemblyContextMenu +====================== + +.. doxygenclass:: DisassemblyContextMenu diff --git a/docs/_sources/api/menus/classFlirtContextMenu.rst.txt b/docs/_sources/api/menus/classFlirtContextMenu.rst.txt new file mode 100644 index 000000000..62e5810f8 --- /dev/null +++ b/docs/_sources/api/menus/classFlirtContextMenu.rst.txt @@ -0,0 +1,4 @@ +FlirtContextMenu +================ + +.. doxygenclass:: FlirtContextMenu diff --git a/docs/_sources/api/menus/structDisassemblyContextMenu_1_1DoRenameInfo.rst.txt b/docs/_sources/api/menus/structDisassemblyContextMenu_1_1DoRenameInfo.rst.txt new file mode 100644 index 000000000..94be5dba8 --- /dev/null +++ b/docs/_sources/api/menus/structDisassemblyContextMenu_1_1DoRenameInfo.rst.txt @@ -0,0 +1,4 @@ +DisassemblyContextMenu::DoRenameInfo +==================================== + +.. doxygenstruct:: DisassemblyContextMenu::DoRenameInfo diff --git a/docs/_sources/api/menus/structDisassemblyContextMenu_1_1ThingUsedHere.rst.txt b/docs/_sources/api/menus/structDisassemblyContextMenu_1_1ThingUsedHere.rst.txt new file mode 100644 index 000000000..830618213 --- /dev/null +++ b/docs/_sources/api/menus/structDisassemblyContextMenu_1_1ThingUsedHere.rst.txt @@ -0,0 +1,4 @@ +DisassemblyContextMenu::ThingUsedHere +===================================== + +.. doxygenstruct:: DisassemblyContextMenu::ThingUsedHere diff --git a/docs/_sources/api/menuslist.rst.txt b/docs/_sources/api/menuslist.rst.txt new file mode 100644 index 000000000..1097e37fd --- /dev/null +++ b/docs/_sources/api/menuslist.rst.txt @@ -0,0 +1,7 @@ +Menus +===== + +.. toctree:: + :glob: + + menus/* diff --git a/docs/_sources/api/plugins/classCutterPlugin.rst.txt b/docs/_sources/api/plugins/classCutterPlugin.rst.txt new file mode 100644 index 000000000..9a6fe3629 --- /dev/null +++ b/docs/_sources/api/plugins/classCutterPlugin.rst.txt @@ -0,0 +1,4 @@ +CutterPlugin +============ + +.. doxygenclass:: CutterPlugin diff --git a/docs/_sources/api/plugins/classPluginManager.rst.txt b/docs/_sources/api/plugins/classPluginManager.rst.txt new file mode 100644 index 000000000..e7b56d9c2 --- /dev/null +++ b/docs/_sources/api/plugins/classPluginManager.rst.txt @@ -0,0 +1,4 @@ +PluginManager +============= + +.. doxygenclass:: PluginManager diff --git a/docs/_sources/api/plugins/classPluginManager_1_1PluginTerminator.rst.txt b/docs/_sources/api/plugins/classPluginManager_1_1PluginTerminator.rst.txt new file mode 100644 index 000000000..126d11313 --- /dev/null +++ b/docs/_sources/api/plugins/classPluginManager_1_1PluginTerminator.rst.txt @@ -0,0 +1,4 @@ +PluginManager::PluginTerminator +=============================== + +.. doxygenclass:: PluginManager::PluginTerminator diff --git a/docs/_sources/api/pluginslist.rst.txt b/docs/_sources/api/pluginslist.rst.txt new file mode 100644 index 000000000..5266b2301 --- /dev/null +++ b/docs/_sources/api/pluginslist.rst.txt @@ -0,0 +1,7 @@ +Plugins +======= + +.. toctree:: + :glob: + + plugins/* diff --git a/docs/_sources/api/src/classCutterApplication.rst.txt b/docs/_sources/api/src/classCutterApplication.rst.txt new file mode 100644 index 000000000..2292c743b --- /dev/null +++ b/docs/_sources/api/src/classCutterApplication.rst.txt @@ -0,0 +1,4 @@ +CutterApplication +================= + +.. doxygenclass:: CutterApplication diff --git a/docs/_sources/api/src/classCutterProxyStyle.rst.txt b/docs/_sources/api/src/classCutterProxyStyle.rst.txt new file mode 100644 index 000000000..96a9cc851 --- /dev/null +++ b/docs/_sources/api/src/classCutterProxyStyle.rst.txt @@ -0,0 +1,4 @@ +CutterProxyStyle +================ + +.. doxygenclass:: CutterProxyStyle diff --git a/docs/_sources/api/src/structCutterCommandLineOptions.rst.txt b/docs/_sources/api/src/structCutterCommandLineOptions.rst.txt new file mode 100644 index 000000000..2da9042d2 --- /dev/null +++ b/docs/_sources/api/src/structCutterCommandLineOptions.rst.txt @@ -0,0 +1,4 @@ +CutterCommandLineOptions +======================== + +.. doxygenstruct:: CutterCommandLineOptions diff --git a/docs/_sources/api/srclist.rst.txt b/docs/_sources/api/srclist.rst.txt new file mode 100644 index 000000000..74f23c97c --- /dev/null +++ b/docs/_sources/api/srclist.rst.txt @@ -0,0 +1,7 @@ +Src +=== + +.. toctree:: + :glob: + + src/* diff --git a/docs/_sources/api/widgets/classAbstractAddrDock.rst.txt b/docs/_sources/api/widgets/classAbstractAddrDock.rst.txt new file mode 100644 index 000000000..5c49a18bb --- /dev/null +++ b/docs/_sources/api/widgets/classAbstractAddrDock.rst.txt @@ -0,0 +1,4 @@ +AbstractAddrDock +================ + +.. doxygenclass:: AbstractAddrDock diff --git a/docs/_sources/api/widgets/classAbstractData.rst.txt b/docs/_sources/api/widgets/classAbstractData.rst.txt new file mode 100644 index 000000000..d0f3a7798 --- /dev/null +++ b/docs/_sources/api/widgets/classAbstractData.rst.txt @@ -0,0 +1,4 @@ +AbstractData +============ + +.. doxygenclass:: AbstractData diff --git a/docs/_sources/api/widgets/classAddrDockScene.rst.txt b/docs/_sources/api/widgets/classAddrDockScene.rst.txt new file mode 100644 index 000000000..2e9f8ea02 --- /dev/null +++ b/docs/_sources/api/widgets/classAddrDockScene.rst.txt @@ -0,0 +1,4 @@ +AddrDockScene +============= + +.. doxygenclass:: AddrDockScene diff --git a/docs/_sources/api/widgets/classAddressableDockWidget.rst.txt b/docs/_sources/api/widgets/classAddressableDockWidget.rst.txt new file mode 100644 index 000000000..9792f3eb1 --- /dev/null +++ b/docs/_sources/api/widgets/classAddressableDockWidget.rst.txt @@ -0,0 +1,4 @@ +AddressableDockWidget +===================== + +.. doxygenclass:: AddressableDockWidget diff --git a/docs/_sources/api/widgets/classAddressableItemList.rst.txt b/docs/_sources/api/widgets/classAddressableItemList.rst.txt new file mode 100644 index 000000000..a6ee14470 --- /dev/null +++ b/docs/_sources/api/widgets/classAddressableItemList.rst.txt @@ -0,0 +1,4 @@ +AddressableItemList +=================== + +.. doxygenclass:: AddressableItemList diff --git a/docs/_sources/api/widgets/classAnalysisClassesModel.rst.txt b/docs/_sources/api/widgets/classAnalysisClassesModel.rst.txt new file mode 100644 index 000000000..290c86dc1 --- /dev/null +++ b/docs/_sources/api/widgets/classAnalysisClassesModel.rst.txt @@ -0,0 +1,4 @@ +AnalysisClassesModel +==================== + +.. doxygenclass:: AnalysisClassesModel diff --git a/docs/_sources/api/widgets/classBacktraceWidget.rst.txt b/docs/_sources/api/widgets/classBacktraceWidget.rst.txt new file mode 100644 index 000000000..7f3b4f11b --- /dev/null +++ b/docs/_sources/api/widgets/classBacktraceWidget.rst.txt @@ -0,0 +1,4 @@ +BacktraceWidget +=============== + +.. doxygenclass:: BacktraceWidget diff --git a/docs/_sources/api/widgets/classBinClassesModel.rst.txt b/docs/_sources/api/widgets/classBinClassesModel.rst.txt new file mode 100644 index 000000000..278a5f98a --- /dev/null +++ b/docs/_sources/api/widgets/classBinClassesModel.rst.txt @@ -0,0 +1,4 @@ +BinClassesModel +=============== + +.. doxygenclass:: BinClassesModel diff --git a/docs/_sources/api/widgets/classBoolTogggleDelegate.rst.txt b/docs/_sources/api/widgets/classBoolTogggleDelegate.rst.txt new file mode 100644 index 000000000..dba542a34 --- /dev/null +++ b/docs/_sources/api/widgets/classBoolTogggleDelegate.rst.txt @@ -0,0 +1,4 @@ +BoolTogggleDelegate +=================== + +.. doxygenclass:: BoolTogggleDelegate diff --git a/docs/_sources/api/widgets/classBreakpointModel.rst.txt b/docs/_sources/api/widgets/classBreakpointModel.rst.txt new file mode 100644 index 000000000..64488b6f9 --- /dev/null +++ b/docs/_sources/api/widgets/classBreakpointModel.rst.txt @@ -0,0 +1,4 @@ +BreakpointModel +=============== + +.. doxygenclass:: BreakpointModel diff --git a/docs/_sources/api/widgets/classBreakpointProxyModel.rst.txt b/docs/_sources/api/widgets/classBreakpointProxyModel.rst.txt new file mode 100644 index 000000000..63cf6ff25 --- /dev/null +++ b/docs/_sources/api/widgets/classBreakpointProxyModel.rst.txt @@ -0,0 +1,4 @@ +BreakpointProxyModel +==================== + +.. doxygenclass:: BreakpointProxyModel diff --git a/docs/_sources/api/widgets/classBreakpointWidget.rst.txt b/docs/_sources/api/widgets/classBreakpointWidget.rst.txt new file mode 100644 index 000000000..83a3d0e20 --- /dev/null +++ b/docs/_sources/api/widgets/classBreakpointWidget.rst.txt @@ -0,0 +1,4 @@ +BreakpointWidget +================ + +.. doxygenclass:: BreakpointWidget diff --git a/docs/_sources/api/widgets/classBufferData.rst.txt b/docs/_sources/api/widgets/classBufferData.rst.txt new file mode 100644 index 000000000..3d61bb057 --- /dev/null +++ b/docs/_sources/api/widgets/classBufferData.rst.txt @@ -0,0 +1,4 @@ +BufferData +========== + +.. doxygenclass:: BufferData diff --git a/docs/_sources/api/widgets/classCallGraphView.rst.txt b/docs/_sources/api/widgets/classCallGraphView.rst.txt new file mode 100644 index 000000000..d97666d1f --- /dev/null +++ b/docs/_sources/api/widgets/classCallGraphView.rst.txt @@ -0,0 +1,4 @@ +CallGraphView +============= + +.. doxygenclass:: CallGraphView diff --git a/docs/_sources/api/widgets/classCallGraphWidget.rst.txt b/docs/_sources/api/widgets/classCallGraphWidget.rst.txt new file mode 100644 index 000000000..ae6a80752 --- /dev/null +++ b/docs/_sources/api/widgets/classCallGraphWidget.rst.txt @@ -0,0 +1,4 @@ +CallGraphWidget +=============== + +.. doxygenclass:: CallGraphWidget diff --git a/docs/_sources/api/widgets/classClassesModel.rst.txt b/docs/_sources/api/widgets/classClassesModel.rst.txt new file mode 100644 index 000000000..1ed834be6 --- /dev/null +++ b/docs/_sources/api/widgets/classClassesModel.rst.txt @@ -0,0 +1,4 @@ +ClassesModel +============ + +.. doxygenclass:: ClassesModel diff --git a/docs/_sources/api/widgets/classClassesSortFilterProxyModel.rst.txt b/docs/_sources/api/widgets/classClassesSortFilterProxyModel.rst.txt new file mode 100644 index 000000000..ac931baed --- /dev/null +++ b/docs/_sources/api/widgets/classClassesSortFilterProxyModel.rst.txt @@ -0,0 +1,4 @@ +ClassesSortFilterProxyModel +=========================== + +.. doxygenclass:: ClassesSortFilterProxyModel diff --git a/docs/_sources/api/widgets/classClassesWidget.rst.txt b/docs/_sources/api/widgets/classClassesWidget.rst.txt new file mode 100644 index 000000000..ad3de6035 --- /dev/null +++ b/docs/_sources/api/widgets/classClassesWidget.rst.txt @@ -0,0 +1,4 @@ +ClassesWidget +============= + +.. doxygenclass:: ClassesWidget diff --git a/docs/_sources/api/widgets/classColorOptionDelegate.rst.txt b/docs/_sources/api/widgets/classColorOptionDelegate.rst.txt new file mode 100644 index 000000000..24b27205b --- /dev/null +++ b/docs/_sources/api/widgets/classColorOptionDelegate.rst.txt @@ -0,0 +1,4 @@ +ColorOptionDelegate +=================== + +.. doxygenclass:: ColorOptionDelegate diff --git a/docs/_sources/api/widgets/classColorPicker.rst.txt b/docs/_sources/api/widgets/classColorPicker.rst.txt new file mode 100644 index 000000000..87d3abdf8 --- /dev/null +++ b/docs/_sources/api/widgets/classColorPicker.rst.txt @@ -0,0 +1,4 @@ +ColorPicker +=========== + +.. doxygenclass:: ColorPicker diff --git a/docs/_sources/api/widgets/classColorPickerHelpers_1_1AlphaChannelBar.rst.txt b/docs/_sources/api/widgets/classColorPickerHelpers_1_1AlphaChannelBar.rst.txt new file mode 100644 index 000000000..0dfbcbef8 --- /dev/null +++ b/docs/_sources/api/widgets/classColorPickerHelpers_1_1AlphaChannelBar.rst.txt @@ -0,0 +1,4 @@ +ColorPickerHelpers::AlphaChannelBar +=================================== + +.. doxygenclass:: ColorPickerHelpers::AlphaChannelBar diff --git a/docs/_sources/api/widgets/classColorPickerHelpers_1_1ColorPickArea.rst.txt b/docs/_sources/api/widgets/classColorPickerHelpers_1_1ColorPickArea.rst.txt new file mode 100644 index 000000000..883fc0414 --- /dev/null +++ b/docs/_sources/api/widgets/classColorPickerHelpers_1_1ColorPickArea.rst.txt @@ -0,0 +1,4 @@ +ColorPickerHelpers::ColorPickArea +================================= + +.. doxygenclass:: ColorPickerHelpers::ColorPickArea diff --git a/docs/_sources/api/widgets/classColorPickerHelpers_1_1ColorPickWidgetAbstract.rst.txt b/docs/_sources/api/widgets/classColorPickerHelpers_1_1ColorPickWidgetAbstract.rst.txt new file mode 100644 index 000000000..70117c9ca --- /dev/null +++ b/docs/_sources/api/widgets/classColorPickerHelpers_1_1ColorPickWidgetAbstract.rst.txt @@ -0,0 +1,4 @@ +ColorPickerHelpers::ColorPickWidgetAbstract +=========================================== + +.. doxygenclass:: ColorPickerHelpers::ColorPickWidgetAbstract diff --git a/docs/_sources/api/widgets/classColorPickerHelpers_1_1ColorPickerWidget.rst.txt b/docs/_sources/api/widgets/classColorPickerHelpers_1_1ColorPickerWidget.rst.txt new file mode 100644 index 000000000..156fedb25 --- /dev/null +++ b/docs/_sources/api/widgets/classColorPickerHelpers_1_1ColorPickerWidget.rst.txt @@ -0,0 +1,4 @@ +ColorPickerHelpers::ColorPickerWidget +===================================== + +.. doxygenclass:: ColorPickerHelpers::ColorPickerWidget diff --git a/docs/_sources/api/widgets/classColorPickerHelpers_1_1ColorShowWidget.rst.txt b/docs/_sources/api/widgets/classColorPickerHelpers_1_1ColorShowWidget.rst.txt new file mode 100644 index 000000000..4dbc8bb6c --- /dev/null +++ b/docs/_sources/api/widgets/classColorPickerHelpers_1_1ColorShowWidget.rst.txt @@ -0,0 +1,4 @@ +ColorPickerHelpers::ColorShowWidget +=================================== + +.. doxygenclass:: ColorPickerHelpers::ColorShowWidget diff --git a/docs/_sources/api/widgets/classColorPickerHelpers_1_1ColorValueBar.rst.txt b/docs/_sources/api/widgets/classColorPickerHelpers_1_1ColorValueBar.rst.txt new file mode 100644 index 000000000..4996e4e4b --- /dev/null +++ b/docs/_sources/api/widgets/classColorPickerHelpers_1_1ColorValueBar.rst.txt @@ -0,0 +1,4 @@ +ColorPickerHelpers::ColorValueBar +================================= + +.. doxygenclass:: ColorPickerHelpers::ColorValueBar diff --git a/docs/_sources/api/widgets/classColorSettingsModel.rst.txt b/docs/_sources/api/widgets/classColorSettingsModel.rst.txt new file mode 100644 index 000000000..a298183fc --- /dev/null +++ b/docs/_sources/api/widgets/classColorSettingsModel.rst.txt @@ -0,0 +1,4 @@ +ColorSettingsModel +================== + +.. doxygenclass:: ColorSettingsModel diff --git a/docs/_sources/api/widgets/classColorThemeComboBox.rst.txt b/docs/_sources/api/widgets/classColorThemeComboBox.rst.txt new file mode 100644 index 000000000..d1e5d9f51 --- /dev/null +++ b/docs/_sources/api/widgets/classColorThemeComboBox.rst.txt @@ -0,0 +1,4 @@ +ColorThemeComboBox +================== + +.. doxygenclass:: ColorThemeComboBox diff --git a/docs/_sources/api/widgets/classColorThemeListView.rst.txt b/docs/_sources/api/widgets/classColorThemeListView.rst.txt new file mode 100644 index 000000000..b12bb4e63 --- /dev/null +++ b/docs/_sources/api/widgets/classColorThemeListView.rst.txt @@ -0,0 +1,4 @@ +ColorThemeListView +================== + +.. doxygenclass:: ColorThemeListView diff --git a/docs/_sources/api/widgets/classComboQuickFilterView.rst.txt b/docs/_sources/api/widgets/classComboQuickFilterView.rst.txt new file mode 100644 index 000000000..ad779e396 --- /dev/null +++ b/docs/_sources/api/widgets/classComboQuickFilterView.rst.txt @@ -0,0 +1,4 @@ +ComboQuickFilterView +==================== + +.. doxygenclass:: ComboQuickFilterView diff --git a/docs/_sources/api/widgets/classCommentsModel.rst.txt b/docs/_sources/api/widgets/classCommentsModel.rst.txt new file mode 100644 index 000000000..385a9b43e --- /dev/null +++ b/docs/_sources/api/widgets/classCommentsModel.rst.txt @@ -0,0 +1,4 @@ +CommentsModel +============= + +.. doxygenclass:: CommentsModel diff --git a/docs/_sources/api/widgets/classCommentsProxyModel.rst.txt b/docs/_sources/api/widgets/classCommentsProxyModel.rst.txt new file mode 100644 index 000000000..4e5fa6fea --- /dev/null +++ b/docs/_sources/api/widgets/classCommentsProxyModel.rst.txt @@ -0,0 +1,4 @@ +CommentsProxyModel +================== + +.. doxygenclass:: CommentsProxyModel diff --git a/docs/_sources/api/widgets/classCommentsWidget.rst.txt b/docs/_sources/api/widgets/classCommentsWidget.rst.txt new file mode 100644 index 000000000..b153ba55a --- /dev/null +++ b/docs/_sources/api/widgets/classCommentsWidget.rst.txt @@ -0,0 +1,4 @@ +CommentsWidget +============== + +.. doxygenclass:: CommentsWidget diff --git a/docs/_sources/api/widgets/classConsoleWidget.rst.txt b/docs/_sources/api/widgets/classConsoleWidget.rst.txt new file mode 100644 index 000000000..26e4ee503 --- /dev/null +++ b/docs/_sources/api/widgets/classConsoleWidget.rst.txt @@ -0,0 +1,4 @@ +ConsoleWidget +============= + +.. doxygenclass:: ConsoleWidget diff --git a/docs/_sources/api/widgets/classCutterDockWidget.rst.txt b/docs/_sources/api/widgets/classCutterDockWidget.rst.txt new file mode 100644 index 000000000..bae1f885c --- /dev/null +++ b/docs/_sources/api/widgets/classCutterDockWidget.rst.txt @@ -0,0 +1,4 @@ +CutterDockWidget +================ + +.. doxygenclass:: CutterDockWidget diff --git a/docs/_sources/api/widgets/classCutterGraphView.rst.txt b/docs/_sources/api/widgets/classCutterGraphView.rst.txt new file mode 100644 index 000000000..291c684cd --- /dev/null +++ b/docs/_sources/api/widgets/classCutterGraphView.rst.txt @@ -0,0 +1,4 @@ +CutterGraphView +=============== + +.. doxygenclass:: CutterGraphView diff --git a/docs/_sources/api/widgets/classCutterTreeView.rst.txt b/docs/_sources/api/widgets/classCutterTreeView.rst.txt new file mode 100644 index 000000000..001096a20 --- /dev/null +++ b/docs/_sources/api/widgets/classCutterTreeView.rst.txt @@ -0,0 +1,4 @@ +CutterTreeView +============== + +.. doxygenclass:: CutterTreeView diff --git a/docs/_sources/api/widgets/classCutterTreeWidget.rst.txt b/docs/_sources/api/widgets/classCutterTreeWidget.rst.txt new file mode 100644 index 000000000..b4e49a6ab --- /dev/null +++ b/docs/_sources/api/widgets/classCutterTreeWidget.rst.txt @@ -0,0 +1,4 @@ +CutterTreeWidget +================ + +.. doxygenclass:: CutterTreeWidget diff --git a/docs/_sources/api/widgets/classDashboard.rst.txt b/docs/_sources/api/widgets/classDashboard.rst.txt new file mode 100644 index 000000000..c622ffb93 --- /dev/null +++ b/docs/_sources/api/widgets/classDashboard.rst.txt @@ -0,0 +1,4 @@ +Dashboard +========= + +.. doxygenclass:: Dashboard diff --git a/docs/_sources/api/widgets/classDebugActions.rst.txt b/docs/_sources/api/widgets/classDebugActions.rst.txt new file mode 100644 index 000000000..e86a7e428 --- /dev/null +++ b/docs/_sources/api/widgets/classDebugActions.rst.txt @@ -0,0 +1,4 @@ +DebugActions +============ + +.. doxygenclass:: DebugActions diff --git a/docs/_sources/api/widgets/classDecompilerWidget.rst.txt b/docs/_sources/api/widgets/classDecompilerWidget.rst.txt new file mode 100644 index 000000000..6133afa44 --- /dev/null +++ b/docs/_sources/api/widgets/classDecompilerWidget.rst.txt @@ -0,0 +1,4 @@ +DecompilerWidget +================ + +.. doxygenclass:: DecompilerWidget diff --git a/docs/_sources/api/widgets/classDisassemblerGraphView.rst.txt b/docs/_sources/api/widgets/classDisassemblerGraphView.rst.txt new file mode 100644 index 000000000..0bd10411e --- /dev/null +++ b/docs/_sources/api/widgets/classDisassemblerGraphView.rst.txt @@ -0,0 +1,4 @@ +DisassemblerGraphView +===================== + +.. doxygenclass:: DisassemblerGraphView diff --git a/docs/_sources/api/widgets/classDisassemblyLeftPanel.rst.txt b/docs/_sources/api/widgets/classDisassemblyLeftPanel.rst.txt new file mode 100644 index 000000000..2ad30079d --- /dev/null +++ b/docs/_sources/api/widgets/classDisassemblyLeftPanel.rst.txt @@ -0,0 +1,4 @@ +DisassemblyLeftPanel +==================== + +.. doxygenclass:: DisassemblyLeftPanel diff --git a/docs/_sources/api/widgets/classDisassemblyScrollArea.rst.txt b/docs/_sources/api/widgets/classDisassemblyScrollArea.rst.txt new file mode 100644 index 000000000..b8db2746b --- /dev/null +++ b/docs/_sources/api/widgets/classDisassemblyScrollArea.rst.txt @@ -0,0 +1,4 @@ +DisassemblyScrollArea +===================== + +.. doxygenclass:: DisassemblyScrollArea diff --git a/docs/_sources/api/widgets/classDisassemblyTextEdit.rst.txt b/docs/_sources/api/widgets/classDisassemblyTextEdit.rst.txt new file mode 100644 index 000000000..1f5d202c8 --- /dev/null +++ b/docs/_sources/api/widgets/classDisassemblyTextEdit.rst.txt @@ -0,0 +1,4 @@ +DisassemblyTextEdit +=================== + +.. doxygenclass:: DisassemblyTextEdit diff --git a/docs/_sources/api/widgets/classDisassemblyWidget.rst.txt b/docs/_sources/api/widgets/classDisassemblyWidget.rst.txt new file mode 100644 index 000000000..970a16f57 --- /dev/null +++ b/docs/_sources/api/widgets/classDisassemblyWidget.rst.txt @@ -0,0 +1,4 @@ +DisassemblyWidget +================= + +.. doxygenclass:: DisassemblyWidget diff --git a/docs/_sources/api/widgets/classEntrypointWidget.rst.txt b/docs/_sources/api/widgets/classEntrypointWidget.rst.txt new file mode 100644 index 000000000..6f902bf2d --- /dev/null +++ b/docs/_sources/api/widgets/classEntrypointWidget.rst.txt @@ -0,0 +1,4 @@ +EntrypointWidget +================ + +.. doxygenclass:: EntrypointWidget diff --git a/docs/_sources/api/widgets/classExportsModel.rst.txt b/docs/_sources/api/widgets/classExportsModel.rst.txt new file mode 100644 index 000000000..24a13049d --- /dev/null +++ b/docs/_sources/api/widgets/classExportsModel.rst.txt @@ -0,0 +1,4 @@ +ExportsModel +============ + +.. doxygenclass:: ExportsModel diff --git a/docs/_sources/api/widgets/classExportsProxyModel.rst.txt b/docs/_sources/api/widgets/classExportsProxyModel.rst.txt new file mode 100644 index 000000000..78dd6e9e5 --- /dev/null +++ b/docs/_sources/api/widgets/classExportsProxyModel.rst.txt @@ -0,0 +1,4 @@ +ExportsProxyModel +================= + +.. doxygenclass:: ExportsProxyModel diff --git a/docs/_sources/api/widgets/classExportsWidget.rst.txt b/docs/_sources/api/widgets/classExportsWidget.rst.txt new file mode 100644 index 000000000..064a0b8f8 --- /dev/null +++ b/docs/_sources/api/widgets/classExportsWidget.rst.txt @@ -0,0 +1,4 @@ +ExportsWidget +============= + +.. doxygenclass:: ExportsWidget diff --git a/docs/_sources/api/widgets/classFlagsModel.rst.txt b/docs/_sources/api/widgets/classFlagsModel.rst.txt new file mode 100644 index 000000000..39e2ac19b --- /dev/null +++ b/docs/_sources/api/widgets/classFlagsModel.rst.txt @@ -0,0 +1,4 @@ +FlagsModel +========== + +.. doxygenclass:: FlagsModel diff --git a/docs/_sources/api/widgets/classFlagsSortFilterProxyModel.rst.txt b/docs/_sources/api/widgets/classFlagsSortFilterProxyModel.rst.txt new file mode 100644 index 000000000..cd54c74a9 --- /dev/null +++ b/docs/_sources/api/widgets/classFlagsSortFilterProxyModel.rst.txt @@ -0,0 +1,4 @@ +FlagsSortFilterProxyModel +========================= + +.. doxygenclass:: FlagsSortFilterProxyModel diff --git a/docs/_sources/api/widgets/classFlagsWidget.rst.txt b/docs/_sources/api/widgets/classFlagsWidget.rst.txt new file mode 100644 index 000000000..8bacbea4e --- /dev/null +++ b/docs/_sources/api/widgets/classFlagsWidget.rst.txt @@ -0,0 +1,4 @@ +FlagsWidget +=========== + +.. doxygenclass:: FlagsWidget diff --git a/docs/_sources/api/widgets/classFlirtModel.rst.txt b/docs/_sources/api/widgets/classFlirtModel.rst.txt new file mode 100644 index 000000000..1d6d344a7 --- /dev/null +++ b/docs/_sources/api/widgets/classFlirtModel.rst.txt @@ -0,0 +1,4 @@ +FlirtModel +========== + +.. doxygenclass:: FlirtModel diff --git a/docs/_sources/api/widgets/classFlirtProxyModel.rst.txt b/docs/_sources/api/widgets/classFlirtProxyModel.rst.txt new file mode 100644 index 000000000..a07ccab71 --- /dev/null +++ b/docs/_sources/api/widgets/classFlirtProxyModel.rst.txt @@ -0,0 +1,4 @@ +FlirtProxyModel +=============== + +.. doxygenclass:: FlirtProxyModel diff --git a/docs/_sources/api/widgets/classFlirtWidget.rst.txt b/docs/_sources/api/widgets/classFlirtWidget.rst.txt new file mode 100644 index 000000000..1d27ad4f9 --- /dev/null +++ b/docs/_sources/api/widgets/classFlirtWidget.rst.txt @@ -0,0 +1,4 @@ +FlirtWidget +=========== + +.. doxygenclass:: FlirtWidget diff --git a/docs/_sources/api/widgets/classFunctionModel.rst.txt b/docs/_sources/api/widgets/classFunctionModel.rst.txt new file mode 100644 index 000000000..56b6430d1 --- /dev/null +++ b/docs/_sources/api/widgets/classFunctionModel.rst.txt @@ -0,0 +1,4 @@ +FunctionModel +============= + +.. doxygenclass:: FunctionModel diff --git a/docs/_sources/api/widgets/classFunctionSortFilterProxyModel.rst.txt b/docs/_sources/api/widgets/classFunctionSortFilterProxyModel.rst.txt new file mode 100644 index 000000000..870acf921 --- /dev/null +++ b/docs/_sources/api/widgets/classFunctionSortFilterProxyModel.rst.txt @@ -0,0 +1,4 @@ +FunctionSortFilterProxyModel +============================ + +.. doxygenclass:: FunctionSortFilterProxyModel diff --git a/docs/_sources/api/widgets/classFunctionsWidget.rst.txt b/docs/_sources/api/widgets/classFunctionsWidget.rst.txt new file mode 100644 index 000000000..229dc09bb --- /dev/null +++ b/docs/_sources/api/widgets/classFunctionsWidget.rst.txt @@ -0,0 +1,4 @@ +FunctionsWidget +=============== + +.. doxygenclass:: FunctionsWidget diff --git a/docs/_sources/api/widgets/classGenericRizinGraphView.rst.txt b/docs/_sources/api/widgets/classGenericRizinGraphView.rst.txt new file mode 100644 index 000000000..ffd5e32c0 --- /dev/null +++ b/docs/_sources/api/widgets/classGenericRizinGraphView.rst.txt @@ -0,0 +1,4 @@ +GenericRizinGraphView +===================== + +.. doxygenclass:: GenericRizinGraphView diff --git a/docs/_sources/api/widgets/classGlibcHeapModel.rst.txt b/docs/_sources/api/widgets/classGlibcHeapModel.rst.txt new file mode 100644 index 000000000..55282d12a --- /dev/null +++ b/docs/_sources/api/widgets/classGlibcHeapModel.rst.txt @@ -0,0 +1,4 @@ +GlibcHeapModel +============== + +.. doxygenclass:: GlibcHeapModel diff --git a/docs/_sources/api/widgets/classGlibcHeapWidget.rst.txt b/docs/_sources/api/widgets/classGlibcHeapWidget.rst.txt new file mode 100644 index 000000000..3809ea894 --- /dev/null +++ b/docs/_sources/api/widgets/classGlibcHeapWidget.rst.txt @@ -0,0 +1,4 @@ +GlibcHeapWidget +=============== + +.. doxygenclass:: GlibcHeapWidget diff --git a/docs/_sources/api/widgets/classGlobalsModel.rst.txt b/docs/_sources/api/widgets/classGlobalsModel.rst.txt new file mode 100644 index 000000000..61680baea --- /dev/null +++ b/docs/_sources/api/widgets/classGlobalsModel.rst.txt @@ -0,0 +1,4 @@ +GlobalsModel +============ + +.. doxygenclass:: GlobalsModel diff --git a/docs/_sources/api/widgets/classGlobalsProxyModel.rst.txt b/docs/_sources/api/widgets/classGlobalsProxyModel.rst.txt new file mode 100644 index 000000000..dcbff45fd --- /dev/null +++ b/docs/_sources/api/widgets/classGlobalsProxyModel.rst.txt @@ -0,0 +1,4 @@ +GlobalsProxyModel +================= + +.. doxygenclass:: GlobalsProxyModel diff --git a/docs/_sources/api/widgets/classGlobalsWidget.rst.txt b/docs/_sources/api/widgets/classGlobalsWidget.rst.txt new file mode 100644 index 000000000..809328457 --- /dev/null +++ b/docs/_sources/api/widgets/classGlobalsWidget.rst.txt @@ -0,0 +1,4 @@ +GlobalsWidget +============= + +.. doxygenclass:: GlobalsWidget diff --git a/docs/_sources/api/widgets/classGraphGridLayout.rst.txt b/docs/_sources/api/widgets/classGraphGridLayout.rst.txt new file mode 100644 index 000000000..53e1d4f10 --- /dev/null +++ b/docs/_sources/api/widgets/classGraphGridLayout.rst.txt @@ -0,0 +1,4 @@ +GraphGridLayout +=============== + +.. doxygenclass:: GraphGridLayout diff --git a/docs/_sources/api/widgets/classGraphHorizontalAdapter.rst.txt b/docs/_sources/api/widgets/classGraphHorizontalAdapter.rst.txt new file mode 100644 index 000000000..2651a8897 --- /dev/null +++ b/docs/_sources/api/widgets/classGraphHorizontalAdapter.rst.txt @@ -0,0 +1,4 @@ +GraphHorizontalAdapter +====================== + +.. doxygenclass:: GraphHorizontalAdapter diff --git a/docs/_sources/api/widgets/classGraphLayout.rst.txt b/docs/_sources/api/widgets/classGraphLayout.rst.txt new file mode 100644 index 000000000..76a8f6767 --- /dev/null +++ b/docs/_sources/api/widgets/classGraphLayout.rst.txt @@ -0,0 +1,4 @@ +GraphLayout +=========== + +.. doxygenclass:: GraphLayout diff --git a/docs/_sources/api/widgets/classGraphView.rst.txt b/docs/_sources/api/widgets/classGraphView.rst.txt new file mode 100644 index 000000000..5c1b9f9b9 --- /dev/null +++ b/docs/_sources/api/widgets/classGraphView.rst.txt @@ -0,0 +1,4 @@ +GraphView +========= + +.. doxygenclass:: GraphView diff --git a/docs/_sources/api/widgets/classGraphWidget.rst.txt b/docs/_sources/api/widgets/classGraphWidget.rst.txt new file mode 100644 index 000000000..a27bb789c --- /dev/null +++ b/docs/_sources/api/widgets/classGraphWidget.rst.txt @@ -0,0 +1,4 @@ +GraphWidget +=========== + +.. doxygenclass:: GraphWidget diff --git a/docs/_sources/api/widgets/classGraphvizLayout.rst.txt b/docs/_sources/api/widgets/classGraphvizLayout.rst.txt new file mode 100644 index 000000000..22bf6e080 --- /dev/null +++ b/docs/_sources/api/widgets/classGraphvizLayout.rst.txt @@ -0,0 +1,4 @@ +GraphvizLayout +============== + +.. doxygenclass:: GraphvizLayout diff --git a/docs/_sources/api/widgets/classHeadersModel.rst.txt b/docs/_sources/api/widgets/classHeadersModel.rst.txt new file mode 100644 index 000000000..acc7de8b4 --- /dev/null +++ b/docs/_sources/api/widgets/classHeadersModel.rst.txt @@ -0,0 +1,4 @@ +HeadersModel +============ + +.. doxygenclass:: HeadersModel diff --git a/docs/_sources/api/widgets/classHeadersProxyModel.rst.txt b/docs/_sources/api/widgets/classHeadersProxyModel.rst.txt new file mode 100644 index 000000000..97b9bcdd8 --- /dev/null +++ b/docs/_sources/api/widgets/classHeadersProxyModel.rst.txt @@ -0,0 +1,4 @@ +HeadersProxyModel +================= + +.. doxygenclass:: HeadersProxyModel diff --git a/docs/_sources/api/widgets/classHeadersWidget.rst.txt b/docs/_sources/api/widgets/classHeadersWidget.rst.txt new file mode 100644 index 000000000..0b1c0f667 --- /dev/null +++ b/docs/_sources/api/widgets/classHeadersWidget.rst.txt @@ -0,0 +1,4 @@ +HeadersWidget +============= + +.. doxygenclass:: HeadersWidget diff --git a/docs/_sources/api/widgets/classHeapBinsGraphView.rst.txt b/docs/_sources/api/widgets/classHeapBinsGraphView.rst.txt new file mode 100644 index 000000000..5b87e0aad --- /dev/null +++ b/docs/_sources/api/widgets/classHeapBinsGraphView.rst.txt @@ -0,0 +1,4 @@ +HeapBinsGraphView +================= + +.. doxygenclass:: HeapBinsGraphView diff --git a/docs/_sources/api/widgets/classHeapDockWidget.rst.txt b/docs/_sources/api/widgets/classHeapDockWidget.rst.txt new file mode 100644 index 000000000..42ca0ad44 --- /dev/null +++ b/docs/_sources/api/widgets/classHeapDockWidget.rst.txt @@ -0,0 +1,4 @@ +HeapDockWidget +============== + +.. doxygenclass:: HeapDockWidget diff --git a/docs/_sources/api/widgets/classHexSelection.rst.txt b/docs/_sources/api/widgets/classHexSelection.rst.txt new file mode 100644 index 000000000..47b1c0349 --- /dev/null +++ b/docs/_sources/api/widgets/classHexSelection.rst.txt @@ -0,0 +1,4 @@ +HexSelection +============ + +.. doxygenclass:: HexSelection diff --git a/docs/_sources/api/widgets/classHexWidget.rst.txt b/docs/_sources/api/widgets/classHexWidget.rst.txt new file mode 100644 index 000000000..d6fd8070f --- /dev/null +++ b/docs/_sources/api/widgets/classHexWidget.rst.txt @@ -0,0 +1,4 @@ +HexWidget +========= + +.. doxygenclass:: HexWidget diff --git a/docs/_sources/api/widgets/classHexdumpWidget.rst.txt b/docs/_sources/api/widgets/classHexdumpWidget.rst.txt new file mode 100644 index 000000000..a37ad96c0 --- /dev/null +++ b/docs/_sources/api/widgets/classHexdumpWidget.rst.txt @@ -0,0 +1,4 @@ +HexdumpWidget +============= + +.. doxygenclass:: HexdumpWidget diff --git a/docs/_sources/api/widgets/classImportsModel.rst.txt b/docs/_sources/api/widgets/classImportsModel.rst.txt new file mode 100644 index 000000000..3235c52f1 --- /dev/null +++ b/docs/_sources/api/widgets/classImportsModel.rst.txt @@ -0,0 +1,4 @@ +ImportsModel +============ + +.. doxygenclass:: ImportsModel diff --git a/docs/_sources/api/widgets/classImportsProxyModel.rst.txt b/docs/_sources/api/widgets/classImportsProxyModel.rst.txt new file mode 100644 index 000000000..ba4921cb5 --- /dev/null +++ b/docs/_sources/api/widgets/classImportsProxyModel.rst.txt @@ -0,0 +1,4 @@ +ImportsProxyModel +================= + +.. doxygenclass:: ImportsProxyModel diff --git a/docs/_sources/api/widgets/classImportsWidget.rst.txt b/docs/_sources/api/widgets/classImportsWidget.rst.txt new file mode 100644 index 000000000..ae6961e11 --- /dev/null +++ b/docs/_sources/api/widgets/classImportsWidget.rst.txt @@ -0,0 +1,4 @@ +ImportsWidget +============= + +.. doxygenclass:: ImportsWidget diff --git a/docs/_sources/api/widgets/classListDockWidget.rst.txt b/docs/_sources/api/widgets/classListDockWidget.rst.txt new file mode 100644 index 000000000..5dd02c641 --- /dev/null +++ b/docs/_sources/api/widgets/classListDockWidget.rst.txt @@ -0,0 +1,4 @@ +ListDockWidget +============== + +.. doxygenclass:: ListDockWidget diff --git a/docs/_sources/api/widgets/classMemoryData.rst.txt b/docs/_sources/api/widgets/classMemoryData.rst.txt new file mode 100644 index 000000000..7d9d8c8e7 --- /dev/null +++ b/docs/_sources/api/widgets/classMemoryData.rst.txt @@ -0,0 +1,4 @@ +MemoryData +========== + +.. doxygenclass:: MemoryData diff --git a/docs/_sources/api/widgets/classMemoryDockWidget.rst.txt b/docs/_sources/api/widgets/classMemoryDockWidget.rst.txt new file mode 100644 index 000000000..ebe5d2f92 --- /dev/null +++ b/docs/_sources/api/widgets/classMemoryDockWidget.rst.txt @@ -0,0 +1,4 @@ +MemoryDockWidget +================ + +.. doxygenclass:: MemoryDockWidget diff --git a/docs/_sources/api/widgets/classMemoryMapModel.rst.txt b/docs/_sources/api/widgets/classMemoryMapModel.rst.txt new file mode 100644 index 000000000..4c4af56cf --- /dev/null +++ b/docs/_sources/api/widgets/classMemoryMapModel.rst.txt @@ -0,0 +1,4 @@ +MemoryMapModel +============== + +.. doxygenclass:: MemoryMapModel diff --git a/docs/_sources/api/widgets/classMemoryMapWidget.rst.txt b/docs/_sources/api/widgets/classMemoryMapWidget.rst.txt new file mode 100644 index 000000000..e0426d2c7 --- /dev/null +++ b/docs/_sources/api/widgets/classMemoryMapWidget.rst.txt @@ -0,0 +1,4 @@ +MemoryMapWidget +=============== + +.. doxygenclass:: MemoryMapWidget diff --git a/docs/_sources/api/widgets/classMemoryProxyModel.rst.txt b/docs/_sources/api/widgets/classMemoryProxyModel.rst.txt new file mode 100644 index 000000000..2b3f40d25 --- /dev/null +++ b/docs/_sources/api/widgets/classMemoryProxyModel.rst.txt @@ -0,0 +1,4 @@ +MemoryProxyModel +================ + +.. doxygenclass:: MemoryProxyModel diff --git a/docs/_sources/api/widgets/classOmnibar.rst.txt b/docs/_sources/api/widgets/classOmnibar.rst.txt new file mode 100644 index 000000000..667031720 --- /dev/null +++ b/docs/_sources/api/widgets/classOmnibar.rst.txt @@ -0,0 +1,4 @@ +Omnibar +======= + +.. doxygenclass:: Omnibar diff --git a/docs/_sources/api/widgets/classOverviewView.rst.txt b/docs/_sources/api/widgets/classOverviewView.rst.txt new file mode 100644 index 000000000..c4ead94ee --- /dev/null +++ b/docs/_sources/api/widgets/classOverviewView.rst.txt @@ -0,0 +1,4 @@ +OverviewView +============ + +.. doxygenclass:: OverviewView diff --git a/docs/_sources/api/widgets/classOverviewWidget.rst.txt b/docs/_sources/api/widgets/classOverviewWidget.rst.txt new file mode 100644 index 000000000..15eea21e6 --- /dev/null +++ b/docs/_sources/api/widgets/classOverviewWidget.rst.txt @@ -0,0 +1,4 @@ +OverviewWidget +============== + +.. doxygenclass:: OverviewWidget diff --git a/docs/_sources/api/widgets/classProcessesFilterModel.rst.txt b/docs/_sources/api/widgets/classProcessesFilterModel.rst.txt new file mode 100644 index 000000000..7337bc1f1 --- /dev/null +++ b/docs/_sources/api/widgets/classProcessesFilterModel.rst.txt @@ -0,0 +1,4 @@ +ProcessesFilterModel +==================== + +.. doxygenclass:: ProcessesFilterModel diff --git a/docs/_sources/api/widgets/classProcessesWidget.rst.txt b/docs/_sources/api/widgets/classProcessesWidget.rst.txt new file mode 100644 index 000000000..0656dcf1b --- /dev/null +++ b/docs/_sources/api/widgets/classProcessesWidget.rst.txt @@ -0,0 +1,4 @@ +ProcessesWidget +=============== + +.. doxygenclass:: ProcessesWidget diff --git a/docs/_sources/api/widgets/classQuickFilterView.rst.txt b/docs/_sources/api/widgets/classQuickFilterView.rst.txt new file mode 100644 index 000000000..19d2ffde5 --- /dev/null +++ b/docs/_sources/api/widgets/classQuickFilterView.rst.txt @@ -0,0 +1,4 @@ +QuickFilterView +=============== + +.. doxygenclass:: QuickFilterView diff --git a/docs/_sources/api/widgets/classRawAddrDock.rst.txt b/docs/_sources/api/widgets/classRawAddrDock.rst.txt new file mode 100644 index 000000000..ae2dba691 --- /dev/null +++ b/docs/_sources/api/widgets/classRawAddrDock.rst.txt @@ -0,0 +1,4 @@ +RawAddrDock +=========== + +.. doxygenclass:: RawAddrDock diff --git a/docs/_sources/api/widgets/classRegisterRefModel.rst.txt b/docs/_sources/api/widgets/classRegisterRefModel.rst.txt new file mode 100644 index 000000000..88ac3c500 --- /dev/null +++ b/docs/_sources/api/widgets/classRegisterRefModel.rst.txt @@ -0,0 +1,4 @@ +RegisterRefModel +================ + +.. doxygenclass:: RegisterRefModel diff --git a/docs/_sources/api/widgets/classRegisterRefProxyModel.rst.txt b/docs/_sources/api/widgets/classRegisterRefProxyModel.rst.txt new file mode 100644 index 000000000..099615d37 --- /dev/null +++ b/docs/_sources/api/widgets/classRegisterRefProxyModel.rst.txt @@ -0,0 +1,4 @@ +RegisterRefProxyModel +===================== + +.. doxygenclass:: RegisterRefProxyModel diff --git a/docs/_sources/api/widgets/classRegisterRefsWidget.rst.txt b/docs/_sources/api/widgets/classRegisterRefsWidget.rst.txt new file mode 100644 index 000000000..be402551e --- /dev/null +++ b/docs/_sources/api/widgets/classRegisterRefsWidget.rst.txt @@ -0,0 +1,4 @@ +RegisterRefsWidget +================== + +.. doxygenclass:: RegisterRefsWidget diff --git a/docs/_sources/api/widgets/classRegistersWidget.rst.txt b/docs/_sources/api/widgets/classRegistersWidget.rst.txt new file mode 100644 index 000000000..0ae52d11b --- /dev/null +++ b/docs/_sources/api/widgets/classRegistersWidget.rst.txt @@ -0,0 +1,4 @@ +RegistersWidget +=============== + +.. doxygenclass:: RegistersWidget diff --git a/docs/_sources/api/widgets/classRelocsModel.rst.txt b/docs/_sources/api/widgets/classRelocsModel.rst.txt new file mode 100644 index 000000000..998318cd2 --- /dev/null +++ b/docs/_sources/api/widgets/classRelocsModel.rst.txt @@ -0,0 +1,4 @@ +RelocsModel +=========== + +.. doxygenclass:: RelocsModel diff --git a/docs/_sources/api/widgets/classRelocsProxyModel.rst.txt b/docs/_sources/api/widgets/classRelocsProxyModel.rst.txt new file mode 100644 index 000000000..53c447aa1 --- /dev/null +++ b/docs/_sources/api/widgets/classRelocsProxyModel.rst.txt @@ -0,0 +1,4 @@ +RelocsProxyModel +================ + +.. doxygenclass:: RelocsProxyModel diff --git a/docs/_sources/api/widgets/classRelocsWidget.rst.txt b/docs/_sources/api/widgets/classRelocsWidget.rst.txt new file mode 100644 index 000000000..4ab33a957 --- /dev/null +++ b/docs/_sources/api/widgets/classRelocsWidget.rst.txt @@ -0,0 +1,4 @@ +RelocsWidget +============ + +.. doxygenclass:: RelocsWidget diff --git a/docs/_sources/api/widgets/classResourcesModel.rst.txt b/docs/_sources/api/widgets/classResourcesModel.rst.txt new file mode 100644 index 000000000..3c11040d1 --- /dev/null +++ b/docs/_sources/api/widgets/classResourcesModel.rst.txt @@ -0,0 +1,4 @@ +ResourcesModel +============== + +.. doxygenclass:: ResourcesModel diff --git a/docs/_sources/api/widgets/classResourcesWidget.rst.txt b/docs/_sources/api/widgets/classResourcesWidget.rst.txt new file mode 100644 index 000000000..52d31f2e1 --- /dev/null +++ b/docs/_sources/api/widgets/classResourcesWidget.rst.txt @@ -0,0 +1,4 @@ +ResourcesWidget +=============== + +.. doxygenclass:: ResourcesWidget diff --git a/docs/_sources/api/widgets/classRizinGraphWidget.rst.txt b/docs/_sources/api/widgets/classRizinGraphWidget.rst.txt new file mode 100644 index 000000000..de6c38fd7 --- /dev/null +++ b/docs/_sources/api/widgets/classRizinGraphWidget.rst.txt @@ -0,0 +1,4 @@ +RizinGraphWidget +================ + +.. doxygenclass:: RizinGraphWidget diff --git a/docs/_sources/api/widgets/classSdbWidget.rst.txt b/docs/_sources/api/widgets/classSdbWidget.rst.txt new file mode 100644 index 000000000..8da990dfe --- /dev/null +++ b/docs/_sources/api/widgets/classSdbWidget.rst.txt @@ -0,0 +1,4 @@ +SdbWidget +========= + +.. doxygenclass:: SdbWidget diff --git a/docs/_sources/api/widgets/classSearchModel.rst.txt b/docs/_sources/api/widgets/classSearchModel.rst.txt new file mode 100644 index 000000000..8fb522c81 --- /dev/null +++ b/docs/_sources/api/widgets/classSearchModel.rst.txt @@ -0,0 +1,4 @@ +SearchModel +=========== + +.. doxygenclass:: SearchModel diff --git a/docs/_sources/api/widgets/classSearchSortFilterProxyModel.rst.txt b/docs/_sources/api/widgets/classSearchSortFilterProxyModel.rst.txt new file mode 100644 index 000000000..88ca00ba8 --- /dev/null +++ b/docs/_sources/api/widgets/classSearchSortFilterProxyModel.rst.txt @@ -0,0 +1,4 @@ +SearchSortFilterProxyModel +========================== + +.. doxygenclass:: SearchSortFilterProxyModel diff --git a/docs/_sources/api/widgets/classSearchWidget.rst.txt b/docs/_sources/api/widgets/classSearchWidget.rst.txt new file mode 100644 index 000000000..1da8a99e6 --- /dev/null +++ b/docs/_sources/api/widgets/classSearchWidget.rst.txt @@ -0,0 +1,4 @@ +SearchWidget +============ + +.. doxygenclass:: SearchWidget diff --git a/docs/_sources/api/widgets/classSectionsModel.rst.txt b/docs/_sources/api/widgets/classSectionsModel.rst.txt new file mode 100644 index 000000000..5618917d4 --- /dev/null +++ b/docs/_sources/api/widgets/classSectionsModel.rst.txt @@ -0,0 +1,4 @@ +SectionsModel +============= + +.. doxygenclass:: SectionsModel diff --git a/docs/_sources/api/widgets/classSectionsProxyModel.rst.txt b/docs/_sources/api/widgets/classSectionsProxyModel.rst.txt new file mode 100644 index 000000000..b1b22dee9 --- /dev/null +++ b/docs/_sources/api/widgets/classSectionsProxyModel.rst.txt @@ -0,0 +1,4 @@ +SectionsProxyModel +================== + +.. doxygenclass:: SectionsProxyModel diff --git a/docs/_sources/api/widgets/classSectionsWidget.rst.txt b/docs/_sources/api/widgets/classSectionsWidget.rst.txt new file mode 100644 index 000000000..04ef2a285 --- /dev/null +++ b/docs/_sources/api/widgets/classSectionsWidget.rst.txt @@ -0,0 +1,4 @@ +SectionsWidget +============== + +.. doxygenclass:: SectionsWidget diff --git a/docs/_sources/api/widgets/classSegmentsModel.rst.txt b/docs/_sources/api/widgets/classSegmentsModel.rst.txt new file mode 100644 index 000000000..1908a8c23 --- /dev/null +++ b/docs/_sources/api/widgets/classSegmentsModel.rst.txt @@ -0,0 +1,4 @@ +SegmentsModel +============= + +.. doxygenclass:: SegmentsModel diff --git a/docs/_sources/api/widgets/classSegmentsProxyModel.rst.txt b/docs/_sources/api/widgets/classSegmentsProxyModel.rst.txt new file mode 100644 index 000000000..74fbc5ca7 --- /dev/null +++ b/docs/_sources/api/widgets/classSegmentsProxyModel.rst.txt @@ -0,0 +1,4 @@ +SegmentsProxyModel +================== + +.. doxygenclass:: SegmentsProxyModel diff --git a/docs/_sources/api/widgets/classSegmentsWidget.rst.txt b/docs/_sources/api/widgets/classSegmentsWidget.rst.txt new file mode 100644 index 000000000..558916c37 --- /dev/null +++ b/docs/_sources/api/widgets/classSegmentsWidget.rst.txt @@ -0,0 +1,4 @@ +SegmentsWidget +============== + +.. doxygenclass:: SegmentsWidget diff --git a/docs/_sources/api/widgets/classSimpleTextGraphView.rst.txt b/docs/_sources/api/widgets/classSimpleTextGraphView.rst.txt new file mode 100644 index 000000000..6605b842e --- /dev/null +++ b/docs/_sources/api/widgets/classSimpleTextGraphView.rst.txt @@ -0,0 +1,4 @@ +SimpleTextGraphView +=================== + +.. doxygenclass:: SimpleTextGraphView diff --git a/docs/_sources/api/widgets/classStackModel.rst.txt b/docs/_sources/api/widgets/classStackModel.rst.txt new file mode 100644 index 000000000..a707a65a0 --- /dev/null +++ b/docs/_sources/api/widgets/classStackModel.rst.txt @@ -0,0 +1,4 @@ +StackModel +========== + +.. doxygenclass:: StackModel diff --git a/docs/_sources/api/widgets/classStackWidget.rst.txt b/docs/_sources/api/widgets/classStackWidget.rst.txt new file mode 100644 index 000000000..cecf0d634 --- /dev/null +++ b/docs/_sources/api/widgets/classStackWidget.rst.txt @@ -0,0 +1,4 @@ +StackWidget +=========== + +.. doxygenclass:: StackWidget diff --git a/docs/_sources/api/widgets/classStringsModel.rst.txt b/docs/_sources/api/widgets/classStringsModel.rst.txt new file mode 100644 index 000000000..e14077726 --- /dev/null +++ b/docs/_sources/api/widgets/classStringsModel.rst.txt @@ -0,0 +1,4 @@ +StringsModel +============ + +.. doxygenclass:: StringsModel diff --git a/docs/_sources/api/widgets/classStringsProxyModel.rst.txt b/docs/_sources/api/widgets/classStringsProxyModel.rst.txt new file mode 100644 index 000000000..16461c389 --- /dev/null +++ b/docs/_sources/api/widgets/classStringsProxyModel.rst.txt @@ -0,0 +1,4 @@ +StringsProxyModel +================= + +.. doxygenclass:: StringsProxyModel diff --git a/docs/_sources/api/widgets/classStringsWidget.rst.txt b/docs/_sources/api/widgets/classStringsWidget.rst.txt new file mode 100644 index 000000000..513497a14 --- /dev/null +++ b/docs/_sources/api/widgets/classStringsWidget.rst.txt @@ -0,0 +1,4 @@ +StringsWidget +============= + +.. doxygenclass:: StringsWidget diff --git a/docs/_sources/api/widgets/classSymbolsModel.rst.txt b/docs/_sources/api/widgets/classSymbolsModel.rst.txt new file mode 100644 index 000000000..d13136208 --- /dev/null +++ b/docs/_sources/api/widgets/classSymbolsModel.rst.txt @@ -0,0 +1,4 @@ +SymbolsModel +============ + +.. doxygenclass:: SymbolsModel diff --git a/docs/_sources/api/widgets/classSymbolsProxyModel.rst.txt b/docs/_sources/api/widgets/classSymbolsProxyModel.rst.txt new file mode 100644 index 000000000..96e8fb19c --- /dev/null +++ b/docs/_sources/api/widgets/classSymbolsProxyModel.rst.txt @@ -0,0 +1,4 @@ +SymbolsProxyModel +================= + +.. doxygenclass:: SymbolsProxyModel diff --git a/docs/_sources/api/widgets/classSymbolsWidget.rst.txt b/docs/_sources/api/widgets/classSymbolsWidget.rst.txt new file mode 100644 index 000000000..e5298d5a9 --- /dev/null +++ b/docs/_sources/api/widgets/classSymbolsWidget.rst.txt @@ -0,0 +1,4 @@ +SymbolsWidget +============= + +.. doxygenclass:: SymbolsWidget diff --git a/docs/_sources/api/widgets/classThreadsFilterModel.rst.txt b/docs/_sources/api/widgets/classThreadsFilterModel.rst.txt new file mode 100644 index 000000000..c19846e09 --- /dev/null +++ b/docs/_sources/api/widgets/classThreadsFilterModel.rst.txt @@ -0,0 +1,4 @@ +ThreadsFilterModel +================== + +.. doxygenclass:: ThreadsFilterModel diff --git a/docs/_sources/api/widgets/classThreadsWidget.rst.txt b/docs/_sources/api/widgets/classThreadsWidget.rst.txt new file mode 100644 index 000000000..62975a2c7 --- /dev/null +++ b/docs/_sources/api/widgets/classThreadsWidget.rst.txt @@ -0,0 +1,4 @@ +ThreadsWidget +============= + +.. doxygenclass:: ThreadsWidget diff --git a/docs/_sources/api/widgets/classTypesModel.rst.txt b/docs/_sources/api/widgets/classTypesModel.rst.txt new file mode 100644 index 000000000..90cdc0978 --- /dev/null +++ b/docs/_sources/api/widgets/classTypesModel.rst.txt @@ -0,0 +1,4 @@ +TypesModel +========== + +.. doxygenclass:: TypesModel diff --git a/docs/_sources/api/widgets/classTypesSortFilterProxyModel.rst.txt b/docs/_sources/api/widgets/classTypesSortFilterProxyModel.rst.txt new file mode 100644 index 000000000..61e83ed3a --- /dev/null +++ b/docs/_sources/api/widgets/classTypesSortFilterProxyModel.rst.txt @@ -0,0 +1,4 @@ +TypesSortFilterProxyModel +========================= + +.. doxygenclass:: TypesSortFilterProxyModel diff --git a/docs/_sources/api/widgets/classTypesWidget.rst.txt b/docs/_sources/api/widgets/classTypesWidget.rst.txt new file mode 100644 index 000000000..438715c79 --- /dev/null +++ b/docs/_sources/api/widgets/classTypesWidget.rst.txt @@ -0,0 +1,4 @@ +TypesWidget +=========== + +.. doxygenclass:: TypesWidget diff --git a/docs/_sources/api/widgets/classVTableModel.rst.txt b/docs/_sources/api/widgets/classVTableModel.rst.txt new file mode 100644 index 000000000..5a43d7468 --- /dev/null +++ b/docs/_sources/api/widgets/classVTableModel.rst.txt @@ -0,0 +1,4 @@ +VTableModel +=========== + +.. doxygenclass:: VTableModel diff --git a/docs/_sources/api/widgets/classVTableSortFilterProxyModel.rst.txt b/docs/_sources/api/widgets/classVTableSortFilterProxyModel.rst.txt new file mode 100644 index 000000000..bfc6d78b8 --- /dev/null +++ b/docs/_sources/api/widgets/classVTableSortFilterProxyModel.rst.txt @@ -0,0 +1,4 @@ +VTableSortFilterProxyModel +========================== + +.. doxygenclass:: VTableSortFilterProxyModel diff --git a/docs/_sources/api/widgets/classVTablesWidget.rst.txt b/docs/_sources/api/widgets/classVTablesWidget.rst.txt new file mode 100644 index 000000000..64b44abcc --- /dev/null +++ b/docs/_sources/api/widgets/classVTablesWidget.rst.txt @@ -0,0 +1,4 @@ +VTablesWidget +============= + +.. doxygenclass:: VTablesWidget diff --git a/docs/_sources/api/widgets/classVirtualAddrDock.rst.txt b/docs/_sources/api/widgets/classVirtualAddrDock.rst.txt new file mode 100644 index 000000000..37ef0adff --- /dev/null +++ b/docs/_sources/api/widgets/classVirtualAddrDock.rst.txt @@ -0,0 +1,4 @@ +VirtualAddrDock +=============== + +.. doxygenclass:: VirtualAddrDock diff --git a/docs/_sources/api/widgets/classVisualNavbar.rst.txt b/docs/_sources/api/widgets/classVisualNavbar.rst.txt new file mode 100644 index 000000000..ca5cdc757 --- /dev/null +++ b/docs/_sources/api/widgets/classVisualNavbar.rst.txt @@ -0,0 +1,4 @@ +VisualNavbar +============ + +.. doxygenclass:: VisualNavbar diff --git a/docs/_sources/api/widgets/structAnalysisClassesModel_1_1Attribute.rst.txt b/docs/_sources/api/widgets/structAnalysisClassesModel_1_1Attribute.rst.txt new file mode 100644 index 000000000..a6d816d73 --- /dev/null +++ b/docs/_sources/api/widgets/structAnalysisClassesModel_1_1Attribute.rst.txt @@ -0,0 +1,4 @@ +AnalysisClassesModel::Attribute +=============================== + +.. doxygenstruct:: AnalysisClassesModel::Attribute diff --git a/docs/_sources/api/widgets/structBasicCursor.rst.txt b/docs/_sources/api/widgets/structBasicCursor.rst.txt new file mode 100644 index 000000000..d25e88604 --- /dev/null +++ b/docs/_sources/api/widgets/structBasicCursor.rst.txt @@ -0,0 +1,4 @@ +BasicCursor +=========== + +.. doxygenstruct:: BasicCursor diff --git a/docs/_sources/api/widgets/structColorOption.rst.txt b/docs/_sources/api/widgets/structColorOption.rst.txt new file mode 100644 index 000000000..89afc39d5 --- /dev/null +++ b/docs/_sources/api/widgets/structColorOption.rst.txt @@ -0,0 +1,4 @@ +ColorOption +=========== + +.. doxygenstruct:: ColorOption diff --git a/docs/_sources/api/widgets/structCommentGroup.rst.txt b/docs/_sources/api/widgets/structCommentGroup.rst.txt new file mode 100644 index 000000000..f9ae87070 --- /dev/null +++ b/docs/_sources/api/widgets/structCommentGroup.rst.txt @@ -0,0 +1,4 @@ +CommentGroup +============ + +.. doxygenstruct:: CommentGroup diff --git a/docs/_sources/api/widgets/structDisassemblerGraphView_1_1DisassemblyBlock.rst.txt b/docs/_sources/api/widgets/structDisassemblerGraphView_1_1DisassemblyBlock.rst.txt new file mode 100644 index 000000000..ebdc26a89 --- /dev/null +++ b/docs/_sources/api/widgets/structDisassemblerGraphView_1_1DisassemblyBlock.rst.txt @@ -0,0 +1,4 @@ +DisassemblerGraphView::DisassemblyBlock +======================================= + +.. doxygenstruct:: DisassemblerGraphView::DisassemblyBlock diff --git a/docs/_sources/api/widgets/structDisassemblerGraphView_1_1Instr.rst.txt b/docs/_sources/api/widgets/structDisassemblerGraphView_1_1Instr.rst.txt new file mode 100644 index 000000000..068ac172b --- /dev/null +++ b/docs/_sources/api/widgets/structDisassemblerGraphView_1_1Instr.rst.txt @@ -0,0 +1,4 @@ +DisassemblerGraphView::Instr +============================ + +.. doxygenstruct:: DisassemblerGraphView::Instr diff --git a/docs/_sources/api/widgets/structDisassemblerGraphView_1_1Text.rst.txt b/docs/_sources/api/widgets/structDisassemblerGraphView_1_1Text.rst.txt new file mode 100644 index 000000000..7721fc6e1 --- /dev/null +++ b/docs/_sources/api/widgets/structDisassemblerGraphView_1_1Text.rst.txt @@ -0,0 +1,4 @@ +DisassemblerGraphView::Text +=========================== + +.. doxygenstruct:: DisassemblerGraphView::Text diff --git a/docs/_sources/api/widgets/structDisassemblerGraphView_1_1Token.rst.txt b/docs/_sources/api/widgets/structDisassemblerGraphView_1_1Token.rst.txt new file mode 100644 index 000000000..b7c01887e --- /dev/null +++ b/docs/_sources/api/widgets/structDisassemblerGraphView_1_1Token.rst.txt @@ -0,0 +1,4 @@ +DisassemblerGraphView::Token +============================ + +.. doxygenstruct:: DisassemblerGraphView::Token diff --git a/docs/_sources/api/widgets/structDisassemblyLeftPanel_1_1Arrow.rst.txt b/docs/_sources/api/widgets/structDisassemblyLeftPanel_1_1Arrow.rst.txt new file mode 100644 index 000000000..75cd10524 --- /dev/null +++ b/docs/_sources/api/widgets/structDisassemblyLeftPanel_1_1Arrow.rst.txt @@ -0,0 +1,4 @@ +DisassemblyLeftPanel::Arrow +=========================== + +.. doxygenstruct:: DisassemblyLeftPanel::Arrow diff --git a/docs/_sources/api/widgets/structGraphGridLayout_1_1GridBlock.rst.txt b/docs/_sources/api/widgets/structGraphGridLayout_1_1GridBlock.rst.txt new file mode 100644 index 000000000..9fab48cf1 --- /dev/null +++ b/docs/_sources/api/widgets/structGraphGridLayout_1_1GridBlock.rst.txt @@ -0,0 +1,4 @@ +GraphGridLayout::GridBlock +========================== + +.. doxygenstruct:: GraphGridLayout::GridBlock diff --git a/docs/_sources/api/widgets/structGraphGridLayout_1_1GridEdge.rst.txt b/docs/_sources/api/widgets/structGraphGridLayout_1_1GridEdge.rst.txt new file mode 100644 index 000000000..2a085ee92 --- /dev/null +++ b/docs/_sources/api/widgets/structGraphGridLayout_1_1GridEdge.rst.txt @@ -0,0 +1,4 @@ +GraphGridLayout::GridEdge +========================= + +.. doxygenstruct:: GraphGridLayout::GridEdge diff --git a/docs/_sources/api/widgets/structGraphGridLayout_1_1LayoutState.rst.txt b/docs/_sources/api/widgets/structGraphGridLayout_1_1LayoutState.rst.txt new file mode 100644 index 000000000..1be52dc6a --- /dev/null +++ b/docs/_sources/api/widgets/structGraphGridLayout_1_1LayoutState.rst.txt @@ -0,0 +1,4 @@ +GraphGridLayout::LayoutState +============================ + +.. doxygenstruct:: GraphGridLayout::LayoutState diff --git a/docs/_sources/api/widgets/structGraphGridLayout_1_1Point.rst.txt b/docs/_sources/api/widgets/structGraphGridLayout_1_1Point.rst.txt new file mode 100644 index 000000000..7ead78047 --- /dev/null +++ b/docs/_sources/api/widgets/structGraphGridLayout_1_1Point.rst.txt @@ -0,0 +1,4 @@ +GraphGridLayout::Point +====================== + +.. doxygenstruct:: GraphGridLayout::Point diff --git a/docs/_sources/api/widgets/structGraphLayout_1_1GraphBlock.rst.txt b/docs/_sources/api/widgets/structGraphLayout_1_1GraphBlock.rst.txt new file mode 100644 index 000000000..d3ca4524b --- /dev/null +++ b/docs/_sources/api/widgets/structGraphLayout_1_1GraphBlock.rst.txt @@ -0,0 +1,4 @@ +GraphLayout::GraphBlock +======================= + +.. doxygenstruct:: GraphLayout::GraphBlock diff --git a/docs/_sources/api/widgets/structGraphLayout_1_1GraphEdge.rst.txt b/docs/_sources/api/widgets/structGraphLayout_1_1GraphEdge.rst.txt new file mode 100644 index 000000000..627246c26 --- /dev/null +++ b/docs/_sources/api/widgets/structGraphLayout_1_1GraphEdge.rst.txt @@ -0,0 +1,4 @@ +GraphLayout::GraphEdge +====================== + +.. doxygenstruct:: GraphLayout::GraphEdge diff --git a/docs/_sources/api/widgets/structGraphLayout_1_1LayoutConfig.rst.txt b/docs/_sources/api/widgets/structGraphLayout_1_1LayoutConfig.rst.txt new file mode 100644 index 000000000..7f72dcfa6 --- /dev/null +++ b/docs/_sources/api/widgets/structGraphLayout_1_1LayoutConfig.rst.txt @@ -0,0 +1,4 @@ +GraphLayout::LayoutConfig +========================= + +.. doxygenstruct:: GraphLayout::LayoutConfig diff --git a/docs/_sources/api/widgets/structGraphView_1_1EdgeConfiguration.rst.txt b/docs/_sources/api/widgets/structGraphView_1_1EdgeConfiguration.rst.txt new file mode 100644 index 000000000..47595904b --- /dev/null +++ b/docs/_sources/api/widgets/structGraphView_1_1EdgeConfiguration.rst.txt @@ -0,0 +1,4 @@ +GraphView::EdgeConfiguration +============================ + +.. doxygenstruct:: GraphView::EdgeConfiguration diff --git a/docs/_sources/api/widgets/structHeapBinsGraphView_1_1GraphHeapChunk.rst.txt b/docs/_sources/api/widgets/structHeapBinsGraphView_1_1GraphHeapChunk.rst.txt new file mode 100644 index 000000000..033d59390 --- /dev/null +++ b/docs/_sources/api/widgets/structHeapBinsGraphView_1_1GraphHeapChunk.rst.txt @@ -0,0 +1,4 @@ +HeapBinsGraphView::GraphHeapChunk +================================= + +.. doxygenstruct:: HeapBinsGraphView::GraphHeapChunk diff --git a/docs/_sources/api/widgets/structHexCursor.rst.txt b/docs/_sources/api/widgets/structHexCursor.rst.txt new file mode 100644 index 000000000..ca2192293 --- /dev/null +++ b/docs/_sources/api/widgets/structHexCursor.rst.txt @@ -0,0 +1,4 @@ +HexCursor +========= + +.. doxygenstruct:: HexCursor diff --git a/docs/_sources/api/widgets/structHexWidget_1_1Selection.rst.txt b/docs/_sources/api/widgets/structHexWidget_1_1Selection.rst.txt new file mode 100644 index 000000000..ebc256bee --- /dev/null +++ b/docs/_sources/api/widgets/structHexWidget_1_1Selection.rst.txt @@ -0,0 +1,4 @@ +HexWidget::Selection +==================== + +.. doxygenstruct:: HexWidget::Selection diff --git a/docs/_sources/api/widgets/structOptionInfo.rst.txt b/docs/_sources/api/widgets/structOptionInfo.rst.txt new file mode 100644 index 000000000..c19abfea2 --- /dev/null +++ b/docs/_sources/api/widgets/structOptionInfo.rst.txt @@ -0,0 +1,4 @@ +OptionInfo +========== + +.. doxygenstruct:: OptionInfo diff --git a/docs/_sources/api/widgets/structRegisterRefDescription.rst.txt b/docs/_sources/api/widgets/structRegisterRefDescription.rst.txt new file mode 100644 index 000000000..9277772df --- /dev/null +++ b/docs/_sources/api/widgets/structRegisterRefDescription.rst.txt @@ -0,0 +1,4 @@ +RegisterRefDescription +====================== + +.. doxygenstruct:: RegisterRefDescription diff --git a/docs/_sources/api/widgets/structSimpleTextGraphView_1_1BlockContent.rst.txt b/docs/_sources/api/widgets/structSimpleTextGraphView_1_1BlockContent.rst.txt new file mode 100644 index 000000000..a8bf2fe87 --- /dev/null +++ b/docs/_sources/api/widgets/structSimpleTextGraphView_1_1BlockContent.rst.txt @@ -0,0 +1,4 @@ +SimpleTextGraphView::BlockContent +================================= + +.. doxygenstruct:: SimpleTextGraphView::BlockContent diff --git a/docs/_sources/api/widgets/structStackModel_1_1Item.rst.txt b/docs/_sources/api/widgets/structStackModel_1_1Item.rst.txt new file mode 100644 index 000000000..84b440646 --- /dev/null +++ b/docs/_sources/api/widgets/structStackModel_1_1Item.rst.txt @@ -0,0 +1,4 @@ +StackModel::Item +================ + +.. doxygenstruct:: StackModel::Item diff --git a/docs/_sources/api/widgets/structVisualNavbar_1_1XToAddress.rst.txt b/docs/_sources/api/widgets/structVisualNavbar_1_1XToAddress.rst.txt new file mode 100644 index 000000000..0857e5014 --- /dev/null +++ b/docs/_sources/api/widgets/structVisualNavbar_1_1XToAddress.rst.txt @@ -0,0 +1,4 @@ +VisualNavbar::XToAddress +======================== + +.. doxygenstruct:: VisualNavbar::XToAddress diff --git a/docs/_sources/api/widgetslist.rst.txt b/docs/_sources/api/widgetslist.rst.txt new file mode 100644 index 000000000..0fc39e702 --- /dev/null +++ b/docs/_sources/api/widgetslist.rst.txt @@ -0,0 +1,7 @@ +Widgets +======= + +.. toctree:: + :glob: + + widgets/* diff --git a/docs/_sources/building.rst.txt b/docs/_sources/building.rst.txt new file mode 100644 index 000000000..6c23769fb --- /dev/null +++ b/docs/_sources/building.rst.txt @@ -0,0 +1,348 @@ +Building +======== + +.. note:: + + If you just want to use the latest Release version of Cutter, please note + that we provide pre-compiled binaries for Windows, Linux, and macOS on + our `release page `_ and + `CI page `_ for latest development builds. + +This page describes how to do a basic build from the command line. If you are planning to modify Cutter it is recommended to also read our :doc:`development environment setup`. + +Getting the Source +------------------ + +Make sure you've ``git`` installed in your system (`Installation guide `_) and do the following: + +.. code-block:: sh + + git clone --recurse-submodules https://github.com/rizinorg/cutter + + +This will clone the Cutter source and its dependencies(rizin, etc.) +under **cutter** and you should see the following dir structure: + +.. code-block:: sh + + cutter/-| + |-docs/ # Cutter Documentation + |-rizin/ # Rizin submodule + |-src/ # Cutter Source Code + +Following sections assume that **cutter** is your working dir. (if not, do ``cd cutter``) + +Building on Linux +----------------- + +Requirements +~~~~~~~~~~~~ + +On Linux, you will need: + +* build-essential +* cmake +* meson +* libzip-dev +* libzlib-dev +* qt6 +* qt6-svg +* pkgconf +* curl* +* python-setuptools* +* KSyntaxHighlighter** +* graphviz** +* shiboken6** +* pyside6** + + `*` Recommended while building with ``make``/``Cmake``. + + `**` Optional. If present, these add extra features to Cutter. See `CMake Building Options`_. + +On Debian-based Linux distributions, all of these essential packages can be installed with this single command: + +:: + + sudo apt install build-essential cmake meson pkgconf libzip-dev zlib1g-dev qt6-base-dev qt6-tools-dev qt6-tools-dev-tools libqt6svg6-dev libqt6core5compat6-dev libqt6svgwidgets6 qt6-l10n-tools + +Depending on your configuration you'll might also need the following: + +:: + + # When building with CUTTER_ENABLE_GRAPHVIZ (Default) + sudo apt install libgraphviz-dev + +.. note:: + For Ubuntu 20.04 and lower (or in any case you get an error ``Meson version is x but project requires >=y``), ``meson`` should be installed with ``pip install --upgrade --user meson``. + +On Arch-based Linux distributions: + +:: + + sudo pacman -Syu --needed base-devel cmake meson qt6-base qt6-svg qt6-tools + + # When building with CUTTER_ENABLE_KSYNTAXHIGHLIGHTING (Default) + sudo pacman -Syu --needed syntax-highlighting + # When building with CUTTER_ENABLE_GRAPHVIZ (Default) + sudo pacman -Syu --needed graphviz + # When building with CUTTER_ENABLE_PYTHON and CUTTER_ENABLE_PYTHON_BINDINGS + sudo pacman -Syu --needed pyside6 shiboken6 + +On dnf/yum based distributions: + +:: + + sudo dnf install -y gcc gcc-c++ make cmake meson qt6-qtbase-devel qt6-qtsvg-devel qt6-qttools-devel qt6-qt5compat-devel + # Optional packages + sudo dnf install -y graphviz-devel kf6-syntax-highlighting-devel python3-devel shiboken6 python3-pyside6-devel clang + + +On older Linux systems not supported by QT6 you can use Qt 5.15. Use of Qt5 on operating systems other than Linux is untested. + +Building Steps +~~~~~~~~~~~~~~ + +The recommended way to build Cutter on Linux is by using CMake. Simply invoke CMake to build Cutter and its dependency Rizin. + +.. code:: sh + + mkdir build && cd build + cmake .. + cmake --build . + +If your operating system has a newer version of CMake (> v3.12) you can use this cleaner solution: + +.. code:: sh + + cmake -B build + cmake --build build + +If you want to use Cutter with another version of Rizin you can set ``-DCUTTER_USE_BUNDLED_RIZIN=OFF``. Note that using a version of Rizin which isn't the version Cutter is using can cause issues and the compilation might fail. + +.. note:: + + If you are interested in building Cutter with support for Python plugins, + Syntax Highlighting and more, please look at the full list of `CMake Building Options`_. + + +After the build process is complete, you should have the ``Cutter`` executable in the **build** dir. +You can now execute Cutter like this: + +.. code:: sh + + ./build/cutter + + +Making Linux distribution specific packages +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +When making a distribution specific package, the default install target should give you a good starting point. +It uses CMake built-in functionality and `GNUInstallDirs `_ for +installing the executable, desktop file, headers and other files required for plugin compilation. See CMake documentation for adjusting installed file locations and properties. +It shouldn't be necessary to manually copy files from plain build. + +It is recommended to build and package rizin as a separate package so that it can be used with or without Cutter. Doing that will also give more control over the way rizin dependencies are handled. We are trying to maintain +compatibility with latest rizin release at the time of Cutter release and making a new Cutter release when new rizin version is released. + +If you are packaging Cutter, users will appreciate it if you also package `rz-ghidra `_ and `jsdec `_ decompilers as optional packages. +It should be possible to compile Cutter plugins against proper Cutter installation without having direct access to Cutter source code. + +If the names "Cutter" or "cutter" conflict with other packages or their content, "rz-cutter" can be used. + +:Configuration for packaging: + +* ``-DCMAKE_BUILD_TYPE=Release`` turn on release optimizations, unless your distro has more specific guidelines for common compiler options. +* ``CUTTER_USE_BUNDLED_RIZIN=OFF`` turn off use of rizin from submodule to use previously packaged rizin. Note that keeping it on doesn't install rizin in a way suitable for linux packaging without doing additional manual steps making packaging process more complex. Bundled rizin will also likely conflict with standalone rizin package. +* Correct install prefix. By default CMake will install to /usr/local suitable for user builds. Change it according to your distro packaging guidelines. +* ``CUTTER_ENABLE_PYTHON`` and ``CUTTER_ENABLE_PYTHON_BINDINGS`` it is recommended to turn on for complete user experience. May require manual path specification on distros with multiple python versions. +* ``CUTTER_ENABLE_GRAPHVIZ`` and ``CUTTER_ENABLE_KSYNTAXHIGHLIGHTING`` optional but nice to have since they are available on most distros. +* ``CUTTER_EXTRA_PLUGIN_DIRS`` use it to specify additional plugin search locations if distro packaging guidelines require you placing them in locations Cutter doesn't use by default. + +Building on Windows +------------------- + +Requirements +~~~~~~~~~~~~ + +Cutter works on Windows 10 or newer. +To compile Cutter it is necessary to have the following installed: + +* A version of `Visual Studio `_ (2019 or newer) +* `CMake `_ +* `Qt 6 `_ See :doc:`development environment setup` for alternative ways of obtaining Qt that don't require Qt account. +* `Meson `_ +* `Ninja `_ + +Building Steps +~~~~~~~~~~~~~~~ + +To build Cutter on Windows machines using CMake, +you will have to make sure that the executables are available +in your ``%PATH%`` environment variable. + +You can check if the binaries are available by opening PowerShell and +executing the following commands. + +.. code:: powershell + + ninja --version + meson --version + cmake --version + +If they are not available, you can use PowerShell to add them to your PATH one by one: + +.. code:: powershell + + $Env:Path += ";C:\enter\path\here" + + +Note that the paths below may vary depending on your version of Qt and Visual Studio. + +.. code:: powershell + + # Add the following directory to your PATH + $Env:Path += ";C:\Qt\6.7.2\msvc2019_64\bin" + + # Build Cutter + cmake -B build + cmake --build build + + +After the compilation completes, the ``cutter.exe`` binary will be available in ``.\build\Debug\cutter.exe``. + + + +Building on macOS +------------------- + +Requirements +~~~~~~~~~~~~ + +* XCode +* CMake +* Qt +* meson +* ninja + + +For basic build all dependencies except XCode can be installed using homebrew: + +:: + + brew install cmake qt6 meson ninja + + +Recommended Way for dev builds +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +.. code:: batch + + mkdir build + cd build + cmake .. -DCMAKE_PREFIX_PATH=/opt/homebrew/opt/qt6 + make + +-------------- + +CMake Building Options +---------------------- + +Note that there are some major building options available: + +* ``CUTTER_USE_BUNDLED_RIZIN`` automatically compile Rizin from submodule (Enabled by default). +* ``CUTTER_ENABLE_PYTHON`` compile with Python support, required for Python plugins. +* ``CUTTER_ENABLE_PYTHON_BINDINGS`` automatically generate Python Bindings with Shiboken, required for Python plugins! +* ``CUTTER_ENABLE_KSYNTAXHIGHLIGHTING`` use KSyntaxHighlighting for code highlighting. +* ``CUTTER_ENABLE_GRAPHVIZ`` enable Graphviz for graph layouts. +* ``CUTTER_EXTRA_PLUGIN_DIRS`` List of addition plugin locations. Useful when preparing package for Linux distros that have strict package layout rules. +* ``CUTTER_QT`` Qt major version to use. Defaults to 6. Allowed values: 5, 6. + +Cutter binary release options, not needed for most users and might not work easily outside CI environment: + +* ``CUTTER_ENABLE_DEPENDENCY_DOWNLOADS`` Enable downloading of dependencies. Setting to OFF doesn't affect any downloads done by Rizin build. This option is used for preparing Cutter binary release packges. Turned off by default. +* ``CUTTER_PACKAGE_DEPENDENCIES`` During install step include the third party dependencies. This option is used for preparing Cutter binary release packages. + +For full list of Cutter specific build options and their description see CMakeCache.txt after configuring the project or use a graphical CMake configurator if your IDE provides one. + +These options can be enabled or disabled from the command line arguments passed to CMake. +For example, to build Cutter with support for Python plugins, you can run this command: + +:: + + cmake -B build -DCUTTER_ENABLE_PYTHON=ON -DCUTTER_ENABLE_PYTHON_BINDINGS=ON + +Or if one wants to explicitly disable an option: + +:: + + cmake -B build -DCUTTER_ENABLE_PYTHON=OFF + + + + +-------------- + +Troubleshooting +--------------- + +* **Cmake can't find Qt** + + Cmake: qt development package not found + +Depending on how Qt installed (Distribution packages or using the Qt +installer application), CMake may not be able to find it by itself if it +is not in a common place. If that is the case, double-check that the +correct Qt version is installed. Locate its prefix (a directory +containing bin/, lib/, include/, etc.) and specify it to CMake using +``CMAKE_PREFIX_PATH`` in the above process, e.g.: + +:: + + rm CMakeCache.txt # the cache may be polluted with unwanted libraries found before + cmake -DCMAKE_PREFIX_PATH=/opt/Qt/5.9.1/gcc_64 .. + +* **Rizin's librz_*.so cannot be found when running Cutter** + + ./cutter: error while loading shared libraries: librz_lang.so: cannot open shared object file: No such file or directory + +The exact Rizin .so file that cannot be found may vary. On some systems, the linker by default uses RUNPATH instead of RPATH which is incompatible with the way Rizin is currently compiled. It results in some of the Rizin libraries not being found when running cutter. You can verify if this is the problem by running `ldd ./cutter`. If all the Rizin libraries are missing you have a different problem. +The workaround is to either add the `--disable-new-dtags` linker flag when compiling Cutter or add the Rizin installation path to LD_LIBRARY_PATH environment variable. + +:: + + cmake -DCMAKE_EXE_LINKER_FLAGS="-Wl,--disable-new-dtags" .. + +* **rz_*.h: No such file or directory** + + Eg: rz_util/rz_annotated_code.h: No such file or directory + +If you face an error where some header file starting with ``rz_`` is missing, you should check the **rizin** submodule and +make sure it is in sync with upstream **Cutter** repo. Simply run: + +:: + + git submodule update --init --recursive + +* **rz_core development package not found** + +If you installed Rizin and still encounter this error, it could be that your +``PATH`` environment variable is set improperly (doesn’t contain +``/usr/local/bin``). You can fix this by adding the Rizin installation dir to +your ``PATH`` variable. + +macOS specific solutions: + +On macOS, that can also be, for example, due to ``Qt Creator.app`` +being copied over to ``/Applications``. To fix this, append +``:/usr/local/bin`` to the ``PATH`` variable within the *Build +Environment* section in Qt Creator. See the screenshot below should you +encounter any problems. + +You can also try: + +- ``PKG_CONFIG_PATH=$HOME/bin/prefix/rizin/lib/pkgconfig cmake ...`` + +.. image:: images/cutter_path_settings.png + +You can also install Rizin into ``/usr/lib/pkgconfig/`` and then +add a variable ``PKG_CONFIG_PATH`` with the value ``/usr/lib/pkgconfig/``. + diff --git a/docs/_sources/contributing.rst.txt b/docs/_sources/contributing.rst.txt new file mode 100644 index 000000000..52c0564c8 --- /dev/null +++ b/docs/_sources/contributing.rst.txt @@ -0,0 +1,29 @@ +Contributing to Cutter +======================= + +So you like Cutter and want to get involved? Great! This part of the documentation will help and guide you through everything you need to know when contributing to Cutter. Welcome, we're delighted to see you! + +.. tip:: + **Need help?** Our community strives to be friendly, open, and accessible for new contributors. If you have any difficulties getting involved or finding answers to you questions, please `come and ask your questions on our Telegram or IRC groups `_. + + We know that set up to work on Cutter and finding issues that are a good fit for your skills can be a challenge. We're always looking for ways to improve this process: making Cutter more open, accessible, and easier to participate with. If you're having any trouble following this documentation or hit a barrier you can't get around, please contact us. + +.. rubric:: How do you want to help? + +.. raw:: html + + Code + Documentation + Plugins + Translations + +--------- + +.. toctree:: + :maxdepth: 2 + :titlesonly: + + contributing/code + contributing/docs + contributing/translations/getting-started + contributing/plugins/getting-started diff --git a/docs/_sources/contributing/code.rst.txt b/docs/_sources/contributing/code.rst.txt new file mode 100644 index 000000000..b5336b325 --- /dev/null +++ b/docs/_sources/contributing/code.rst.txt @@ -0,0 +1,14 @@ +Developer Documentation +======================= + +.. note:: + New to Cutter development? Check out our :doc:`tutorial for new developers `. + +.. toctree:: + :maxdepth: 2 + :glob: + + Getting Started + code/development-guidelines + code/ide-setup + code/* diff --git a/docs/_sources/contributing/code/development-guidelines.rst.txt b/docs/_sources/contributing/code/development-guidelines.rst.txt new file mode 100644 index 000000000..8d17a56f9 --- /dev/null +++ b/docs/_sources/contributing/code/development-guidelines.rst.txt @@ -0,0 +1,244 @@ + +Cutter Development Guidelines +=============================== + +.. note:: + New to Cutter development? Check out our :doc:`tutorial for new developers `. + + +Common Usage +-------------- + +CutterCore Class +~~~~~~~~~~~~~~~~ + +This is the main class where every link with Rizin is made. It is *unique* +across the whole process. To access it, simply call ``Core()``. + +Example: + +.. code:: cpp + + Core()->getOffset(); + + +Seek the Current File +~~~~~~~~~~~~~~~~~~~~~ + +To modify Rizin seek use ``CutterCore::seek(const RVA offset)``. This +is important because it will emit a +``CutterCore::seekChanged(RVA offset)`` signal. Never ever call +``cmd("s offset")``; + +Example: + +.. code:: cpp + + Core()->seek(0x00C0FFEE); + +.. note:: + + Cutter also supports a silent seek which doesn't trigger the ``seekChanged`` event and doesn't add new entries to the seek history. + + +Creating a Widget +~~~~~~~~~~~~~~~~~ + +Make sure to connect the ``CutterCore::seekChanged(RVA offset)`` signal +so your widget refreshes its output when Rizin seek is modified +(switching to another function, etc.). + +Coding Style +------------ + +In general, we follow a slightly customized version of `the official Qt guidelines `__ +to format the code. Before sending a pull request, you will need to use `clang-format `__ (version 8 or newer) +to format the code. The command line for formatting the code according +to the style is: + +.. code:: bash + + clang-format -style=file -i src/filename.cpp + +If your changes were done on many files across the codebase, you can use this oneliner to tun ``clang-format`` on the entire 'src' directory: + +.. code:: bash + + find ./src -regex '.*\.\(cpp\|h\)' -exec clang-format -style=file -i {} \; + +In contrast to the official guidelines of Qt, in Cutter we always use curly braces in conditional statements, even if the body of a conditional statement contains only one line. + +.. code:: cpp + + // Wrong + if (address.isEmpty()) + return false; + + // Correct + if (address.isEmpty()) { + return false; + } + + // Wrong + for (int i = 0; i < 10; ++i) + qDebug("%i", i); + + // Correct + for (int i = 0; i < 10; ++i) { + qDebug("%i", i); + } + + +Includes +~~~~~~~~ + +Strive to include only **required** definitions inside header files. +This will avoid triggering additional unnecessary compilations. + +If you only need to know that a class exists but don't need the prototype, +you can declare the class like this: + +.. code:: cpp + + class MyClassThatExists; + + /** ... **/ + + private: + MyClassThatExists *classInstance; + +And then include the class header inside your .cpp so you can use that class. + +If you need something in the source file (.cpp) that is not a class member, +then add the include in the source file. + +The includes must be ordered from local to global. That is, first include +any local header file (with double quotes like `#include "common/Helpers.h"`. +Then, after an empty newline, include Qt definitions like +`#include `. +Finally, include the standard C++ headers you need. + +Includes must be sorted by alphabetical order. + +Docstrings +~~~~~~~~~~ + +Our API reference is generated using Doxygen, so when it comes to +function documentation, please use the following format: + +.. code:: cpp + + /** + * @brief Add a new param to the accumulator + */ + virtual void accumulate(RefreshDeferrerParams params) =0; + +Loops +~~~~~ + +We use the C++11 foreach loop style, which means any “foreach” loop should +look like: + +.. code:: cpp + + for (QJsonValue value : importsArray) { + doSomething(value); + } + +nullptr +~~~~~~~ + +Please do not use ``0`` nor ``Q_NULLPTR``, only use ``nullptr``. + +Example: + +.. code:: cpp + + QObject *object = nullptr; + +Connecting Qt Signals +~~~~~~~~~~~~~~~~~~~~~ + +Use one of the following methods for connecting signals to slots: + +.. code:: cpp + + // typically you will make connection in the constructor to a member of current class + connect(this->ui->button1, &QPushButton::clicked, + this, &MyObject::buttonClicked); // Good + + // you can also connect directly other object slots + connect(checkbox, &QCheckBox::toggled, widget, &QWidget::setEnabled); // Good + + // use lambda for passing extra arguments + connect(button1, &QPushButton::clicked, this, [this](){ foo(getBar()); }); // Good + +This syntax performs compile-time type checks and allows the use of lambda +functions. Other approaches for connecting signals can silently break at runtime. + +Don't use the older macro based syntax or automatic name based connections. + +.. code:: cpp + + // SIGNAL and SLOT macros + connect(sender, SIGNAL(clicked), this, SLOT(buttonClicked)); // BAD + + // automatic name based connection + slot: + void on_actionNew_triggered(); // BAD + + // 3 argument connect without receiver object + connect(sender, &SomeObject::signal, [this](){ this->foo(getBar()); }); // BAD + + +General Coding Advices +---------------------- + +Functions Documentation +~~~~~~~~~~~~~~~~~~~~~~~ + +You can find the class documentation in the API Reference menu item. + +Updating the Git Submodules +~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +Git submodules play a major part in Cutter. This, because Cutter is powered +by Rizin, its parent project, and it tries to stay up-to-date with its +recent version, which allows us to implement new features, and enjoy bug +fixes and performance improvements on Rizin. Often, we need to update +the Rizin submodule or the others, to push their most recent +version to Cutter. + +You can view the list of all the submodules from the cutter root folder with: + +.. code:: sh + + git config --file .gitmodules --get-regexp path | awk '{ print $2 }' + +To update all the submodules at once, run these commands from the +cutter root folder: + +.. code:: sh + + git submodule foreach git pull origin master + git add submodule_name_1 submodule_name_2 + git commit -m "Update submodules" + +More likely, you'll only need to update the *rizin* submodule. +In order to update one submodule individually, use the following code: + +.. code:: sh + + cd rizin + git checkout dev && git pull + cd .. + git add rizin + git commit -m "Update rizin submodule" + + +Useful Resources (Qt Development) +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +* `Signals & Slots `__ +* `Model/View Programming `__ - read this if you are going to work with a list or table-like widgets +* `QAction `__ diff --git a/docs/_sources/contributing/code/getting-started.rst.txt b/docs/_sources/contributing/code/getting-started.rst.txt new file mode 100644 index 000000000..abec62313 --- /dev/null +++ b/docs/_sources/contributing/code/getting-started.rst.txt @@ -0,0 +1,96 @@ +Contributing code to Cutter +=========================== + +Thank you so much for your interest in contributing to Cutter! Contributors like you are a treasured resource for Cutter and their contributions have made the project what it is. And so, we appreciate everyone who gives the community the gift of their time <3. + +The following section in our documentation is *not* intended to be comprehensive but rather a quick guide to walk you through the basic flow of contributing to Cutter. For more thorough documentation, follow the links on this page and read our Development Guidelines. + +Clone and compile Cutter +------------------------ +The first step before starting to add code to Cutter is to build it on your environment. Whether it is Linux, Windows, or macOS, we have you covered and detailed the instructions to compile Cutter on our :doc:`/building`. Once you are done and Cutter is built successfully, test that it works correctly and continue to the next steps. + +.. tip:: + If you are facing issues with building Cutter on your environment, make sure you didn't miss anything in the documentation. Specifically, check the :ref:`Building:Troubleshooting` section. + +.. tip:: + If you need help configuring your development environment, make sure to read our :doc:`instructions, recommendations and tips ` for setting up a Cutter development environment for popular IDEs. + + + +Find something to work on +------------------------- +Some will reach this page with a clear idea of what issue they want to fix or what feature they wish to implement. But some would simply want to help Cutter getting better while doing open-source, without having a specific thing in mind. If you already have something in mind - great! Move forward to the next section. If you don't have anything specific, stick with us a little bit more. + +The issues and the feature-requests of Cutter are listed and tracked on our `Github Issues `_ page. Don't get scared by the number of issues open, we will learn how to filter them to find those which fit you best. + +.. tip:: + **Fix your pet peeve!** Anything specific that annoys you about Cutter? Fantastic! This can be a great place to start. + + +Organizing issues +***************** +In order to organize the hundreds of Issues opened on Cutter, we use several features of Github for project management. Get yourself familiar with the following features, it will help you filter the issues. + +Labels +^^^^^^ +Tagging issues and pull requests with labels allows us to quickly search for them later. We use labels to describe the type of the issue, the feature it belongs to, the difficulty, and even its priority. We recommend you to start from issues labeled as `good-first-issue `_. These issues were tagged by us as suitable for new contributors. + +Projects +^^^^^^^^ +We use `project boards `_ to gather together tasks and issues for specific features or problems. For example, we have dedicated project boards for Debugger, Hexdump widget, Decompiler widget, and High DPI support. If you are interested to take part in developing a major feature, or you want to get a broader look at a progress of a specific part in Cutter, this can be a good place to visit. + +Milestones +^^^^^^^^^^ + +When starting working on a new release, we gather together the bug and feature-requests that we consider of high-priority into a `Milestone `_. If you want to work on a feature or fix a bug that is needed and prioritized for the next release, then check out the open Milestone,. + + +Assigning Issues +^^^^^^^^^^^^^^^^ + +Before choosing an issue to work on, make sure it is not assigned to anyone. If it is, you can comment and ask if this person is intended to work on the issue. Some assigned issues are abandoned by their assignee and can be picked up by other contributors. + + + +Get familiar with the current situation +--------------------------------------- + +Run Cutter and get familiar with how the functionality you want to modify works currently. For example, if it is a dialog, make sure you understand its role and how our users are using it. If it is a bug, try to repeat it using the instructions from the bug report. + +.. tip:: + If you are inexperienced with binary analysis tasks, you can always ask other developers in the team about the feature and how it should be used. The team and the community will be happy to help and instruct you with everything you need to know. + +Find the source files implementing the feature you want to work on. By doing this, practice searching code in your editor, this is an important skill. We suggest searching for files with the name of the feature. For example, if you are interested in improving the "Sections" widget, you can find the source code of this feature in `SectionsWidget.cpp` and `SectionsWidget.h`. Alternatively, you can try and look for specific unique strings that exist in the dialog, widget, or feature you want to improve. Usually, when searching the entire code base for these strings, you'll land on a file related to this feature, whether it is a ``.cpp`` file or a ``.ui`` file. From there it will be easy to navigate your way to the right place. + + +Work on your feature or bug-fix +------------------------------- + +If you are experienced with such tasks, go ahead - we leave this in your hands. Otherwise, we recommend you come up with a plan for things that need to be done to solve this bug or implement this feature. Discuss your plan in the relevant issue on GitHub. + +.. important:: + Before starting coding, make sure to get yourself familiar with our comprehensive documentation for our `coding style, conventions, and guidelines `_. + + +If you don't know how to implement something, check if any of the existing code implements similar behavior in the same widget or similar widgets. If you do copy an existing code consider why it did things the way it did, the same factors might not apply in your case or the old code was poorly written from the first place. + +Open a Pull request +------------------- + +When you are done, and the additions and modifications to the code are in place, commit your changes, and get your code reviewed by opening a new Pull Request. Please remember to follow the Pull Request template. + +In the Pull Request template you will be required to add a "Test plan". For example, if you performed GUI changes, demonstrate it by posting a screenshot. Make a list of steps to be taken by the reviewers to verify that the changes are working as expected. This is also a good point to consider any potential edge-cases or different kinds of inputs if you didn't already do it while writing the code. Perform the steps you described when making the PR even if they seem trivial and you did them during development, it helps to catch any mistakes done during the final cleanup and making sure you didn't forget anything. + + +Repeat +------ + +**Thank you!** You've made your very first contribution, and Cutter is better for it. But don't stop now. Go back to the first steps, as there is plenty more to do. A mentor or other developers might suggest a new issue for you to work on. + + +More Information +---------------- + +.. important:: + We're always in the process of improving the information on this page for newcomers to the Cutter. Please help us by suggesting improvements and tell us about the information that this page lacks. + diff --git a/docs/_sources/contributing/code/ide-setup.rst.txt b/docs/_sources/contributing/code/ide-setup.rst.txt new file mode 100644 index 000000000..708e2a27a --- /dev/null +++ b/docs/_sources/contributing/code/ide-setup.rst.txt @@ -0,0 +1,200 @@ +Development environment setup +============================= + +This page contains recommendations and tips on how to better setup different IDEs for Cutter development. + + +General advice +-------------- +Everyone has their own preferences for their favorite IDE or code editor. +There are no strict requirements for using a specific one for Cutter development. +Any IDE with good CMake integration should work well. + +For most development builds, unless you are working on packaging issues, it is recommended to build Cutter with the bundled version of Rizin. It is the default configuration and the easiest way to ensure that a compatible Rizin version is used and helps you deal with different versions of Rizin when working with multiple Cutter branches. In case you want to build Cutter with a different version of Rizin installed on your system, you can set `CUTTER_USE_BUNDLED_RIZIN=OFF`. On Linux, in case you have multiple Rizin versions without ``CUTTER_USE_BUNDLED_RIZIN``, the ``PKG_CONFIG_PATH`` environment variable can be used to select the desired Rizin installation. + +While `Qt Creator`_ has a builtin visual form and widget editor, not having it in other IDEs is not a major problem. It is also available as a standalone tool called Qt Designer and you can configure the file associations so that ``.ui`` files are opened using it. Depending on the ``.ui`` file and changes you want to make, it is sometimes easier to perform them by editing the ``.ui`` file as a text file. Essentially, ``.ui`` files are XML files. Most code editors should have some support for XML highlighting and possibly block folding. + +The following instructions and recommendations assume that you have already download Cutter source and obtained required dependencies as described in :doc:`/building`. + +Linux +----- + +On a rolling-release distribution or a somewhat recent version of traditional distributions like Ubuntu 18.04, it should be possible to get all the dependencies from the official repository. There might be some problems with PySide2 and Shiboken2 but it can be easily disabled and isn't necessary for most work on Cutter. Don't try to install PySide using pip. + +Windows +------- + +Assuming you have a sufficiently powerful computer, a nice way of getting and configuring Qt for Cutter is to use `vcpkg `_. +For a quick test, the exact versions of libraries used by Cutter release packages can be obtained from `cutter-deps `_ but they don't contain debug +versions of libraries so they are not suitable for more serious Cutter development on Windows. + +Qt Creator +---------- +QT Creator is an open-source IDE made by the same developers as Qt. + +Pros and Cons +~~~~~~~~~~~~~ + +- builtin help for Qt API +- builtin .ui file editor (Qt Designer - visual form editor) +- builtin helper for displaying Qt types in the debugger +- Viewing source files that are not directly part of the project (Rizin source code) is somewhat inconvenient. +- The simplest way of installing on non-Linux operating systems require login with Qt account + +Project setup +~~~~~~~~~~~~~ +The following instructions were made based on version 4.12.4 of Qt Creator. The steps might slightly differ between the versions. + +- Go to :menuselection:`File --> Open File or Project..` and select :file:`cutter/CMakeList.txt` +- Select kit and press :guilabel:`Configure Project` + +Formatting using clang-format +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +To configure ``clang-format`` for formatting a file you will need to use the built-in Beautifier plugin. `Follow the instructions `_ on Qt Creator's website to enable the plugin and configure it to run ``clang-format`` when saving a file. In the clang-format options page choose "Use predefined style: File". + +Changing CMake configuration +~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +Click on the "Projects" button on the left side of the screen and then select "Build". All the project CMake options are listed and can be edited there in a graphical editor. + +Editing Qt .ui files +~~~~~~~~~~~~~~~~~~~~ +Double-clicking a ``.ui`` file in a file list opens it inside a visual editor. If you want to make changes that are easier to do by editing ``.ui`` file as text - right-click the file and select :menuselection:`Open With --> Plain Text Editor`. Switching from visual form editor back to code editor mode will open the ``.ui`` file in read-only mode with the following warning "This file can only be edited in Design mode". To edit use the same steps as described before. + +VS Code +------- +`VS Code `_ is an open-source code editor made by Microsoft. + +Pros and Cons +~~~~~~~~~~~~~ + +- A large number of plugins +- A good fallback mechanism for files that are not directly part of a project. + +Recommended plugins +~~~~~~~~~~~~~~~~~~~ +- `C/C++ `_ - The official C++ support plugin made by Microsoft +- `CMake Tools `_ - Provides CMake project integration. Originally developed by vector-of-bool and currently maintained by Microsoft. +- `CMake `_ - CMake language support when editing CMake files. Does not replace the previous CMake plugin. They provide non-overlapping functionality and should be used together. + +Project setup +~~~~~~~~~~~~~ +- :menuselection:`File --> Open Folder...` and select the folder in which you cloned Cutter +- Install the recommended plugins. +- Once the `CMake Tools` plugin is installed, in the corner you will see a popup asking you "Would you like to configure project 'cutter'? Source: CMake Tools (Extension)". Click Yes. +- In the kit selection popup, choose :guilabel:`[Unspecified]` unless you have more specific needs. +- If you initially dismissed the configuration window or didn't have the plugins installed yet - open command-palette using :kbd:`Ctrl-Shift-P` and select :guilabel:`Cmake: Configure` + +Changing CMake configuration +~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +After the first configuration :kbd:`Ctrl-Shift-P`/:guilabel:`CMake: Edit CMake Cache` opens a text editor with all CMake options. Cutter specific ones mostly start with "CUTTER". + +.. _vscode-debug-setup: + +Formatting using clang-format +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +The C/C++ extension we recommended earlier supports source code formatting using clang-format which is included with the extension. Use :kbd:`Ctrl-Shift-I` to format the document or :kbd:`Ctrl-K Ctrl-F` to only format the selection. We recommend to configure auto-formatting via the settings. `Follow the instructions `_ on VS Code's website. + +Building, Running, Debugging +~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +Build and running commands are available in the status bar at the bottom and in the Command Palette menu (:kbd:`Ctrl-Shift-P`) named ``CMake: Build F7``, ``CMake: Run Without Debugging Shift+F5``, and ``CMake Debug Ctrl + F5``. +Shortcuts can be viewed in the :kbd:`Ctrl-Shift-P` menu. They don't match default VS Code ones since those depend on :file:`tasks.json``. + +Running and debugging launches the executable without any arguments. Command-line arguments can be passed to the debug +executable by creating a ``.vscode/launch.json`` configuration. Read the `documentation `_ for more information. Instead of creating :file:`launch.json` manually it can be created from template: :kbd:`Ctrl-Shift-P`/:menuselection:`Debug: Select and Start Debugging --> Add configuration.. --> C,C++: (gdb) Launch`. + +To setup gdb pretty printers for Qt types on Linux, download the scripts from `Kdevelop `_. In the :file:`~/.gdbinit` file add the following code: + + +.. code-block:: python + + python + import sys + + sys.path.insert(0, '/path/to/folder/with/pretty_printer_scripts') + from qt import register_qt_printers + register_qt_printers (None) + + end + set print pretty 1 + + +CLion +----- +`CLion `_ is a C and C++ IDE from the popular software development tool maker - JetBrains. + + +Pros and Cons +~~~~~~~~~~~~~ + +- Medium amount of plugins, many first-party plugins made by JetBrains for their IntelliJ based IDE family +- There is no free version +- Takes some time to analyze the files after opening a project. Switching between .cpp and corresponding .h file may for the first time may take a few seconds. + +Project setup +~~~~~~~~~~~~~ +- Go to :menuselection:`File --> Open` and select the folder in which you cloned Cutter +- Open :file:`cutter/CMakeLists.txt` using the project file list on the left side of the screen +- A yellow bar with a message :guilabel:`CMake project is not loaded` should appear, click :guilabel:`Load CMake project` + +Changing CMake configuration +~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +Go to :menuselection:`File --> Settings --> Build,Execution,Deployment --> CMake`. CMake options are specified the same way as on command-line ``-DOPTION_NAME=VALUE``. + +Formatting using clang-format +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +Clion provides you with an easy way to format files with ``clang-format``. Follow the `documentation `_ on their website to learn how to enable formatting with ``clang-format``. + +Building, Running, Debugging +~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +Follow the `Clion documentation `_ for how to configure Qt type debugger renderers. If you are using the MSVC toolchain +it can use :file:`qt5.natvis`. In rest of the cases you can use ``.gdbinit`` or ``..ldbinit`` based approach similar to one described for :ref:`VSCode setup` + +Editing Qt .ui files +~~~~~~~~~~~~~~~~~~~~ +Default CLion behavior for opening .ui files is `somewhat buggy `_. Double-clicking the file does nothing, but it can be opened by dragging it to the text editor side. +This can be somewhat improved by changing `file association `_. Open :menuselection:`File --> Settings --> Editor --> File Types` and change type association of \*.ui files from :guilabel:`Qt UI Designer Form` to either "XML" or :guilabel:`Files Opened in Associated Applications`. +The first one will open it within CLion as an XML file and the second will use the operating system configuration. + +Visual Studio +------------- +Visual Studio Community edition is available for free and can be used for contributing to open source projects. + +It is recommended to use the latest Visual Studio version 2019 because it has the best CMake integration. +Older VS versions can be used but CMake integration isn't as good. With those, it might be better to generate Visual Studio +project from CMake project using the command-line or :command:`cmake-gui` and opening the generated Visual Studio project instead of opening the +CMake project directly. + +Visual Studio supports many different languages and use-cases. Full installation takes a lot of space. To keep the size minimal during installation +select only component called "Desktop development with C++". Don't worry too much about missing something. +Additional components can be later added or removed through the VS installer which also serves as an updater and package manager for Visual Studio components. + +Pros and Cons +~~~~~~~~~~~~~ +- good debugger +- medium amount of plugins +- completely closed source +- Windows only + +Project setup +~~~~~~~~~~~~~ +- Open folder in which you cloned Cutter source using Visual Studio +- Open CMake settings configurator using either :menuselection:`Project --> CMake Settings` or by clicking :guilabel:`Open the CMake Settings Editor` in the overview page. +- Check options that you want Cutter to be built with, or leave it as-is for the default options. +- If you are using vcpkg, Visual Studio should detect it automatically. The list of CMake options in the configurator should have some referring to vcpkg. If they are not there, specify the path to vcpkg toolchain file in the :guilabel:`CMake toolchain file` field. +- If you are not using vcpkg, configure the path to Qt as mentioned in :ref:`windows CMake instructions`. You can specify the CMake flag in :guilabel:`CMake command arguments:` field. +- To Ensure that VS debugger can display Qt types in a readable way, it is recommended to install `Qt Visual Studio Tools `_ plugin. It will create a :file:`Documents/Visual Studio 2019/Visualizers/qt6.natvis` file. Once :file:`qt6.natvis` has been created you can uninstall the plugin. + +Changing CMake configuration +~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +Open :menuselection:`Project --> CMake Settings`. CMake options can be modified either in graphical table editor, as a command-line flag or by switching to the JSON view. + +Formatting using clang-format +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +Visual Studio supports ``clang-format`` by default so you should not do anything special. It will simple use the existing ``_clang-format`` file from Cutter's root directory. If you wish to configure how and when Visual Studio will use ``clang-format``, you can do this from :menuselection:`Tools --> Options --> Text Editor --> C/C++ --> Formatting`. + +Editing Qt .ui files and Qt integration +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +By default Visual Studio will open ``.ui`` files as XML text documents. You can configure to open it using Qt Designer by right-clicking and selecting :guilabel:`Open With...`. + +There is a Qt plugin for Visual Studio from Qt. It isn't very useful for Cutter development since it is aimed more at helping with Qt integration into Visual Studio projects. +It doesn't do much for CMake based projects. The biggest benefit is that it automatically installs :file:`qt6.natvis` file for more readable displaying of Qt types in the debugger. diff --git a/docs/_sources/contributing/code/release-procedure.rst.txt b/docs/_sources/contributing/code/release-procedure.rst.txt new file mode 100644 index 000000000..0b66147d7 --- /dev/null +++ b/docs/_sources/contributing/code/release-procedure.rst.txt @@ -0,0 +1,58 @@ +Release Procedure +================= + +1. Update translations submodule ``_ + 1. The latest archive from Crowdin should already be in the repository, if not make sure to merge any automated Pull Request from Crowdin (e.g. https://github.com/rizinorg/cutter-translations/pull/9) + 2. Update submodule in cutter +2. Merge the current state of dev into stable. This can happen even earlier in order to feature-freeze the release while keeping development on dev alive. The rizin submodule on stable should point to a commit of stable in rizin and dev to a commit in dev. +3. Lock rzghidra and rzdec versions downloaded by packaging scripts. Specify a tag or commit hash. +4. Update version + #. appveyor.yml + #. docs/sourc/conf.py + #. docs/source/index.rst + #. CMakeLists.txt + #. Cutter.appdata.xml + #. To be safe, search the code base for the previous version number. +5. Create a tag for the release candidate. For example, for the `v1.11.0` release you'd do something like this: + #. ``git tag v1.11.0-rc1`` + #. ``git tag push origin v1.11.0-rc1`` +6. Create a GitHub release, mark it as pre-release save draft, set the tag to v1.11.0-rc1 +7. Wait for packages to build +8. On all operating systems do the `Basic testing procedure`_ to ensure nothing badly broken. +9. If any major problems are found, open an issue and fix them in dev and cherry pick into release branch. If the amount of changes is sufficiently large repeat from step 3. increasing rc number by one. +10. Update version to 1.11.0 +11. Create tag +12. Create release + * Fill the release notes in the Release description. Preparing release notes can begin earlier. Compare current dev branch against previous release to find all the changes. Choose the most important ones. Don't duplicate the commit log. Release notes should be a summary for people who don't want to read whole commit log. Group related changes together under titles such as "New features", "Bug Fixes", "Decompiler", "Rizin" and similar. +13. Prepare announcement tweets and messages to send in the Telegram group, reddit, and others. +14. Close milestone if there was one + + + +Bugfix Release +-------------- +The process for bugfix release is similar no normal release procedure described above with some differences. + +* Cherry pick required bugfixes from dev into the stable. +* Increase the third version number x.y.n into x.y.(n+1) . + + +Basic testing procedure +----------------------- + +This isn't intended as exhaustive testing process, just some simple steps to make sure nothing is badly broken. +If it makes sense repeat the step multiple times at different offsets and click around increase the chance of noticing common problems that doesn't happen 100% of time. + +* Open a simple executable like ``/bin/ls`` or ``calc.exe`` +* Make sure that the upgraded layout isn't completely broken +* The Disassembly widget shows proper disassembly. +* Bundled plugins work + * Open decompiler and select ghidra, it shows some C code at least for some functions + * Open rzdec in decompiler widget, make sure it shows code +* Test that sample python plugin works +* Try debugger + * Insert breakpoint in main + * Start debugging + * Go to main using function widget, make sure relocation was done correctly and you see code instead of unmapped memory and breakpoint is where you placed + * Click continue until you hit breakpoint in main +* Delete cutter settings file, and test that clean start works and layout isn't broken diff --git a/docs/_sources/contributing/docs.rst.txt b/docs/_sources/contributing/docs.rst.txt new file mode 100644 index 000000000..374e879f1 --- /dev/null +++ b/docs/_sources/contributing/docs.rst.txt @@ -0,0 +1,8 @@ +Contributing Documentation +========================== + +.. toctree:: + :maxdepth: 2 + + Getting Started + docs/building-docs diff --git a/docs/_sources/contributing/docs/building-docs.rst.txt b/docs/_sources/contributing/docs/building-docs.rst.txt new file mode 100644 index 000000000..4ff22d10a --- /dev/null +++ b/docs/_sources/contributing/docs/building-docs.rst.txt @@ -0,0 +1,37 @@ +Building docs +======================= + +This page explains the steps that are needed to build Cutter's documentation. + +Requirements +------------ + +You will need: + +* doxygen +* python3 +* pip3 + + * sphinx + * breathe + * recommonmark + +On Debian-based Linux distributions, the packages above can be installed with the following command. + +.. code:: sh + + sudo apt install make doxygen python3-pip doxygen + sudo pip3 install sphinx breathe recommonmark + +Then, you can build the documentation with the following commands: + +.. code:: sh + + cd cutter/docs/ + make html + +.. tip:: + + If you do not need API documentation, type ``make quick`` instead of ``make html``. + +You can find the generated html files at ``cutter/docs/build``. Open ``cutter/docs/build/html/index.html`` with your browser to visit the index file of your local copy of the documentation. diff --git a/docs/_sources/contributing/docs/getting-started.rst.txt b/docs/_sources/contributing/docs/getting-started.rst.txt new file mode 100644 index 000000000..edc07493d --- /dev/null +++ b/docs/_sources/contributing/docs/getting-started.rst.txt @@ -0,0 +1,51 @@ +Contributing documentation to Cutter +==================================== + +If you reached this place you were probably looking to help and improve Cutter's documentation - Fantastic, welcome aboard! + +As many other young projects, Cutter has a problem - it lacks comprehensive documentation and written content. Thankfully, contributing to Cutter's documentation doesn’t require you to have a deep knowledge about the internals of the project. Writing, reviewing, and editing the documentation are great ways to learn about Cutter. + +Don’t like the way something reads? Discover some information that wasn’t documented? Your pull request will be gleefully embraced. + +.. note:: + The documentation of Cutter is written using `Sphinx and reStructuredText `_. The syntax is quite straight forward and very similar to Markdown. In the future, we hope to move completely to Markdown as it is more popular. + + +How can you help? +----------------- + +The following sections suggest ways you can contribute to Cutter's documentation. The list isn't complete as the possibilities are limitless. + +The source for this documentation is available in the `docs directory `_ on Cutter's repository. This source can be generated according to the steps described in the :ref:`building docs page`. When the docs are updated, they are generated and pushed directly to the website at . The source for the website and blog are available on the `cutter.re's repository `_ and are served from the ``gh-pages`` branch. + +.. tip:: + Document what you wished to see. If you are a user of Cutter, try to think what things you would want to see documented when you started using the project. Sometimes, the best contributions are coming from your own needs. + +User documentation +^^^^^^^^^^^^^^^^^^ + +The documentation for users describes how to use Cutter and what the different features in Cutter do. The possibilities for contributing are endless since there are so many features that weren't even described on our docs yet. To contribute to our user documentation, all you need to do is pick a subject, widget, or functionality and document it. Describe the different visual components, how to use them, and what this feature even does. + +Common Errors and Troubleshooting +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +As our community gets bigger, more and more people are using, installing or building Cutter on different setups. Naturally, different environments might cause different issues. The :ref:`common issues` section in our docs aims to go over the most popular issues that you might face while using Cutter and the :ref:`building errors troubleshooting` section goes over common errors that you might face while building Cutter from sources. These docs sections also explain what causes these issues and how to solve them. + +If you know of such a common issue, whether you faced it yourself or noticed it on our community chats, it will be very helpful if you could document it and possible solutions for it. + + +Developers documentation +^^^^^^^^^^^^^^^^^^^^^^^^ + +The documentation for Cutter developers aims to instruct new contributors on how to get started with developing to Cutter's codebase. It also describes best practices and development guidelines for all developers in the project. Think you have something to add to the developers' docs? We would love you to contribute. + +API documentation +^^^^^^^^^^^^^^^^^ + +The documentation for Cutter's API is an important reference for Cutter developers as well as Plugin developers. It thoroughly describes for developers how some functions and features work. While some of the functions are thoroughly documented, most of them aren't. Any help with improving these documentations will be blessed. + + +Blog posts +^^^^^^^^^^ + +We would love to see people writing and sharing their experiences with Cutter. Whether you are solving CTF challenges with Cutter, analyzing malware, finding vulnerabilities, or working on personal projects - we would love to see these published. If you have a personal blog, we would be proud to share and retweet your Cutter-related publications on our profiles, bringing you more engagement and followers. If you don't have a personal blog, we would love to host your publication on our community blog over at https://cutter.re/blog. diff --git a/docs/_sources/contributing/plugins/getting-started.rst.txt b/docs/_sources/contributing/plugins/getting-started.rst.txt new file mode 100644 index 000000000..de5365ac2 --- /dev/null +++ b/docs/_sources/contributing/plugins/getting-started.rst.txt @@ -0,0 +1,262 @@ +Getting Started with Python Plugins +=================================== + +This article provides a step-by-step guide on how to write a simple Python plugin for Cutter. + +Create a python file, called ``myplugin.py`` for example, and add the following contents: + +.. code-block:: python + + import cutter + + class MyCutterPlugin(cutter.CutterPlugin): + name = "My Plugin" + description = "This plugin does awesome things!" + version = "1.0" + author = "1337 h4x0r" + + def setupPlugin(self): + pass + + def setupInterface(self, main): + pass + + def terminate(self): + pass + + def create_cutter_plugin(): + return MyCutterPlugin() + +This is the most basic code that makes up a plugin. +Python plugins in Cutter are regular Python modules that are imported automatically on startup. +In order to load the plugin, Cutter will call the function ``create_cutter_plugin()`` located +in the root of the module and expects it to return an instance of ``cutter.CutterPlugin``. +Normally, you shouldn't have to do anything else in this function. + +.. note:: + The Cutter API is exposed through the ``cutter`` module. + This consists mostly of direct bindings of the original C++ classes, generated with Shiboken2. + For more detail about this API, see the Cutter C++ code or :ref:`api`. + +The ``CutterPlugin`` subclass contains some meta-info and two callback methods: + +* ``setupPlugin()`` is called right after the plugin is loaded and can be used to initialize the plugin itself. +* ``setupInterface()`` is called with the instance of MainWindow as an argument and should create and register any UI components. +* ``terminate()`` is called on shutdown and should clean up any resources used by the plugin. + +Copy this file into the ``python`` subdirectory located under the plugins directory of Cutter and start the application. +You should see an entry for your plugin in the list under Edit -> Preferences -> Plugins. +Here, the absolute path to the plugins directory is shown too if you are unsure where to put your plugin: + +.. image:: preferences-plugins.png + +.. note:: + As mentioned, plugins are Python modules. This means, instead of only a single .py file, you can also + use a directory containing multiple python files and an ``__init__.py`` file that defines or imports the + ``create_cutter_plugin()`` function. + +.. note:: + If you are working on a Unix-like system, instead of copying, you can also symlink your plugin into the plugins + directory, which lets you store the plugin somewhere else without having to copy the files over and over again. + + +Creating a Widget +----------------- + +Next, we are going to add a simple dock widget. Extend the code as follows: + +.. code-block:: python + + import cutter + + from PySide2.QtWidgets import QAction, QLabel + + class MyDockWidget(cutter.CutterDockWidget): + def __init__(self, parent, action): + super(MyDockWidget, self).__init__(parent, action) + self.setObjectName("MyDockWidget") + self.setWindowTitle("My cool DockWidget") + + label = QLabel(self) + self.setWidget(label) + label.setText("Hello World") + + class MyCutterPlugin(cutter.CutterPlugin): + # ... + + def setupInterface(self, main): + action = QAction("My Plugin", main) + action.setCheckable(True) + widget = MyDockWidget(main, action) + main.addPluginDockWidget(widget, action) + + # ... + +We are subclassing ``cutter.CutterDockWidget``, which is the base class for all dock widgets in Cutter, +and adding a label to it. + +.. note:: + You can access the whole Qt5 API from Python, which is exposed by PySide2. For more information about this, refer to the + Documentation of `Qt `_ and `PySide2 `_. + +In our ``setupInterface()`` method, we create an instance of our dock widget and an action to be +added to the menu for showing and hiding the widget. +MainWindow provides a helper method called ``addPluginDockWidget()`` to easily register these. + +When running Cutter now, you should see the widget: + +.. image:: mydockwidget.png + +... as well as the action: + +.. image:: mydockwidget-action.png + + +Fetching Data +------------- + +Next, we want to show some actual data from the binary in our widget. +As an example, we will display the instruction and instruction size at the current position. +Extend the code as follows: + +.. code-block:: python + + # ... + + class MyDockWidget(cutter.CutterDockWidget): + def __init__(self, parent, action): + # ... + + label = QLabel(self) + self.setWidget(label) + + disasm = cutter.cmd("pd 1").strip() + + instruction = cutter.cmdj("pdj 1") + size = instruction[0]["size"] + + label.setText("Current disassembly:\n{}\nwith size {}".format(disasm, size)) + + # ... + +We can access the data by calling Rizin commands and utilizing their output. +This is done by using the two functions ``cmd()`` and ``cmdj()``, which behave just as they +do in `rz-pipe `_. + +Many commands in Rizin can be suffixed with a ``j`` to return JSON output. +``cmdj()`` will automatically deserialize the JSON into python dicts and lists, so the +information can be easily accessed. + +.. warning:: + When fetching data that is not meant to be used only as readable text, **always** use the JSON variant of a command! + Regular command output is not meant to be parsed and is subject to change at any time, which will break your code. + +In our case, we use the two commands ``pd`` (Print Disassembly) and ``pdj`` (Print Disassembly as JSON) +with a parameter of 1 to fetch a single line of disassembly. + +.. note:: + To try out commands, you can use the Console widget in Cutter. Almost all commands support a ``?`` suffix, like in + ``pd?``, to show help and available sub-commands. + To get a general overview, enter a single ``?``. + +The result will look like the following: + +.. image:: disasm-static.png + +Of course, since we only fetch the info once during the creation of the widget, the content never updates. +We are going to change that in the next section. + + +Reacting to Events +------------------ + +We want to update the content of our widget on every seek. +This can be done like the following: + +.. code-block:: python + + # ... + + from PySide2.QtCore import QObject, SIGNAL + + # ... + + class MyDockWidget(cutter.CutterDockWidget): + def __init__(self, parent, action): + # ... + + self._label = QLabel(self) + self.setWidget(self._label) + + QObject.connect(cutter.core(), SIGNAL("seekChanged(RVA)"), self.update_contents) + self.update_contents() + + def update_contents(self): + disasm = cutter.cmd("pd 1").strip() + + instruction = cutter.cmdj("pdj 1") + size = instruction[0]["size"] + + self._label.setText("Current disassembly:\n{}\nwith size {}".format(disasm, size)) + + +First, we move the update code to a separate method. +Then we call ``cutter.core()``, which returns the global instance of ``CutterCore``. +This class provides the Qt signal ``seekChanged(RVA)``, which is emitted every time the current seek changes. +We can simply connect this signal to our method and our widget will update as we expect it to: + +.. image:: disasm-dynamic.png + +For more information about Qt signals and slots, refer to ``_. + +Full Code +--------- + +.. code-block:: python + + import cutter + + from PySide2.QtCore import QObject, SIGNAL + from PySide2.QtWidgets import QAction, QLabel + + class MyDockWidget(cutter.CutterDockWidget): + def __init__(self, parent, action): + super(MyDockWidget, self).__init__(parent, action) + self.setObjectName("MyDockWidget") + self.setWindowTitle("My cool DockWidget") + + self._label = QLabel(self) + self.setWidget(self._label) + + QObject.connect(cutter.core(), SIGNAL("seekChanged(RVA)"), self.update_contents) + self.update_contents() + + def update_contents(self): + disasm = cutter.cmd("pd 1").strip() + + instruction = cutter.cmdj("pdj 1") + size = instruction[0]["size"] + + self._label.setText("Current disassembly:\n{}\nwith size {}".format(disasm, size)) + + + class MyCutterPlugin(cutter.CutterPlugin): + name = "My Plugin" + description = "This plugin does awesome things!" + version = "1.0" + author = "1337 h4x0r" + + def setupPlugin(self): + pass + + def setupInterface(self, main): + action = QAction("My Plugin", main) + action.setCheckable(True) + widget = MyDockWidget(main, action) + main.addPluginDockWidget(widget, action) + + def terminate(self): + pass + + def create_cutter_plugin(): + return MyCutterPlugin() diff --git a/docs/_sources/contributing/translations/getting-started.rst.txt b/docs/_sources/contributing/translations/getting-started.rst.txt new file mode 100644 index 000000000..9b6bed6e8 --- /dev/null +++ b/docs/_sources/contributing/translations/getting-started.rst.txt @@ -0,0 +1,10 @@ +Translate Cutter +================== + +Help Cutter by adding translations to the project! + +Cutter is a global project with users from all around the world. We believe that Cutter should be as accessible as possible, and want our users to feel comfortable while using its interface. Providing our community an interface with their own language makes the experience of using Cutter better. Thus, Cutter supports a translation and localization mechanism powered by the `Crowdin `_ platform. We invite you to contribute and add translations to the project. + + +.. important:: + We currently support more than 15 languages. If you need to add a language that isn't available yet, ask any developer from the team and they will happily assist you. diff --git a/docs/_sources/index.rst.txt b/docs/_sources/index.rst.txt new file mode 100644 index 000000000..9fff61720 --- /dev/null +++ b/docs/_sources/index.rst.txt @@ -0,0 +1,57 @@ +Cutter +====== + +Cutter is a Qt and C++ GUI for Rizin. Its goal is to provide an advanced, +customizable and FOSS reverse-engineering platform while keeping the +user experience in mind. Cutter was created by reverse engineers for +reverse engineers. + +.. image:: images/screenshot.png + + +Getting Cutter +-------------- + +Cutter is available for all major platforms. You can +download the latest release from +`here `__. + +- **macOS**: Download the ``.dmg`` file and install it. +- **Windows**: Download the ``.zip`` archive and extract it. +- **Linux**: Download the ``.AppImage`` file and make it executable by doing: + +:: + + chmod +x Cutter*.AppImage + + +Building from Sources +--------------------- + +To build Cutter on your machine, please follow this guide: :doc:`Building from Source `. + +Need help? +---------- + +You can contact the *Cutter* developers and community on: + +- Telegram: https://t.me/cutter_re +- #cutter on https://web.libera.chat +- Twitter: https://twitter.com/cutter_re + +Want to help the project? +------------------------- + +If you want to contribute to Cutter, take a look at our :doc:`Contribution Guidelines ` to learn how you can help improve the project! + +.. toctree:: + :caption: Contents: + :maxdepth: 3 + + user-docs + contributing + Developer documentation + building + plugins + api + diff --git a/docs/_sources/plugins.rst.txt b/docs/_sources/plugins.rst.txt new file mode 100644 index 000000000..0f755285e --- /dev/null +++ b/docs/_sources/plugins.rst.txt @@ -0,0 +1,35 @@ +Plugins +======= + +Cutter supports writing plugins in both C++ and Python. +If you are unsure of which language to choose, starting with Python is strongly suggested as +it provides a faster and simpler workflow. + +If you plan to implement support for a new file format or architecture, Cutter plugins are not the correct approach. +Instead, you will want to implement a Rizin plugin, which is documented `here `_. + + +Loading and Overview +---------------------- + +Plugins are loaded from an OS-dependent user-level directory. +To get the location of this directory and a list of currently loaded plugins, navigate to Edit -> Preferences -> Plugins. + +.. image:: contributing/plugins/preferences-plugins.png + +The plugins directory contains two subdirectories, ``native`` and ``python`` for C++ and Python plugins respectively, +which will be created automatically by Cutter. + +.. note:: + The support for Python plugins is only available if Cutter was built with the options ``CUTTER_ENABLE_PYTHON`` + and ``CUTTER_ENABLE_PYTHON_BINDINGS`` enabled. + This is the case for all official builds from GitHub Releases starting with version 1.8.0. + + +Creating Plugins +------------------ + +.. toctree:: + :glob: + + contributing/plugins/* diff --git a/docs/_sources/user-docs.rst.txt b/docs/_sources/user-docs.rst.txt new file mode 100644 index 000000000..21f5e2b48 --- /dev/null +++ b/docs/_sources/user-docs.rst.txt @@ -0,0 +1,22 @@ +User Documentation +================== + +This page contains information about the different menus in Cutter. + +Cutter is an advanced reverse engineering platform powered by Rizin. +This user's guide provides detailed information on how to use Cutter. +The documentation for users is still on its early stages and will be improved over time. + + +.. toctree:: + :maxdepth: 3 + :titlesonly: + :glob: + + user-docs/features + user-docs/shortcuts + user-docs/command-line + user-docs/menus + user-docs/preferences + user-docs/common-issues + diff --git a/docs/_sources/user-docs/command-line.rst.txt b/docs/_sources/user-docs/command-line.rst.txt new file mode 100644 index 000000000..39d3904e8 --- /dev/null +++ b/docs/_sources/user-docs/command-line.rst.txt @@ -0,0 +1,113 @@ +Command-line Options +==================== + +Synopsis +-------- + +**Cutter** [*options*] [<*filename*> | --project <*project*>] + + +Options +------- + +.. option:: + + Filename to open. If not specified file selection dialog will be shown. + +.. option:: -h, --help + + Displays help on command-line options. + +.. option:: --help-all + + Displays help including Qt specific options. + +.. option:: -v, --version + + Displays version information. + +.. option:: -A, --analysis + + When opening a file automatically perform analysis at a given level. Requires + :option:`` to be specified. Following levels are available: + + **0** + No analysis. + + **1** + aaa + + **2** + aaaa (experimental) + +.. option:: -a, --arch + + Sets a specific architecture name. + +.. option:: -b, --bits + + Sets a specific architecture bits. + +.. option:: -c, --cpu + + Sets a specific CPU. + +.. option:: -o, --os + + Sets a specific operating system. + +.. option:: -e, --endian + + Sets the endianness (big or little). + +.. option:: -F, --format + + Force using a specific file format (bin plugin). + +.. option:: -B, --base + + Load binary at a specific base address. + +.. option:: -m, --map + + Map the binary at a specific address. + +.. option:: -i + + Run script file. + +.. option:: -p, --project + + Load project file. + +.. option:: -w, --writemode + + Open a file in write mode, instead of the default read-only mode. + When used together with -A/--analysis , it will open a file directly + in write mode without any further dialog or confirmation. + +.. option:: -P, --phymode + + Disables virtual addressing. + +.. option:: --pythonhome + + PYTHONHOME to use for the embedded python interpreter. + +.. option:: --no-output-redirect + + Disable output redirection. Some of the output in the console widget will not + be visible. Use this option when debugging a crash or freeze and output + redirection is causing some messages to be lost. + +.. option:: --no-plugins + + Start cutter with all plugins disabled. Implies :option:`--no-cutter-plugins` and :option:`--no-rizin-plugins`. + +.. option:: --no-cutter-plugins + + Start cutter with cutter plugins disabled. + +.. option:: --no-rizin-plugins + + Start cutter with rizin plugins disabled. diff --git a/docs/_sources/user-docs/common-issues.rst.txt b/docs/_sources/user-docs/common-issues.rst.txt new file mode 100644 index 000000000..f9d6646a5 --- /dev/null +++ b/docs/_sources/user-docs/common-issues.rst.txt @@ -0,0 +1,33 @@ +Common Issues +============= + +This page lists common issues encountered by users. + +AppImage Crashes +---------------- + +If the Linux AppImage binary crashes upon startup, make sure your +``LD_LIBRARY_PATH`` environment variable is empty. +For a detailed explanation, see the issue `#579 `__ + +Keyboard Layout Issue +--------------------- + +Some people report that they have keyboard issues. Usually it is because +the Xorg layout is wrong. You can check it with: ``setxkbmap -query`` +Most of the time using ``setxkbmap us`` solves the issue, but it might +not be enough and require a more advanced Xorg configuration. + +Initial Analysis takes a long time or Cutter UI freezes +------------------------------------------------------- + +Cutter and Rizin currently don't work very well with large and very large binaries. +The exact limits depend on the content of the binary, but roughly a few MB can be considered large +and may take a few minutes to analyze. More than 100MB is very large, +analysis with default settings will likely take a very long time and it might occasionally +freeze the UI during usage. + +If the analysis takes longer than 5-15 minutes it is recommended to retry it with different +analysis options. In the "Load Options" dialog, move the analysis slider to the right in order to reach +the "Advanced Analysis" view. This view will help you learn more about the options that can +be used to more selectively analyze only the relevant parts of code. diff --git a/docs/_sources/user-docs/features.rst.txt b/docs/_sources/user-docs/features.rst.txt new file mode 100644 index 000000000..f7aedfe29 --- /dev/null +++ b/docs/_sources/user-docs/features.rst.txt @@ -0,0 +1,19 @@ +Features +======== +This section in the user docs gives a more detailed information about different features in Cutter. These are the different +utilities and views that can be used and controlled by you during your session. As more familiar and comfort you feel with the +different features in Cutter, the more efficient and effective you are during your reverse-engineering experience. + +Decompiler +---------- +A decompiler is a program that will analyze binaries and attempt to create a high-level representation of the machine code in it. In other words, it tries to reconstruct the source code from which the binary was compiled in the first place. + +Here's an image that compares one of the decompiler Cutter supports with the Cutter's disassembler. + +.. image:: ../images/decompiler_vs_disassembly.png + + +Cutter provides an interface that supports plugins of multiple decompilers including Ghidra, RetDec and JSDec. The interface receives data from the decompiler and presenting the decompiler code in a context-sensitive decompiler widget. Check the `Decompilers `_ section on our Plugins repository to know more about the decompilers we support. + + +Out of the decompiler plugins that we support, the one that's officially maintained by the developers of Cutter is RzGhidra. :doc:`Click here ` to learn more about the functionalities we provide in the decompiler. diff --git a/docs/_sources/user-docs/menus.rst.txt b/docs/_sources/user-docs/menus.rst.txt new file mode 100644 index 000000000..974351c58 --- /dev/null +++ b/docs/_sources/user-docs/menus.rst.txt @@ -0,0 +1,13 @@ +Menus +====== + +This part of the user documentation will provide the reader with information about the different menus and context menu items they can find on Cutter. Each item has a description that explains about its actions, as well as how to reach this feature from the UI and a keyboard shortcut if one assigned to the feature. + + +.. toctree:: + :maxdepth: 3 + :glob: + + menus/* + + diff --git a/docs/_sources/user-docs/menus/breakpoints-widget-context-menu.rst.txt b/docs/_sources/user-docs/menus/breakpoints-widget-context-menu.rst.txt new file mode 100644 index 000000000..21698fc96 --- /dev/null +++ b/docs/_sources/user-docs/menus/breakpoints-widget-context-menu.rst.txt @@ -0,0 +1,25 @@ +Breakpoints Widget Context Menu +================================ + + +Edit a Breakpoint +---------------------------------------- +**Description:** Open the Advanced Breakpoint Edit dialog to edit the selected breakpoint. In this dialog, you can define a software or hardware breakpoint, use conditionals, and more. + +**Steps:** Right-click on an item in the Breakpoints widget and choose ``Edit``. + +Toggle Breakpoint State +---------------------------------------- +**Description:** Enable or disable a breakpoint, depending on its current state. An active breakpoint will be disabled, and an inactive breakpoint will be enabled. + +**Steps:** Right-click on an item in the Breakpoints widget and choose ``Toggle breakpoint``. + +**Shortcut:** :kbd:`Space` + +Delete Breakpoint +---------------------------------------- +**Description:** These options will disable and remove the selected breakpoint from the program. + +**Steps:** Right-click on an item in the Breakpoints widget and choose ``Delete breakpoint`` + +**Shortcut:** :kbd:`Del` \ No newline at end of file diff --git a/docs/_sources/user-docs/menus/debug-buttons-toolbar.rst.txt b/docs/_sources/user-docs/menus/debug-buttons-toolbar.rst.txt new file mode 100644 index 000000000..dc32867ab --- /dev/null +++ b/docs/_sources/user-docs/menus/debug-buttons-toolbar.rst.txt @@ -0,0 +1,20 @@ +Debug Buttons Toolbar +============================== + +Continue until Main +---------------------------------------- +**Description:** Continue the execution of the program until the Main function is reached. + +**Steps:** Continue until main + +Continue until Call +---------------------------------------- +**Description:** Continue the execution of the program until a function call is reached. + +**Steps:** Continue until call + +Continue until Syscall +---------------------------------------- +**Description:** Continue the execution of the program until a Syscall is reached. + +**Steps:** Continue until syscall \ No newline at end of file diff --git a/docs/_sources/user-docs/menus/decompiler-context-menu.rst.txt b/docs/_sources/user-docs/menus/decompiler-context-menu.rst.txt new file mode 100644 index 000000000..e92e86ce5 --- /dev/null +++ b/docs/_sources/user-docs/menus/decompiler-context-menu.rst.txt @@ -0,0 +1,129 @@ +Decompiler Context Menu +============================== +The decompiler context menu is a context-sensitive menu that contains actions that are available for the position under the cursor. + +Copy +---------------------------------------- +**Description:** If text is selected, copy the selected text to the clipboard. If a word is highlighted, copy that word. In all other cases, copy the line under the cursor. + +**Steps:** Right-click on a selected text and choose ``Copy`` + +**Shortcut:** :kbd:`Ctrl-C` + +Copy Instruction Address +---------------------------------------- +**Description:** Copy the address of the instruction mapped to the part of the code under the cursor. + +**Steps:** Right-click on the portion of code for which you want the instruction's address and choose ``Copy instruction address (
)`` + +Copy Address of Reference +---------------------------------------- +**Description:** Copy the address of the reference under the cursor. References include functions, global variables, and constant variables with an address. + +**Steps:** Right-click on a reference and choose ``Copy address [of ] (
)`` + +**Shortcut:** :kbd:`Ctrl-Shift-C` + +Show the code in another widget +---------------------------------------- +**Description:** Show the code under the cursor in another opened widget, or open a new one. If a non-decompiler widget is chosen, the address mapped to the portion of code under the cursor will be opened in that widget. + +**Steps:** Right-click on an item and go to the :menuselection:`Show in` submenu. You can choose a widget or open a new widget from here. + +Show the selected item in another widget +---------------------------------------- +**Description:** Show the selected item in another opened widget, or open a new one. Items include functions, global variables, and constant variables under the cursor. + +**Steps:** Right-click on an item and go to the submenu :menuselection:`Show in` or :menuselection:` (
)`. You can choose a widget or open a new widget from here. + +Add and Edit Comment +---------------------------------------- +**Description:** Add a comment for the line of code under the cursor or edit the comment under the cursor. The ``Edit comment`` option is only available for user-defined comments. + +**Steps:** Right-click and choose ``Add Comment`` or ``Edit Comment``. + +**Shortcut:** :kbd:`;` + +Delete a Comment +---------------------------------------- +**Description:** Delete the comment under the cursor. If a comment doesn't exist under the cursor, delete the comment at the offset mapped to the portion of code under the cursor. + +**Steps:** Right-click on an instruction with a user-defined comment and choose ``Delete comment`` + +Rename function +---------------------------------------- +**Description:** Rename a function under the cursor. + +**Steps:** Right-click on a function name and choose ``Rename function `` + +**Shortcut:** :kbd:`N` + +Give a name or rename global variables +---------------------------------------- +**Description:** Give a name or rename the global variable under the cursor. + +**Steps:** Right-click the global variable and choose ``Add name to
`` or ``Rename ``. + +**Shortcut:** :kbd:`N` + +Delete the name of a global variable +---------------------------------------- +**Description:** Delete the name of the global variable under the cursor. + +**Steps:** Right-click on a global variable and choose ``Remove ``. + +Rename Function Variable +---------------------------------------- +**Description:** Rename local variables and arguments in the decompiled function. Note that this option is available only for function variables defined in the disassembly. + +**Steps:** Right-click on a variable and choose ``Rename variable ``. + +**Shortcut:** :kbd:`N` + +Edit Local Variables and Arguments +---------------------------------------- +**Description:** Rename or set the types of the function's variables and arguments. Note that this option is available only for function variables and arguments defined in the disassembly. + +**Steps:** Right-click on a variable and choose ``Edit variable ``. + +**Shortcut:** :kbd:`Y` + +Show Cross References +---------------------------------------- +**Description:** Show X-Refs to the reference under the cursor. This option will open Cutter's X-Refs dialog in which you will be able to see a list of X-Refs from and to the address of the reference. You can also see a preview of each cross-reference to quickly inspect the different usages. Note that references refer to function names, global variables, and constant variables with an address. + +**Steps:** Right-click on a reference and choose ``Show X-Refs`` + +**Shortcut:** :kbd:`X` + + +Debug Context Menu +======================================= + +Add or Remove Breakpoint +------------------------- +**Description:** Add a breakpoint at the earliest offset in the line under the cursor. If you use the keyboard shortcut to remove a breakpoint, all the breakpoints defined in the line will be removed. + +**Steps:** Right-click on a line of code and choose :menuselection:`Breakpoint --> Add breakpoint` or :menuselection:`Breakpoint --> Remove breakpoint`. + +**Shortcut:** :kbd:`F2` + +Advanced Breakpoint Dialog +---------------------------------------- +**Description:** Open the advanced breakpoint dialog. This dialog lets you define not only a regular breakpoint in this address, but also a hardware breakpoint, a conditional breakpoint, and more. + +**Steps:** Right-click on a line of code and choose :menuselection:`Breakpoint --> Advanced breakpoint`. If multiple breakpoints are present in the line, you will be able choose the breakpoint you want to edit from the :menuselection:`Edit breakpoint` submenu. + +**Shortcut:** :kbd:`Ctrl-F2` + +Continue Until Line +---------------------------------------- +**Description:** Continue the execution of the program until it reaches the offset in the selected line. The program is not guaranteed to ever reach this address and will keep running until exited or until reached another breakpoint. If other breakpoints hit before reaching this line, they will be triggered and pause the execution. *This option is only available on Debug or Emulation modes*. + +**Steps:** While in Debug or Emulation modes, right-click on a line of code and choose :menuselection:`Debug --> Continue until line`. + +Set Program Counter (PC) +---------------------------------------- +**Description:** Set the Program Counter of the debugger to the current offset. For example, on an Intel 64bit program, Cutter will set the value of the RIP register to the current address. *This option is only available on Debug or Emulation modes*. + +**Steps:** While in Debug or Emulation modes, right-click on a line of code and choose :menuselection:`Debug --> Set PC`. diff --git a/docs/_sources/user-docs/menus/disassembly-context-menu.rst.txt b/docs/_sources/user-docs/menus/disassembly-context-menu.rst.txt new file mode 100644 index 000000000..15ced58d0 --- /dev/null +++ b/docs/_sources/user-docs/menus/disassembly-context-menu.rst.txt @@ -0,0 +1,113 @@ +Disassembly Context Menu +============================== + +.. toctree:: + :maxdepth: 1 + :glob: + + disassembly-context-menu/* + +The Disassembly context menu contains actions that operate with selected instruction in disassembly and graph widgets. + +Copy +---------------------------------------- +**Description:** Copy the selected text. + +**Steps:** Right-click on a selected text and choose ``Copy`` + +**Shortcut:** :kbd:`Ctrl` + :kbd:`C` + +Copy Address +---------------------------------------- +**Description:** Copy the address of the location under the cursor. + +**Steps:** Right-click on a location and choose ``Copy address`` + +**Shortcut:** :kbd:`Ctrl` + :kbd:`Shift` + :kbd:`C` + +Show address in another widget +---------------------------------------- +**Description:** Show the selected address or item in another opened widget, or open a new one. + +**Steps:** Right-click on an address or an item in instruction and choose the ``Show in`` sub-menu + +Add Comment +---------------------------------------- +**Description:** Add a comment in the current location. + +**Steps:** Right-click an address and choose `Add Comment`. + +**Shortcut:** :kbd:`;` + +Add Flag +---------------------------------------- +**Description:** Add a flag to the selected item or location by bookmarking and giving it a name. + +**Steps:** Right-click an address or item and choose ``Add Flag``. This will open the Flag dialog in which you can name the location. + +Rename +---------------------------------------- +**Description:** Rename the flag, function or local variable at current location. If empty, remove the currently associated name. + +**Steps:** Right-click an address or item and choose ``Rename`` + +**Shortcut:** :kbd:`N` + +Edit Function +---------------------------------------- +**Description:** Open the Function edit dialog in which you can define the name of the function, its start address, stack size, calling convention, and more. + +**Steps:** Right-click on a location inside a function and choose ``Edit function``. + +**Shortcut:** :kbd:`Shift` + :kbd:`P` + +Re-type Local Variables +---------------------------------------- +**Description:** Rename or set the types of the function's variables and arguments. + +**Steps:** Right-click anywhere inside a function and then choose ``Re-type Local Variables``. + +**Shortcut:** :kbd:`Y` + +Delete a Comment +---------------------------------------- +**Description:** Delete the comment at the current address. This option only available for addresses with user-defined comments. + +**Steps:** Right-click on an instruction with a user-defined comment and choose ``Delete comment`` + +Delete a Flag +---------------------------------------- +**Description:** Delete the flag at the current location. + +**Steps:** Right-click on a location with a flag and choose ``Delete flag``. + +Undefine a Function +---------------------------------------- +**Description:** Undefine the current function. This will remove the function and its associated meta-data. You can always re-define the function, but every change that was made to the previously defined function (e.g variable renaming) would not be restored. + +**Steps:** Right-Click on the name of the function and choose ``Undefine function``. + +**Shortcut:** :kbd:`U` + +Define a function +---------------------------------------- +**Description:** Define a function starting from the current location. Cutter will automatically guess the size of the function. This can later be changed using the function editor. + +**Steps:** Right-click on an instruction and choose ``Define function here``. + +**Shortcut:** :kbd:`P` + +Set Structure Offset +---------------------------------------- +**Description:** Present the current value is an offset in a structure. + +**Steps:** -> Structure offset + +Show Cross References +---------------------------------------- +**Description:** Show X-Refs from and to the specific location. This option will open Cutter's X-Refs dialog in which you will be able to see a list of X-Refs from and to the selected location, in addition to a preview of each cross-reference to quickly inspect the different usages. + +**Steps:** Right-click on an instruction and choose ``Show X-Refs`` + +**Shortcut:** :kbd:`X` + diff --git a/docs/_sources/user-docs/menus/disassembly-context-menu/debug-context-menu.rst.txt b/docs/_sources/user-docs/menus/disassembly-context-menu/debug-context-menu.rst.txt new file mode 100644 index 000000000..33eec6066 --- /dev/null +++ b/docs/_sources/user-docs/menus/disassembly-context-menu/debug-context-menu.rst.txt @@ -0,0 +1,14 @@ +Debug Context Menu +============================== + +Continue Until Line +---------------------------------------- +**Description:** Continue the execution of the program until reached the selected offset. The program is not guaranteed to ever reach this address and will keep running until exited or until reached another breakpoint. If other breakpoints hit before reaching this line, they will be triggered and pause the execution. *This option is only available on Debug or Emulation modes*. + +**Steps:** While in Debug or Emulation modes, right-click and address and choose ``Debug -> Continue until line``. + +Set Program Counter (PC) +---------------------------------------- +**Description:** Set the Program Counter of the debuggee to the current offset. For example, on an Intel 64bit program, Cutter will set the value of the RIP register to the current address. *This option is only available on Debug or Emulation modes*. + +**Steps:** While in Debug or Emulation modes, right-click and address and choose ``Debug -> Set PC``. diff --git a/docs/_sources/user-docs/menus/disassembly-context-menu/manage-breakpoints-context-menu.rst.txt b/docs/_sources/user-docs/menus/disassembly-context-menu/manage-breakpoints-context-menu.rst.txt new file mode 100644 index 000000000..3453cddd0 --- /dev/null +++ b/docs/_sources/user-docs/menus/disassembly-context-menu/manage-breakpoints-context-menu.rst.txt @@ -0,0 +1,18 @@ +Manage Breakpoints Context Menu +================================ + +Add or Remove a Breakpoint +---------------------------------------- +**Description:** Add a breakpoint at the current address. If a breakpoint already exists, Cutter will remove it. + +**Steps:** Right-click on an instruction and choose ``Breakpoint -> Add/remove breakpoint`` + +**Shortcut:** :kbd:`F2` + +Advanced Breakpoint Dialog +---------------------------------------- +**Description:** Open the advanced breakpoint dialog. This dialog lets you define not only a regular breakpoint in this address, but also a Hardware breakpoint, a conditional breakpoint, and more. + +**Steps:** Right-click on an instruction and choose ``Breakpoint -> Advanced breakpoint``. + +**Shortcut:** :kbd:`Ctrl` + :kbd:`F2` \ No newline at end of file diff --git a/docs/_sources/user-docs/menus/disassembly-context-menu/patching.rst.txt b/docs/_sources/user-docs/menus/disassembly-context-menu/patching.rst.txt new file mode 100644 index 000000000..87586e7c3 --- /dev/null +++ b/docs/_sources/user-docs/menus/disassembly-context-menu/patching.rst.txt @@ -0,0 +1,26 @@ +Patching +============================== + +Edit Instruction +---------------------------------------- +**Description:** Edit the current instruction by typing a sequence of one or more instructions. Cutter will automatically fetch a preview of the bytes that are constructing the instruction. + +**Steps:** Right-click on an instruction and choose ``Edit -> Instruction`` + +Edit Bytes +---------------------------------------- +**Description:** Edit the bytes of the current instruction by typing a sequence of bytes. Cutter will automatically disassemble a preview of the instructions that are create by the typed bytes. + +**Steps:** Right-click on an instruction and choose ``Edit -> Bytes`` + +NOP Instruction +---------------------------------------- +**Description:** Fill the content of the instruction with NOP instructions. Cutter will fill the instructions with NOP as the length of the bytes constructing the instruction. + +**Steps:** Right-click on an instruction and choose ``Edit -> Nop Instruction`` + +Reverse Jump +---------------------------------------- +**Description:** On conditional jumps, Cutter will detect the inverted conditional instruction and will replace it. For example, from ``je`` to ``jne``. + +**Steps:** Right-click on an instruction and choose ``Edit -> Reverse Jump`` \ No newline at end of file diff --git a/docs/_sources/user-docs/menus/disassembly-context-menu/set-as-code-data-string.rst.txt b/docs/_sources/user-docs/menus/disassembly-context-menu/set-as-code-data-string.rst.txt new file mode 100644 index 000000000..cde1891b7 --- /dev/null +++ b/docs/_sources/user-docs/menus/disassembly-context-menu/set-as-code-data-string.rst.txt @@ -0,0 +1,62 @@ +Set as Code\Data\String +============================== + +Set as Code +---------------------------------------- +**Description:** Set the current instruction to Code. This will force Cutter to display the current instruction as Code. + +**Steps:** Set as... -> Code + +**Shortcut:** :kbd:`C` + +Set as String (auto-detect length) +---------------------------------------- +**Description:** Set the current location to String. This will tell Cutter to treat the current address as a string and will auto-detect the length (e.g by looking for a string null-terminator). + +**Steps:** Right click on an instruction and choose ``Set as... -> String... -> Auto-detect`` + +**Shortcut:** :kbd:`A` + +Remove string definition +---------------------------------------- +**Description:** Remove a defined string in this address. Cutter will then treat this location as a code. + +**Steps:** Right click on an instruction and choose ``Set as... -> String... -> Remove``. + +Set as String (Advance dialog) +---------------------------------------- +**Description:** Set the current location to String. This will open a String definition dialog in which the user will supply the length and the type (ASCII, UTF8, ...) of the string. Cutter will then treat the current address as the defined string. + +**Steps:** Right click on an instruction and choose ``Set as... -> String... -> Advanced``. + +Set as data (bytes) +---------------------------------------- +**Description:** Convert the instruction to data of Bytes. + +**Steps:** Right click on an instruction and choose ``Set as... -> Data... -> Byte`` + +Set as data (Word) +---------------------------------------- +**Description:** Convert the instruction to data of Words. + +**Steps:** Right click on an instruction and choose ``Set as... -> Data... -> Word`` + +Set as data (Dword) +---------------------------------------- +**Description:** Convert the instruction to data of Dwords. + +**Steps:** Right click on an instruction and choose ``Set as... -> Data... -> Dword`` + +Set as data (Qword) +---------------------------------------- +**Description:** Convert the instruction to data of Qwords. + +**Steps:** Right click on an instruction and choose ``Set as... -> Data... -> Qword`` + +Set as data (Advanced) +---------------------------------------- +**Description:** Open an advanced dialog to define the custom data type of the current instruction. + +**Steps:** Right click on an instruction and choose ``Set as... -> Data... -> ...`` + +**Shortcut:** :kbd:`*` \ No newline at end of file diff --git a/docs/_sources/user-docs/menus/disassembly-context-menu/set-current-bits.rst.txt b/docs/_sources/user-docs/menus/disassembly-context-menu/set-current-bits.rst.txt new file mode 100644 index 000000000..0a6d55ff0 --- /dev/null +++ b/docs/_sources/user-docs/menus/disassembly-context-menu/set-current-bits.rst.txt @@ -0,0 +1,20 @@ +Set Current Bits +============================== + +Set Current Bits to 16 +---------------------------------------- +**Description:** Set the current instruction to 16-bit. + +**Steps:** Right-click on an instruction and choose ``Set current bits to... -> 16`` + +Set Current Bits to 32 +---------------------------------------- +**Description:** Set the current instruction to 32-bit. + +**Steps:** Right-click on an instruction and choose ``Set current bits to... -> 32`` + +Set Current Bits to 64 +---------------------------------------- +**Description:** Set the current instruction to 64-bit. + +**Steps:** Right-click on an instruction and choose ``Set current bits to... -> 64`` \ No newline at end of file diff --git a/docs/_sources/user-docs/menus/disassembly-context-menu/set-immediate-base.rst.txt b/docs/_sources/user-docs/menus/disassembly-context-menu/set-immediate-base.rst.txt new file mode 100644 index 000000000..4113af96c --- /dev/null +++ b/docs/_sources/user-docs/menus/disassembly-context-menu/set-immediate-base.rst.txt @@ -0,0 +1,50 @@ +Set Immediate Base +============================== + +Set Immediate Base to Binary +---------------------------------------- +**Description:** Set the immediate value of the operand to a Binary representation. + +**Steps:** Right-click on an immediate base of instruction and choose ``Set Immediate Base to... -> Binary`` + +Set Immediate Base to Octal +---------------------------------------- +**Description:** Set the immediate value of the operand to an Octal representation. + +**Steps:** Right-click on an immediate base of instruction and choose ``Set Immediate Base to... -> Octal`` + +Set Immediate Base to Decimal +---------------------------------------- +**Description:** Set the immediate value of the operand to a Decimal representation. + +**Steps:** Right-click on an immediate base of instruction and choose ``Set Immediate Base to... -> Decimal`` + +Set Immediate Base to Hexadecimal +---------------------------------------- +**Description:** Set the immediate value of the operand to Hexadecimal. + +**Steps:** Right-click on an immediate base of instruction and choose ``Set Immediate Base to... -> Hexadecimal`` + +Set Immediate Base to Network Port +---------------------------------------- +**Description:** Set the immediate value of the operand to a Network Port + +**Steps:** Right-click on an immediate base of instruction and choose ``Set Immediate Base to... -> Network Port`` + +Set Immediate Base to IP Address +---------------------------------------- +**Description:** Set the immediate value of the operand to an IP Address + +**Steps:** Right-click on an immediate base of instruction and choose ``Set Immediate Base to... -> IP Address`` + +Set Immediate Base to Syscall +---------------------------------------- +**Description:** Set the immediate value of the operand to Syscall + +**Steps:** Right-click on an immediate base of instruction and choose ``Set Immediate Base to... -> Syscall`` + +Set Immediate Base to String +---------------------------------------- +**Description:** Set the immediate value of the operand to String + +**Steps:** Right-click on an immediate base of instruction and choose ``Set Immediate Base to... -> String`` \ No newline at end of file diff --git a/docs/_sources/user-docs/menus/graph-widget-context-menu.rst.txt b/docs/_sources/user-docs/menus/graph-widget-context-menu.rst.txt new file mode 100644 index 000000000..a73323158 --- /dev/null +++ b/docs/_sources/user-docs/menus/graph-widget-context-menu.rst.txt @@ -0,0 +1,68 @@ +Graph Widget Context Menu +============================== + + +Highlight Block +---------------------------------------- +**Description:** Open the Color Picker dialog to set a background color for the selected block in the Graph view. + +**Steps:** Right-click on a node\block in the Graph view and choose ``Highlight block``. + +UnHighlight Block +---------------------------------------- +**Description:** If a block in the Graph view is highlighted, this option will unhighlight it and restore the original color. + +**Steps:** Right-click on a highlighted node\block in the Graph view and choose ``Unhighlight block``. + +Highlight Instruction +---------------------------------------- +**Description:** Open the Color Picker dialog to set a background color for the selected instruction in the Graph view. + +**Steps:** Right-click on an instruction in the Graph view and choose ``Highlight instruction``. + +UnHighlight Instruction +---------------------------------------- +**Description:** If an instruction in the Graph view is highlighted, this option will unhighlight it and restore the original color. + +**Steps:** Right-click on a highlighted instruction in the Graph view and choose ``Unhighlight instruction``. + +Export Graph +---------------------------------------- +**Description:** Export the current graph to one of the following formats: + - PNG Image + - JPEG Image + - SVG Image + +When Graphviz is installed, the following options are also available: + - Graphviz PostScript File + - Graphviz Dot File + - Graphviz JSON File + - Graphviz Gif Image + - Graphviz PNG Image + - Graphviz JPG Image + - Graphviz SVG Image + +**Steps:** Right-click anywhere on the Graph view and choose ``Export Graph``. + + +Graph Layout Direction +---------------------------------------- +**Description:** Graph layout direction can be either vertical top to bottom or horizontal left to right. + + +**Steps:** Right-click anywhere on the Graph view ``Layout -> Horizontal``. + +Choose Graph Layout +---------------------------------------- +**Description:** Choose the layout to be used by Cutter to display the Graph. Cutter supports the following Graph layout algorithms: + + - Grid narrow + - Grid medium + - Grid wide + +When Graphviz is installed, the following options are also available: + + - Graphviz polyline + - Graphviz ortho + +**Steps:** Right-click anywhere on the Graph view and choose a layout from the ``Layout`` sub-menu. \ No newline at end of file diff --git a/docs/_sources/user-docs/menus/hexdump-context-menu/patching.rst.txt b/docs/_sources/user-docs/menus/hexdump-context-menu/patching.rst.txt new file mode 100644 index 000000000..1e5eb53cc --- /dev/null +++ b/docs/_sources/user-docs/menus/hexdump-context-menu/patching.rst.txt @@ -0,0 +1,63 @@ +Patching +============================== + +Write String +---------------------------------------- +**Description:** Write ASCII string at the current location. If multiple bytes are selected, the string will be written from the start of the selection. Please note, this item won't write a null-terminated nor wide string. Please see the other items for these features. + +**Steps:** Right-click on a byte and select ``Edit -> Write string`` + +Write Length and String +---------------------------------------- +**Description:** Write a length prefix followed by ASCII string at the current location. If multiple bytes are selected, the string will be written from the start of the selection. Please note, although similar to BSTR in its concept, this item would not add a null terminator WCHAR at the end of the string. + +**Steps:** Right-click on a byte and select ``Edit -> Write length and string`` + + +Write Wide String +---------------------------------------- +**Description:** Write null-terminated wide string at the current location. If multiple bytes are selected, the string will be written from the start of the selection. + +**Steps:** Right-click on a byte and select ``Edit -> Write wide string`` + + +Write Null-Terminated String +---------------------------------------- +**Description:** Write a null-terminated ASCII string at the current location. If multiple bytes are selected, the string will be written from the start of the selection. + +**Steps:** Right-click on a byte and select ``Edit -> Write zero terminated string`` + + +Write Encoded\\Decoded Base64 String +---------------------------------------- +**Description:** Write an encoded or decoded base64 string at the current location. If multiple bytes are selected, the string will be written from the start of the selection. + +**Steps:** Right-click on a byte and select ``Edit -> Write De\Encoded Base64 string`` . On the dialog that will open choose whether you want to encode a string or decode one. + + +Write Zeroes +---------------------------------------- +**Description:** Write null-bytes at the current location. The number of null-bytes is specified by the user. If multiple bytes are selected, the null-bytes will be written from the start of the selection. + +**Steps:** Right-click on a byte and select ``Edit -> Write zeroes``. On the dialog that will open, specify how many null-bytes you'd like to write. + + +Write Random Bytes +---------------------------------------- +**Description:** Write random bytes at the current location. The number of bytes is specified by the user. If multiple bytes are selected, the null-bytes will be written from the start of the selection. + +**Steps:** Right-click on a byte and select ``Edit -> Write random bytes``. On the dialog that will open, specify how many bytes you'd like to write. + + +Duplicate Bytes From Offset +---------------------------------------- +**Description:** Duplicate N bytes from an offset to the current location. The number of bytes to duplicated and the offset of origin are specified by the user. If multiple bytes are selected, the bytes will be written from the start of the selection. A preview pane will display the bytes to be copied. + +**Steps:** Right-click on a byte and select ``Edit -> Duplicate from offset``. On the dialog that will open, specify the offset from which to copy, and how many bytes to copy. + + +Increment/Decrement Bytes +---------------------------------------- +**Description:** Increment or decrement Byte, Word, Dword or Qword at the current location. The value to add or subtract from the location is specified by the user. If multiple bytes are selected, the function will apply on the start of the selection. + +**Steps:** Right-click on a byte and select ``Edit -> Increment/Decrement``. On the dialog that will open, specify if you'd like to modify a Byte, Word, Dword or Qword, choose the value of the operation, and choose whether you want to increment or decrement. \ No newline at end of file diff --git a/docs/_sources/user-docs/menus/hexdump-widget-context-menu.rst.txt b/docs/_sources/user-docs/menus/hexdump-widget-context-menu.rst.txt new file mode 100644 index 000000000..91cab63e0 --- /dev/null +++ b/docs/_sources/user-docs/menus/hexdump-widget-context-menu.rst.txt @@ -0,0 +1,20 @@ +Hexdump Widget Context Menu +============================== +.. toctree:: + :maxdepth: 1 + :glob: + + hexdump-context-menu/* + +Bytes Per Row +---------------------------------------- +**Description:** Select how many bytes should be displayed by Cutter in each row in the Hexdump widget. + +Available options are: + - 1 byte + - 2 bytes + - 4 bytes + - 8 bytes + - 16 bytes + - 32 bytes + - Power of 2 (Auto) \ No newline at end of file diff --git a/docs/_sources/user-docs/menus/information-windows-menu.rst.txt b/docs/_sources/user-docs/menus/information-windows-menu.rst.txt new file mode 100644 index 000000000..ee35bbfff --- /dev/null +++ b/docs/_sources/user-docs/menus/information-windows-menu.rst.txt @@ -0,0 +1,96 @@ +Information Windows Menu +============================== + +Info sub-menu +---------------------------------------- +**Description:** This is a sub-menu of the Windows menu. It contains a list of available widgets to get more information about the opened binary. + +**Steps:** Windows -> Info... + +Show Classes +---------------------------------------- +**Description:** List the classes that were detected in the binary. + +**Steps:** Windows -> Info... -> Classes + +Show Entry Points +---------------------------------------- +**Description:** List the entry points of the binary + +**Steps:** Windows -> Info... -> Entry Points + +Show Exports +---------------------------------------- +**Description:** Show a list of exported functions in the binary. + +**Steps:** Windows -> Info... -> Exports + +**Shortcut:** :kbd:`Shift` + :kbd:`E` + +Show Flags +---------------------------------------- +**Description:** Show the Flags widget. Flags are conceptually similar to bookmarks. They associate a name with a given offset in a file. Function names, strings, and more are considered flags. + +**Steps:** Windows -> Info... -> Flags + +Show Headers +---------------------------------------- +**Description:** Show the Headers widget, displaying information about the opened file headers. + +**Steps:** Windows -> Info... -> Headers + +Show Imports +---------------------------------------- +**Description:** Show the Imports widget with a list of all the imported functions required by the binary. + +**Steps:** Windows -> Info... -> Imports + +**Shortcut:** :kbd:`Shift` + :kbd:`I` + +Show Relocations +---------------------------------------- +**Description:** Show the Relocations widget, displaying a list of relocation information. + +**Steps:** Windows -> Info... -> Relocs + +Show Resources +---------------------------------------- +**Description:** Show the resources widget, which contains a list of the resources inside the binary. + +**Steps:** Windows -> Info... -> Resources + +Show SDB Browser +---------------------------------------- +**Description:** Show the SDB browser widget. + +**Steps:** Windows -> Info... -> SDB Browser + +Show Sections +---------------------------------------- +**Description:** Show the Sections widget which contains a list of all the sections found in the binary. The view also contains a nice visualization of raw and virtual memory layout. + +**Steps:** Windows -> Info... -> Sections + +Show Segments +---------------------------------------- +**Description:** Show the Segments widget with a list of the binary segments. + +**Steps:** Windows -> Info... -> Segments + +Show Symbols +---------------------------------------- +**Description:** Show the Symbols widget, with a list of symbol information from the binary, such as function names, and more. + +**Steps:** Windows -> Info... -> Symbols + +Show VTables +---------------------------------------- +**Description:** Show the VTables widget, which contains information about the Virtual Tables found in the binary. + +**Steps:** Windows -> Info... -> VTables + +Show Signatures +---------------------------------------- +**Description:** Cutter supports the creation and the utilization of signatures. This widget lists all the signatures available to cutter. + +**Steps:** Windows -> Info... -> Signatures \ No newline at end of file diff --git a/docs/_sources/user-docs/menus/menu-bar.rst.txt b/docs/_sources/user-docs/menus/menu-bar.rst.txt new file mode 100644 index 000000000..27258f8e1 --- /dev/null +++ b/docs/_sources/user-docs/menus/menu-bar.rst.txt @@ -0,0 +1,21 @@ +Menu Bar +======== + +Depending on your desktop environment menu bar is located either at the top of the window +or top of the screen. + +.. toctree:: + :maxdepth: 2 + :glob: + + menu-bar/file-menu + menu-bar/edit-menu + menu-bar/view-menu + menu-bar/windows-menu + menu-bar/plugins-menu + menu-bar/debug-menu + menu-bar/debug-view-menu + menu-bar/help-menu + menu-bar/* + + diff --git a/docs/_sources/user-docs/menus/menu-bar/debug-menu.rst.txt b/docs/_sources/user-docs/menus/menu-bar/debug-menu.rst.txt new file mode 100644 index 000000000..d6643aec0 --- /dev/null +++ b/docs/_sources/user-docs/menus/menu-bar/debug-menu.rst.txt @@ -0,0 +1,73 @@ +Debug Menu +============================== + + +Start Debugging +---------------------------------------- +**Description:** Start the debugging session of the current loaded binary. + +**Steps:** Debug -> Start debug + +**Shortcut:** :kbd:`F9` + +Start Emulation +---------------------------------------- +**Description:** Start an emulation session on the current loaded binary. Cutter supports emulation of different file formats. Unlike debugging, emulation isn't really executing the binary, but only emulating the instructions. This is very strong feature for analysis of self-contained functions or programs, to analyze cryptographic algorithms or to deobfuscate data. Emulation isn't limited by the running platform, so Linux files such as ELF can be emulated on Windows platforms, and DLL can be emulated on Linux. + +**Steps:** Debug -> Start emulation + +Attach to Process +---------------------------------------- +**Description:** Attach Cutter's debugger to a running process, instead of spawning a new process. + +**Steps:** Debug -> Attach to process + +Connect to a Remote Debugger +---------------------------------------- +**Description:** Connect Cutter to a remote debugger such as GDB ot WinDbg by providing IP and Port of the remote debugger.. + +**Steps:** Debug -> Connect to a remote debugger + +Step Into +---------------------------------------- +**Description:** Execute a single assembler instruction, stepping into functions and loops. + +**Steps:** Debug -> Step + +**Shortcut:** :kbd:`F7` + +Step Over +---------------------------------------- +**Description:** Execute a single assembler instruction, stepping over functions and procedures. The functions will not be skipped and will be executed by Cutter. The execution will pause when reaching the instruction after the function call. + +**Steps:** Debug -> Step over + +**Shortcut:** :kbd:`F8` + +Step Out +---------------------------------------- +**Description:** Execute the code and suspends execution when the current function returns + +**Steps:** Debug -> Step out + +**Shortcut:** :kbd:`Ctrl` + :kbd:`F8` + +Continue +---------------------------------------- +**Description:** Continue the execution of the running program. The execution will stop when reached a breakpoint, when manually suspended by the user, or when the running program quits. + +**Steps:** Debug -> Continue + +**Shortcut:** :kbd:`F5` + +Continue Until Call +---------------------------------------- +**Description:** Continue the execution of the program until a function call is reached. + +**Steps:** Debug -> Continue until call + +Continue Until Syscall +---------------------------------------- +**Description:** Continue the execution of the program until a Syscall is reached. + +**Steps:** Debug -> Continue until syscall diff --git a/docs/_sources/user-docs/menus/menu-bar/debug-view-menu.rst.txt b/docs/_sources/user-docs/menus/menu-bar/debug-view-menu.rst.txt new file mode 100644 index 000000000..7dd4acecb --- /dev/null +++ b/docs/_sources/user-docs/menus/menu-bar/debug-view-menu.rst.txt @@ -0,0 +1,64 @@ +Debug -> View Menu +============================== + +Show Backtrace +---------------------------------------- +**Description:** Display the Backtrace window. +***Note:** This view only available on Debug mode.* + + +**Steps:** Debug -> View -> Backtrace + +Show Breakpoints +---------------------------------------- +**Description:** Show the Breakpoints widget in which you can list, manage, add, remove and define breakpoints. + +**Steps:** Debug -> View -> Breakpoints + +Show Threads +---------------------------------------- +**Description:** List the threads of the running application. +***Note:** This view only available on Debug mode.* + + +**Steps:** Debug -> View -> Threads + +Show Processes +---------------------------------------- +**Description:** The processes widget shows all the child processes and allows the user to switch between them. This is useful feature for kernel debugging or for following forks. +***Note:** This view only available on Debug mode.* + + +**Steps:** Debug -> View -> Processes + +Show Memory Map +---------------------------------------- +**Description:** Show the Memory Map widget which shows the mapped memory pages of the running process. Including mapped memory of loaded libraries and dynamically allocated maps. +***Note:** This view only available on Debug mode.* + + +**Steps:** Debug -> View -> Memory map + +Show Registers +---------------------------------------- +**Description:** Show the Registers widget with information of the registers and their value of the running process. The widget allows not only to view registers and flags, but also to manipulate and modify them. +***Note:** This view only available on Debug mode.* + + +**Steps:** Debug -> View -> Registers + +Show Register References +---------------------------------------- +**Description:** The Register References widget is an extended view of the Register widget which allows you to "telescope", dereference, the register values in multiple depths. +***Note:** This view only available on Debug mode.* + + +**Steps:** Debug -> View -> Register References + +Show Stack +---------------------------------------- +**Description:** Show the Stack widget, listing the stack values and structure of the running process. +***Note:** This view only available on Debug mode.* + + +**Steps:** Debug -> View -> Stack diff --git a/docs/_sources/user-docs/menus/menu-bar/edit-menu.rst.txt b/docs/_sources/user-docs/menus/menu-bar/edit-menu.rst.txt new file mode 100644 index 000000000..7eedb4c82 --- /dev/null +++ b/docs/_sources/user-docs/menus/menu-bar/edit-menu.rst.txt @@ -0,0 +1,30 @@ +Edit Menu +============================== + +Show Search Widget +---------------------------------------- +**Description:** Show the Search widget + +**Steps:** Edit -> Search + +Go Back +---------------------------------------- +**Description:** Seek backward to your previous location. + +**Steps:** Edit -> Undo Seek + +**Shortcut:** :kbd:`Alt` + :kbd:`Left` + +Redo Seek +---------------------------------------- +**Description:** Seek forward a location. + +**Steps:** Edit -> Redo Seek + +**Shortcut:** :kbd:`Alt` + :kbd:`Right` + +Preferences +---------------------------------------- +**Description:** Open the preferences dialog to access and define Cutter's configurations. + +**Steps:** Edit -> Preferences \ No newline at end of file diff --git a/docs/_sources/user-docs/menus/menu-bar/file-menu.rst.txt b/docs/_sources/user-docs/menus/menu-bar/file-menu.rst.txt new file mode 100644 index 000000000..9b40560a8 --- /dev/null +++ b/docs/_sources/user-docs/menus/menu-bar/file-menu.rst.txt @@ -0,0 +1,98 @@ +File Menu +============================== + +New Instance of Cutter +---------------------------------------- +**Description:** Open a new instance of Cutter to start a new session. This option will open a new window of Cutter without exiting the current session. + +**Steps:** File -> New Window + +**Shortcut:** :kbd:`Ctrl` + :kbd:`N` + +Map a New File +---------------------------------------- +**Description:** Cutter allows you to map the contents of other files into the same I/O space used to contain the loaded binary. The new contents can be placed at random or specific offsets. +Specifically, Cutter is able to open files and map portions of them at random or specific places in memory. It is the perfect basic tooling to reproduce an environment like a core file, a debug session, or a framework by also loading and mapping all the libraries and files the binary depends on. + +**Steps:** File -> Map File + +**Shortcut:** :kbd:`Ctrl` + :kbd:`M` + +Import a PDB File +---------------------------------------- +**Description:** Cutter allows you to load additional debugging information by loading external PDB files. Unlike other platforms, Cutter does not rely on Windows API to parse a PDB files, thus they can be loaded on any other supported platform like Linux or macOS. + +**Steps:** File -> Import PDB + +Enable Write Mode +----------------------- +**Description:** This option will enable Write mode and allow you to patch and edit the binary on disk. **Please note** that when Write mode is enabled, each change you make to the binary in Cutter will be applied to the original file on disk. In order not to take unnecessary risks, consider using Cache mode instead. + +**Steps:** File -> Set mode -> Write mode + + +Enable Cache Mode +----------------------- +**Description:** This option will enable Cache mode and allow you to patch and edit the binary **without** applying the changes to the file on disk. Unlike in Write mode, in Cache mode, the changes you make to the binary in Cutter will not be applied to the original file on disk unless you specifically committing them using the "Commit changes" menu item. This is safer than using Write mode because there is no risk to lose important data. + +**Steps:** File -> Set mode -> Cache mode + + +Enable Read-Only Mode +------------------------ +**Description:** This option is available when files are opened in Write or Cache modes. When Read-Only mode is enabled, no patches and editions to the file are allowed. This is the default mode for files in Cutter, unless specified otherwise by the user, by either enabling Write or Cache mode. + +**Steps:** File -> Set mode -> Read-Only mode + +Commit Changes from Cache +---------------------------- +**Description:** Apply the changes performed in Cache mode to the file on disk. Cache mode will not apply the changes and patches made unless the user clicks "Commit changes". To automatically apply every change to the file on disk, use the less-safer Write mode. + +**Steps:** File -> Commit changes + + +Save Project +---------------------------------------- +**Description:** Save your session to a project. If no project file assigned to your session, the "Save as..." dialog will open. + +**Steps:** File -> Save + +**Shortcut:** :kbd:`Ctrl` + :kbd:`S` + +Save Project as... +---------------------------------------- +**Description:** Save the current state of your session, including function names, comments, and more. +**Note:** This feature is currently in `Beta`_. + + +**Steps:** File -> Save As... + +Export to Code +---------------------------------------- +**Description:** Export the entire binary in different formats that later can be used in your favorite programming language. The feature supports many formats such as Python arrays, java, several C array formats, javascript, and more. +***Note:** This isn't a decompilation feature.* + + +**Steps:** File -> Export as code + +Run a Rizin Script +---------------------------------------- +**Description:** Cutter allows you to execute Rizin scripts to automate task or transfer information. Rizin scripts are files that contain list of Rizin commands. The scripts can be created manually by you, or automatically generated by Rizin commands (which typically end with a star character. e.g. ``afl*``). + +Such a script can look like this: + +.. code-block:: + + ?e hello world + ?v 10+5 + pdf @ main + +**Steps:** File -> Run Rizin script + +Quit Cutter +---------------------------------------- +**Description:** Quit and exit your current session of Cutter. On exit, you'll be asked whether you want to save your session in order to avoid losing data. + +**Steps:** File -> Quit + +**Shortcut:** :kbd:`Ctrl` + :kbd:`Q` diff --git a/docs/_sources/user-docs/menus/menu-bar/help-menu.rst.txt b/docs/_sources/user-docs/menus/menu-bar/help-menu.rst.txt new file mode 100644 index 000000000..4bbe25294 --- /dev/null +++ b/docs/_sources/user-docs/menus/menu-bar/help-menu.rst.txt @@ -0,0 +1,20 @@ +Help Menu +============================== + +About +---------------------------------------- +**Description:** Learn more about Cutter. View the current version of the application, the installed plugins, the authors, building options, the license, and more. + +**Steps:** Help -> About + +Report an Issue +---------------------------------------- +**Description:** Quickly report an issue to Cutter's GitHub repository. Clicking this option will navigate your browser to the new-issue page in Cutter's GitHub repository. It will also automatically fill relevant information inside the issue template. + +**Steps:** Help -> Report an issue + +Documentation +--------------------------------------- +**Description:** Clicking this option will open the user documentation of Cutter in your browser. + +**Steps:** Help -> Documentation diff --git a/docs/_sources/user-docs/menus/menu-bar/plugins-menu.rst.txt b/docs/_sources/user-docs/menus/menu-bar/plugins-menu.rst.txt new file mode 100644 index 000000000..8d0fcbd22 --- /dev/null +++ b/docs/_sources/user-docs/menus/menu-bar/plugins-menu.rst.txt @@ -0,0 +1,8 @@ +Plugins Menu +============================== + +Plugins Sub-Menu +---------------------------------------- +**Description:** This menu will contain the windows and views created by the loaded plugins. By default, this menu is empty unless plugins added their actions and items to the menu. + +**Steps:** Windows -> Plugins diff --git a/docs/_sources/user-docs/menus/menu-bar/view-menu.rst.txt b/docs/_sources/user-docs/menus/menu-bar/view-menu.rst.txt new file mode 100644 index 000000000..5960e5d11 --- /dev/null +++ b/docs/_sources/user-docs/menus/menu-bar/view-menu.rst.txt @@ -0,0 +1,86 @@ +View Menu +============================== + + +Refresh Contents +---------------------------------------- +**Description:** In some cases, not all the displayed information on Cutter's widgets will be up-to-date, for example - after defining a new function from the integrated Rizin console. By refreshing the contents, Cutter will fetch the most up to date information from the session and will update the different views. + +***Note:** In the future, Cutter will be aware to any underlying change and will update everything automatically. This is currently a work-in-progress.* + + +**Steps:** View -> Refresh Contents + +Reset to Default Layout +---------------------------------------- +**Description:** Reset the current :doc:`layout` to the default layout provided by Cutter. + +**Steps:** View -> Reset to default layout + +Reset to Default Settings +---------------------------------------- +**Description:** Reset the current settings to the default settings defined by Cutter. + +**Steps:** View -> Reset Settings + +Lock and Unlock Panels +---------------------------------------- +**Description:** Allow or disable moving and closing of different widgets. Uncheck this option to prevent accidentally modifying current layout. + +**Steps:** View -> Unlock Panels + +Show Tabs at the Top +---------------------------------------- +**Description:** Toggle the position of the tab bar. + +**Steps:** View -> Show Tabs at the Top + +Grouped Dock Dragging +---------------------------------------- +**Description:** When enabled, dragging a widget will also drag the widgets which are grouped to it. You can drag a specific widget from a group by dragging from the tab itself and not from the title bar. Disable this option to always drag individual widgets. + +**Steps:** View -> Grouped dock dragging + + +Zoom In +---------------------------------------- +**Description:** Zoom-In inside different widgets such as Graph, Disassembly and Hexdump. + +**Steps:** View -> Zoom -> Zoom In + +**Shortcut:** :kbd:`Ctrl` + :kbd:`+` + +Zoom Out +---------------------------------------- +**Description:** Zoom-Out inside different widgets such as Graph, Disassembly and Hexdump. + +**Steps:** View -> Zoom -> Zoom Out + +**Shortcut:** :kbd:`Ctrl` + :kbd:`-` + +Reset Zoom +---------------------------------------- +**Description:** Reset the zoom to its default size. + +**Steps:** View -> Zoom -> Reset + +**Shortcut:** :kbd:`Ctrl` + :kbd:`=` + + +Manage Layouts +---------------------------------------- +**Description:** Rename and delete saved :doc:`layouts`. + +**Steps:** View -> Manage layouts , select layout, choose command + +Save Layout +---------------------------------------- +**Description:** Save the current :doc:`layout` with a given name. A layout includes the set of currently opened widgets, their position, and some properties. + +**Steps:** View -> Save Layout , enter a layout name in the dialog. + +Layouts +---------------------------------------- +**Description:** Load the settings from the selected :doc:`layout` into the current layout. Loading a layout will not cause it to automatically be modified. To do that you must use the `Save layout`_ command. + +**Steps:** View -> Layouts -> layout name diff --git a/docs/_sources/user-docs/menus/menu-bar/windows-menu.rst.txt b/docs/_sources/user-docs/menus/menu-bar/windows-menu.rst.txt new file mode 100644 index 000000000..66e6e97b2 --- /dev/null +++ b/docs/_sources/user-docs/menus/menu-bar/windows-menu.rst.txt @@ -0,0 +1,103 @@ +Windows Menu +============================== + +Show Dashboard +---------------------------------------- +**Description:** Show the Dashboard panel. Cutter's dashboard contains basic information about the binary. On the Dashboard you can find: + - File name + - Binary format (PE, ELF64, ...) + - Bits (16, 32, 64, ...) + - Binary Architecture (x86, ARM, ...) + - Access mode (Read, Write, Execute) + - Size + - Binary type + - Written Language + - Compiler detection + - Stack Canaries + - NX bit + - Position independent code + - Checksums (MD5, SHA1, ...) + - Entropy + - and more... + + +**Steps:** Windows -> Dashboard + +Show Functions +---------------------------------------- +**Description:** Display the list of functions identified by Cutter. The list also contains information about each function such as name, address, size, and more. Some functions like Main, Entrypoint and external functions are highlighted with specific colors to make them easier to spot. + +**Steps:** Windows -> Functions + +Show Decompiler +---------------------------------------- +**Description:** Cutter releases are shipped with two decompilers by default - [rz-ghidra](https://github.com/rizinorg/rz-ghidra) and [rz-dec](#) which will be available soon. The Decompiler view will display the decompilation of the current function. The widget is interactive and support address-syncing, renaming, re-typing and more. Cutter can be extended with more decompilers. + +**Steps:** Windows -> Decompiler + +Graph Overview +---------------------------------------- +**Description:** One of the main views of Cutter allows you to navigate inside functions in a graph mode. Graph overview will only display a zoomed-out form of the graph, and will help the user understand the flow of a function as a whole. + +**Steps:** Windows -> Graph Overview + +Show Search +---------------------------------------- +**Description:** Show the Search panel in which you can search data, strings, hex and more in the opened binary. + +**Steps:** Windows -> Search + +Show Strings +---------------------------------------- +**Description:** Show the Strings view that will display all the printable strings in the program. A combo-box will allow the user to choose whether they want to view strings from the entire binary or from specific segments and sections. + +**Steps:** Windows -> Strings + +**Shortcut:** :kbd:`Shift` + :kbd:`F12` + +Show Types +---------------------------------------- +**Description:** Show the Types widget in which you can define, load, export and manage data types such as Structures and Enums, + +**Steps:** Windows -> Types + +Add a new instance of the Decompiler Widget +---------------------------------------------- +**Description:** Create a new instance of the Decompiler widget in order to view multiple decompiled functions using multiple supported decompilers. + +**Steps:** Windows -> Add Decompiler + +Add a new instance of the Disassembly Widget +---------------------------------------------- +**Description:** Create a new instance of the Disassembly widget in order to view one or multiple locations at the same time. + +**Steps:** Windows -> Add Disassembly + +Add a new instance of the Graph Widget +---------------------------------------- +**Description:** One of the main views of Cutter allows you to navigate inside functions in a graph mode. This view displays the flow of a function where each node on the graph represents a basic block in the function. The edges coming-to and getting-out of the blocks represent the control flow. The menu item will create a new instance of the Graph widget in order to view one or multiple locations at the same time. + +**Steps:** Windows -> Add Graph + +Add a new instance of the Hexdump Widget +------------------------------------------- +**Description:** Create a new instance of the Hexdump widget in order to view one or multiple locations at the same time. + +**Steps:** Windows -> Add Hexdump + +**Shortcut:** :kbd:`Shift` + :kbd:`G` + + +Show Comments +---------------------------------------- +**Description:** Show the comments widgets in order to view the automatic and user-defined comments in this session. + +**Steps:** Windows -> Comments + +Show Console +---------------------------------------- +**Description:** Open the integrated Rizin console. This will allow you to execute Rizin commands straight from Cutter. + +**Steps:** Windows -> Console + +**Shortcut:** :kbd:`:` or :kbd:`Ctrl` + :kbd:`\`` diff --git a/docs/_sources/user-docs/menus/registers-widget-context-menu.rst.txt b/docs/_sources/user-docs/menus/registers-widget-context-menu.rst.txt new file mode 100644 index 000000000..9b02020fe --- /dev/null +++ b/docs/_sources/user-docs/menus/registers-widget-context-menu.rst.txt @@ -0,0 +1,14 @@ +Registers Widget Context Menu +============================== + +Copy Register Value +---------------------------------------- +**Description:** Copy the value of the selected register. *This option is only available on Debug or Emulation modes*. + +**Steps:** Right-click a register in the widget and choose ``Copy register value``. + +Copy Register Reference +---------------------------------------- +**Description:** Copy the value of the data referenced from the selected register. *This option is only available on Debug or Emulation modes*. + +**Steps:** Right-click a register in the widget and choose ``Copy register reference``. \ No newline at end of file diff --git a/docs/_sources/user-docs/menus/set-table-layout.rst.txt b/docs/_sources/user-docs/menus/set-table-layout.rst.txt new file mode 100644 index 000000000..e2652a744 --- /dev/null +++ b/docs/_sources/user-docs/menus/set-table-layout.rst.txt @@ -0,0 +1,14 @@ +Set Table Layout +============================== + +Set Table Layout to Horizontal +---------------------------------------- +**Description:** This option sets the layout of the current widget to Horizontal, in which each row contains one or more columns with relevant information (such as offset, size, name, etc). This is the default view in most of the widgets in Cutter. + +**Steps:** Right-click on a widget title and select ``Horizontal``. + +Set Table Layout to Vertical +---------------------------------------- +**Description:** This option sets the layout of the current widget to Vertical, in which the items are displayed in a tree-like view, where every item can be expanded to view more information. + +**Steps:** Right-click on a widget title and select ``Vertical`` \ No newline at end of file diff --git a/docs/_sources/user-docs/menus/stack-widget-context-menu.rst.txt b/docs/_sources/user-docs/menus/stack-widget-context-menu.rst.txt new file mode 100644 index 000000000..54e81c9d2 --- /dev/null +++ b/docs/_sources/user-docs/menus/stack-widget-context-menu.rst.txt @@ -0,0 +1,9 @@ +Stack Widget Context Menu +============================== + + +Edit Stack Value +---------------------------------------- +**Description:** Edit the value of the current stack item using a dialog. + +**Steps:** Right-click on an item in the Stack widget and choose ``Edit stack value...`` to open the edit dialog. \ No newline at end of file diff --git a/docs/_sources/user-docs/menus/syncing-a-widget.rst.txt b/docs/_sources/user-docs/menus/syncing-a-widget.rst.txt new file mode 100644 index 000000000..b20d9c843 --- /dev/null +++ b/docs/_sources/user-docs/menus/syncing-a-widget.rst.txt @@ -0,0 +1,9 @@ +Syncing a Widget +============================== + +Sync Widget to an Offset +---------------------------------------- +**Description:** By default, widgets like Disassembly, Graph, +Decompiler and Hexdump are synchronized with each other, pointing to the same address. A change in one widget will affect the others. We consider this feature as a Global-Seek. By un-syncing a widget, the widget will be independent of the global seek and will have its own seek location. Navigating in an unsynced widget will not change the Global-Seek of the rest of the widgets, and vice versa - Changing the Global-Seek will not affect the unsynced widget. Multiple widgets can be unsynced independently. + +**Steps:** -> Sync/unsync offset \ No newline at end of file diff --git a/docs/_sources/user-docs/preferences.rst.txt b/docs/_sources/user-docs/preferences.rst.txt new file mode 100644 index 000000000..3daf9c1cb --- /dev/null +++ b/docs/_sources/user-docs/preferences.rst.txt @@ -0,0 +1,13 @@ +Configuration +===================== +This part of the documentation will provide the reader with information about different configuration options available. +Most configuration is done using the Preferences dialog. It can be opened by clicking :ref:`Edit -> Preferences`. + +.. toctree:: + :maxdepth: 1 + :glob: + + preferences/analysis + preferences/initialization-script + preferences/layout + preferences/* diff --git a/docs/_sources/user-docs/preferences/analysis.rst.txt b/docs/_sources/user-docs/preferences/analysis.rst.txt new file mode 100644 index 000000000..c1396d7ad --- /dev/null +++ b/docs/_sources/user-docs/preferences/analysis.rst.txt @@ -0,0 +1,99 @@ +Analysis Options +================ + +Cutter will use the underlying Rizin analysis options to analyze a binary. These options are usually +configured when the binary is first loaded. However, they can be later changed using the Analysis +dialog, and a new analysis that takes these options into account can then be performed. + +Analysis Dialog +--------------- + +.. image:: ../../images/analysis_dialog.png + :alt: Analysis dialog + +**Description:** The Analysis dialog allows setting some Rizin's analysis options. The supported options are described +below. + +Clicking on the "Analyze Program" button will trigger an analysis of the current binary with Rizin's ``aaa`` +command, taking into account the configured values of the analysis options. + +**Steps to open:** ``Edit -> Preferences -> Analysis`` + +Search boundaries for analysis +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +Select the boundaries in which the analyis will be performed. The different options are: + +- All executable maps (``io.maps.x``) +- All maps (``io.maps``) +- Current map (``io.map``) +- Raw (``raw``) +- Current mapped section (``bin.section``) +- All mapped sections (``bin.sections``) + +**Configuration variable:** ``analysis.in`` + +Speculatively set a name for the functions +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +Try to name functions without symbols by using artifacts in the functions such as API calls and strings. + +**Configuration variable:** ``analysis.autoname`` + + +Search for new functions following already defined functions +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +Cutter will check if there is a candidate for a new function following an already defined one, as the compiler usually +state them together. This option is taking the advantages of both Recursive Analysis and Linear Sweep into some kind of a hybrid mode. For each discovered function, the analysis will try to check for a function-prologue, usually following a gap of null bytes or ``cc`` bytes. This will help with discovering functions which are not referenced in the program. As such, it will make the analysis slower and prone to false-positives. + +**Configuration variable:** ``analysis.hasnext`` + + +Create references for unconditional jumps +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +When encountering unconditional jumps during the analysis, Cutter will add a code-reference even if it is not guaranteed +that the jump will take place. + +**Configuration variable:** ``analysis.jmp.ref`` + + +Analyze jump tables in switch statements +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +When encountering switch statements during analysis, continue and analyze the target blocks of the jump tables. + +**Configuration variable:** ``analysis.jmp.tbl`` + + +Analyze ``push`` + ``ret`` as ``jmp`` +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +When performing analysis of a function, treat the sequence of ``push`` followed by ``ret`` instruction as a ``jmp``. +This can help Cutter to continue the analysis to target of the ``jmp``. + +**Configuration variable:** ``analysis.pushret`` + + +Show verbose information when performing analysis +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +When enabled, Cutter will print warnings it encountered while preforming analysis. These warnings can help the user +understand if anything went wrong in the analysis. This function is not only helpful when trying to perform a full +analysis of the program, but also when trying to analyze and define new functions. + +**Configuration variable:** ``analysis.verbose`` + + +Verbose output from type analysis +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +Print warnings encountered while preforming type analysis. These warnings can help the user understand if anything went +wrong in the analysis. + +**Configuration variable:** ``analysis.types.verbose`` + +Pointer depth +~~~~~~~~~~~~~ +The maximum number of nested pointers to follow in analysis. + +**Configuration variable:** ``analysis.ptrdepth`` + +Functions prelude +~~~~~~~ +Hex value that represents certain opcodes that will be used to identify functions. + +**Configuration variable:** ``analysis.prelude`` diff --git a/docs/_sources/user-docs/preferences/initialization-script.rst.txt b/docs/_sources/user-docs/preferences/initialization-script.rst.txt new file mode 100644 index 000000000..fa92a5a59 --- /dev/null +++ b/docs/_sources/user-docs/preferences/initialization-script.rst.txt @@ -0,0 +1,17 @@ +Initialization Script +=================================== + +On the launch of Cutter, it loads ``.cutterrc`` files from various locations if they are present. The directories from where ``.cutterrc`` files are loaded are all directories of type ``QStandardPaths::AppConfigLocation``. These locations vary according to OS. You can visit `here `__ to see all the locations. + +If multiple ``.cutterrc`` scripts are present in different directories, all of them will be loaded. In case of conflicting or contradictory commands, the corresponding command in the script loaded last will override all the previous commands. Cutter has a GUI editor for Initialization Script whose description is given below. The script from the editor will be the last loaded initialization script and hence will override all the previous scripts in the event of conflicting commands. + +Initialization Script Editor +----------------------------------- + +.. image:: ../../images/InitializationScriptEditor.png + :alt: Image of Initialization Script Editor + + +**Description:** You can add new commands and modify existing commands here. To save the script, click on the ``Save`` button. If you want to see the changes you have made without restarting Cutter, you can use the ``Execute`` button. The hyperlink that shows the location of the script will open the directory containing the script on click. + +**Steps to open:** ``Edit -> Preferences -> Initialization Script`` diff --git a/docs/_sources/user-docs/preferences/layout.rst.txt b/docs/_sources/user-docs/preferences/layout.rst.txt new file mode 100644 index 000000000..b9dc4c36a --- /dev/null +++ b/docs/_sources/user-docs/preferences/layout.rst.txt @@ -0,0 +1,21 @@ +Layout +====== + +The set of currently opened widgets, their placement, and some properties is grouped into layouts. +Cutter will automatically restore the last layout state when reopening Cutter. The last debug and normal layouts are stored separately. +You can :ref:`save` multiple named layouts for different use cases. +Use :doc:`../menus/menu-bar/view-menu` to :ref:`save`, +:ref:`load` or :ref:`user-docs/menus/menu-bar/view-menu:Reset to default layout`. +A named layout is never automatically modified. To modify a previously saved layout, instead of entering a new name, select +an existing layout from the list in Save Layout dialog. + +Layout Manager +----------------------------------- + +.. image:: ../../images/layout_manager.png + :alt: Layout manager dialog + + +**Description:** Layout manager allows renaming and deleting saved layouts. + +**Steps to open:** :doc:`View<../menus/menu-bar/view-menu>` -> :ref:`user-docs/menus/menu-bar/view-menu:Manage Layouts` diff --git a/docs/_sources/user-docs/shortcuts.rst.txt b/docs/_sources/user-docs/shortcuts.rst.txt new file mode 100644 index 000000000..68c2dc2b7 --- /dev/null +++ b/docs/_sources/user-docs/shortcuts.rst.txt @@ -0,0 +1,123 @@ +Shortcuts +========= + +This page regroups the common shortcuts available in Cutter. + +Global Shortcuts +---------------- + ++------------+---------------------+ +| Shortcut | Function | ++============+=====================+ +| . | Focus console input | ++------------+---------------------+ +| G/S | Focus search bar | ++------------+---------------------+ +| Ctrl/Cmd+R | Refresh contents | ++------------+---------------------+ + +Widget Shortcuts +---------------- + ++-----------+---------+ +| Shortcut | Widget | ++===========+=========+ +| Shift+F12 | Strings | ++-----------+---------+ +| Shift+G | Graph | ++-----------+---------+ +| Shift+I | Imports | ++-----------+---------+ +| Shift+E | Exports | ++-----------+---------+ +| Ctrl+` | Console | ++-----------+---------+ +| : | Console | ++-----------+---------+ + +Disassembly View Shortcuts +-------------------------- +*Most of these shortcuts are also applied to Disassembly Graph view* + ++-------------+----------------------------------+ +| Shortcut | Function | ++=============+==================================+ +| Esc | Seek to the previous position | ++-------------+----------------------------------+ +| Space | Switch to disassembly graph view | ++-------------+----------------------------------+ +| Ctrl/Cmd+C | Copy | ++-------------+----------------------------------+ +| ; | Add comment | ++-------------+----------------------------------+ +| P | Define a new function | ++-------------+----------------------------------+ +| Shift+P | Edit function | ++-------------+----------------------------------+ +| U | Undefine a function | ++-------------+----------------------------------+ +| N | Rename current function/flag | ++-------------+----------------------------------+ +| Shift+N | Rename flag/function used here | ++-------------+----------------------------------+ +| Y | Edit/rename local variables | ++-------------+----------------------------------+ +| A | Set current address to String | ++-------------+----------------------------------+ +| C | Set current address to Code | ++-------------+----------------------------------+ +| X | Show Xrefs | ++-------------+----------------------------------+ +| Ctrl/Cmd+\+ | Zoom in | ++-------------+----------------------------------+ +| Ctrl/Cmd+\- | Zoom out | ++-------------+----------------------------------+ +| Ctrl/Cmd+= | Reset zoom | ++-------------+----------------------------------+ + +Graph View Shortcuts +-------------------- + ++---------------------+-----------------------------------+ +| Shortcut | Function | ++=====================+===================================+ +| Esc | Seek to previous position | ++---------------------+-----------------------------------+ +| Space | Switch to disassembly view | ++---------------------+-----------------------------------+ +| Ctrl/Cmd+MouseWheel | Zoom | ++---------------------+-----------------------------------+ +| \+ | Zoom in | ++---------------------+-----------------------------------+ +| \- | Zoom out | ++---------------------+-----------------------------------+ +| = | Reset zoom | ++---------------------+-----------------------------------+ +| J | Next instruction | ++---------------------+-----------------------------------+ +| K | Previous instruction | ++---------------------+-----------------------------------+ +| T | Follow True/Unconditional branch | ++---------------------+-----------------------------------+ +| F | Follow False/Unconditional branch | ++---------------------+-----------------------------------+ + + +Debug Shortcuts +--------------- + ++-----------------+------------------------------------------+ +| Shortcut | Function | ++=================+==========================================+ +| F9 | Start debug | ++-----------------+------------------------------------------+ +| F7 | Step into | ++-----------------+------------------------------------------+ +| F8 | Step over | ++-----------------+------------------------------------------+ +| F5 | Continue | ++-----------------+------------------------------------------+ +| F2/(Ctrl/Cmd)+B | Add or Remove breakpoint | ++-----------------+------------------------------------------+ +| (Ctrl/Cmd)+F2 | Edit or open Advanced breakpoint dialog | ++-----------------+------------------------------------------+ diff --git a/docs/_static/admonitions.css b/docs/_static/admonitions.css new file mode 100644 index 000000000..0a8ed2fcc --- /dev/null +++ b/docs/_static/admonitions.css @@ -0,0 +1,106 @@ +/* Admonition styles */ +div.admonition { + padding: 8px 35px 8px 0px; + margin-bottom: 20px; + text-shadow: 0 1px 0 rgba(255, 255, 255, 0.5); + border: 1px solid ; + color: #3a87ad; + background-color: #d9edf7; + border-color: #bce8f1; + + -webkit-border-radius: 4px; + -moz-border-radius: 4px; + border-radius: 4px; + } + + div.admonition p { + margin: 0.5em 1em 0.5em 1em; + padding: 0; + } + + div.admonition pre { + margin: 0.4em 1em 0.4em 1em; + } + + div.admonition p.admonition-title { + margin: 0; + padding: 0.1em 0 0.1em 0.5em; + font-weight: bold; + } + + div.admonition ul, div.admonition ol { + margin: 0.1em 0.5em 0.5em 3em; + padding: 0; + } + + /* -- danger, error -- */ + div.danger, + div.error { + color: #b94a48; + background-color: #f2dede; + border-color: #eed3d7; + } + + + /* -- warning, caution, attention -- */ + div.warning, + div.caution, + div.attention { + color: #c09853; + background-color: #fcf8e3; + border: 1px solid #fbeed5; + } + + /* -- note, important -- */ + div.note, + div.important { + color: #468847; + background-color: #dff0d8; + border-color: #d6e9c6; + } + + /* -- hint, tip -- */ + div.hint, + div.tip { + color: #3a87ad; + background-color: #d9edf7; + border-color: #bce8f1; + } + + div.danger p.admonition-title:before, + div.error p.admonition-title:before, + div.warning p.admonition-title:before, + div.caution p.admonition-title:before, + div.attention p.admonition-title:before, + div.important p.admonition-title:before, + div.note p.admonition-title:before, + div.hint p.admonition-title:before, + div.tip p.admonition-title:before + { + display: inline-block; + font-family: FontAwesome; + font-style: normal; + font-weight: normal; + line-height: 1; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; + } + + div.danger p.admonition-title:before, + div.error p.admonition-title:before { + content: "\f06a\00a0"; + } + div.warning p.admonition-title:before, + div.caution p.admonition-title:before, + div.attention p.admonition-title:before { + content: "\f071\00a0"; + } + div.important p.admonition-title:before, + div.note p.admonition-title:before { + content: "\f05a\00a0"; + } + div.hint p.admonition-title:before, + div.tip p.admonition-title:before { + content: "\f0eb\00a0"; + } + \ No newline at end of file diff --git a/docs/_static/basic.css b/docs/_static/basic.css new file mode 100644 index 000000000..7ebbd6d07 --- /dev/null +++ b/docs/_static/basic.css @@ -0,0 +1,914 @@ +/* + * Sphinx stylesheet -- basic theme. + */ + +/* -- main layout ----------------------------------------------------------- */ + +div.clearer { + clear: both; +} + +div.section::after { + display: block; + content: ''; + clear: left; +} + +/* -- relbar ---------------------------------------------------------------- */ + +div.related { + width: 100%; + font-size: 90%; +} + +div.related h3 { + display: none; +} + +div.related ul { + margin: 0; + padding: 0 0 0 10px; + list-style: none; +} + +div.related li { + display: inline; +} + +div.related li.right { + float: right; + margin-right: 5px; +} + +/* -- sidebar --------------------------------------------------------------- */ + +div.sphinxsidebarwrapper { + padding: 10px 5px 0 10px; +} + +div.sphinxsidebar { + float: left; + width: 230px; + margin-left: -100%; + font-size: 90%; + word-wrap: break-word; + overflow-wrap : break-word; +} + +div.sphinxsidebar ul { + list-style: none; +} + +div.sphinxsidebar ul ul, +div.sphinxsidebar ul.want-points { + margin-left: 20px; + list-style: square; +} + +div.sphinxsidebar ul ul { + margin-top: 0; + margin-bottom: 0; +} + +div.sphinxsidebar form { + margin-top: 10px; +} + +div.sphinxsidebar input { + border: 1px solid #98dbcc; + font-family: sans-serif; + font-size: 1em; +} + +div.sphinxsidebar #searchbox form.search { + overflow: hidden; +} + +div.sphinxsidebar #searchbox input[type="text"] { + float: left; + width: 80%; + padding: 0.25em; + box-sizing: border-box; +} + +div.sphinxsidebar #searchbox input[type="submit"] { + float: left; + width: 20%; + border-left: none; + padding: 0.25em; + box-sizing: border-box; +} + + +img { + border: 0; + max-width: 100%; +} + +/* -- search page ----------------------------------------------------------- */ + +ul.search { + margin-top: 10px; +} + +ul.search li { + padding: 5px 0; +} + +ul.search li a { + font-weight: bold; +} + +ul.search li p.context { + color: #888; + margin: 2px 0 0 30px; + text-align: left; +} + +ul.keywordmatches li.goodmatch a { + font-weight: bold; +} + +/* -- index page ------------------------------------------------------------ */ + +table.contentstable { + width: 90%; + margin-left: auto; + margin-right: auto; +} + +table.contentstable p.biglink { + line-height: 150%; +} + +a.biglink { + font-size: 1.3em; +} + +span.linkdescr { + font-style: italic; + padding-top: 5px; + font-size: 90%; +} + +/* -- general index --------------------------------------------------------- */ + +table.indextable { + width: 100%; +} + +table.indextable td { + text-align: left; + vertical-align: top; +} + +table.indextable ul { + margin-top: 0; + margin-bottom: 0; + list-style-type: none; +} + +table.indextable > tbody > tr > td > ul { + padding-left: 0em; +} + +table.indextable tr.pcap { + height: 10px; +} + +table.indextable tr.cap { + margin-top: 10px; + background-color: #f2f2f2; +} + +img.toggler { + margin-right: 3px; + margin-top: 3px; + cursor: pointer; +} + +div.modindex-jumpbox { + border-top: 1px solid #ddd; + border-bottom: 1px solid #ddd; + margin: 1em 0 1em 0; + padding: 0.4em; +} + +div.genindex-jumpbox { + border-top: 1px solid #ddd; + border-bottom: 1px solid #ddd; + margin: 1em 0 1em 0; + padding: 0.4em; +} + +/* -- domain module index --------------------------------------------------- */ + +table.modindextable td { + padding: 2px; + border-collapse: collapse; +} + +/* -- general body styles --------------------------------------------------- */ + +div.body { + min-width: 360px; + max-width: 800px; +} + +div.body p, div.body dd, div.body li, div.body blockquote { + -moz-hyphens: auto; + -ms-hyphens: auto; + -webkit-hyphens: auto; + hyphens: auto; +} + +a.headerlink { + visibility: hidden; +} + +a:visited { + color: #551A8B; +} + +h1:hover > a.headerlink, +h2:hover > a.headerlink, +h3:hover > a.headerlink, +h4:hover > a.headerlink, +h5:hover > a.headerlink, +h6:hover > a.headerlink, +dt:hover > a.headerlink, +caption:hover > a.headerlink, +p.caption:hover > a.headerlink, +div.code-block-caption:hover > a.headerlink { + visibility: visible; +} + +div.body p.caption { + text-align: inherit; +} + +div.body td { + text-align: left; +} + +.first { + margin-top: 0 !important; +} + +p.rubric { + margin-top: 30px; + font-weight: bold; +} + +img.align-left, figure.align-left, .figure.align-left, object.align-left { + clear: left; + float: left; + margin-right: 1em; +} + +img.align-right, figure.align-right, .figure.align-right, object.align-right { + clear: right; + float: right; + margin-left: 1em; +} + +img.align-center, figure.align-center, .figure.align-center, object.align-center { + display: block; + margin-left: auto; + margin-right: auto; +} + +img.align-default, figure.align-default, .figure.align-default { + display: block; + margin-left: auto; + margin-right: auto; +} + +.align-left { + text-align: left; +} + +.align-center { + text-align: center; +} + +.align-default { + text-align: center; +} + +.align-right { + text-align: right; +} + +/* -- sidebars -------------------------------------------------------------- */ + +div.sidebar, +aside.sidebar { + margin: 0 0 0.5em 1em; + border: 1px solid #ddb; + padding: 7px; + background-color: #ffe; + width: 40%; + float: right; + clear: right; + overflow-x: auto; +} + +p.sidebar-title { + font-weight: bold; +} + +nav.contents, +aside.topic, +div.admonition, div.topic, blockquote { + clear: left; +} + +/* -- topics ---------------------------------------------------------------- */ + +nav.contents, +aside.topic, +div.topic { + border: 1px solid #ccc; + padding: 7px; + margin: 10px 0 10px 0; +} + +p.topic-title { + font-size: 1.1em; + font-weight: bold; + margin-top: 10px; +} + +/* -- admonitions ----------------------------------------------------------- */ + +div.admonition { + margin-top: 10px; + margin-bottom: 10px; + padding: 7px; +} + +div.admonition dt { + font-weight: bold; +} + +p.admonition-title { + margin: 0px 10px 5px 0px; + font-weight: bold; +} + +div.body p.centered { + text-align: center; + margin-top: 25px; +} + +/* -- content of sidebars/topics/admonitions -------------------------------- */ + +div.sidebar > :last-child, +aside.sidebar > :last-child, +nav.contents > :last-child, +aside.topic > :last-child, +div.topic > :last-child, +div.admonition > :last-child { + margin-bottom: 0; +} + +div.sidebar::after, +aside.sidebar::after, +nav.contents::after, +aside.topic::after, +div.topic::after, +div.admonition::after, +blockquote::after { + display: block; + content: ''; + clear: both; +} + +/* -- tables ---------------------------------------------------------------- */ + +table.docutils { + margin-top: 10px; + margin-bottom: 10px; + border: 0; + border-collapse: collapse; +} + +table.align-center { + margin-left: auto; + margin-right: auto; +} + +table.align-default { + margin-left: auto; + margin-right: auto; +} + +table caption span.caption-number { + font-style: italic; +} + +table caption span.caption-text { +} + +table.docutils td, table.docutils th { + padding: 1px 8px 1px 5px; + border-top: 0; + border-left: 0; + border-right: 0; + border-bottom: 1px solid #aaa; +} + +th { + text-align: left; + padding-right: 5px; +} + +table.citation { + border-left: solid 1px gray; + margin-left: 1px; +} + +table.citation td { + border-bottom: none; +} + +th > :first-child, +td > :first-child { + margin-top: 0px; +} + +th > :last-child, +td > :last-child { + margin-bottom: 0px; +} + +/* -- figures --------------------------------------------------------------- */ + +div.figure, figure { + margin: 0.5em; + padding: 0.5em; +} + +div.figure p.caption, figcaption { + padding: 0.3em; +} + +div.figure p.caption span.caption-number, +figcaption span.caption-number { + font-style: italic; +} + +div.figure p.caption span.caption-text, +figcaption span.caption-text { +} + +/* -- field list styles ----------------------------------------------------- */ + +table.field-list td, table.field-list th { + border: 0 !important; +} + +.field-list ul { + margin: 0; + padding-left: 1em; +} + +.field-list p { + margin: 0; +} + +.field-name { + -moz-hyphens: manual; + -ms-hyphens: manual; + -webkit-hyphens: manual; + hyphens: manual; +} + +/* -- hlist styles ---------------------------------------------------------- */ + +table.hlist { + margin: 1em 0; +} + +table.hlist td { + vertical-align: top; +} + +/* -- object description styles --------------------------------------------- */ + +.sig { + font-family: 'Consolas', 'Menlo', 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', monospace; +} + +.sig-name, code.descname { + background-color: transparent; + font-weight: bold; +} + +.sig-name { + font-size: 1.1em; +} + +code.descname { + font-size: 1.2em; +} + +.sig-prename, code.descclassname { + background-color: transparent; +} + +.optional { + font-size: 1.3em; +} + +.sig-paren { + font-size: larger; +} + +.sig-param.n { + font-style: italic; +} + +/* C++ specific styling */ + +.sig-inline.c-texpr, +.sig-inline.cpp-texpr { + font-family: unset; +} + +.sig.c .k, .sig.c .kt, +.sig.cpp .k, .sig.cpp .kt { + color: #0033B3; +} + +.sig.c .m, +.sig.cpp .m { + color: #1750EB; +} + +.sig.c .s, .sig.c .sc, +.sig.cpp .s, .sig.cpp .sc { + color: #067D17; +} + + +/* -- other body styles ----------------------------------------------------- */ + +ol.arabic { + list-style: decimal; +} + +ol.loweralpha { + list-style: lower-alpha; +} + +ol.upperalpha { + list-style: upper-alpha; +} + +ol.lowerroman { + list-style: lower-roman; +} + +ol.upperroman { + list-style: upper-roman; +} + +:not(li) > ol > li:first-child > :first-child, +:not(li) > ul > li:first-child > :first-child { + margin-top: 0px; +} + +:not(li) > ol > li:last-child > :last-child, +:not(li) > ul > li:last-child > :last-child { + margin-bottom: 0px; +} + +ol.simple ol p, +ol.simple ul p, +ul.simple ol p, +ul.simple ul p { + margin-top: 0; +} + +ol.simple > li:not(:first-child) > p, +ul.simple > li:not(:first-child) > p { + margin-top: 0; +} + +ol.simple p, +ul.simple p { + margin-bottom: 0; +} + +aside.footnote > span, +div.citation > span { + float: left; +} +aside.footnote > span:last-of-type, +div.citation > span:last-of-type { + padding-right: 0.5em; +} +aside.footnote > p { + margin-left: 2em; +} +div.citation > p { + margin-left: 4em; +} +aside.footnote > p:last-of-type, +div.citation > p:last-of-type { + margin-bottom: 0em; +} +aside.footnote > p:last-of-type:after, +div.citation > p:last-of-type:after { + content: ""; + clear: both; +} + +dl.field-list { + display: grid; + grid-template-columns: fit-content(30%) auto; +} + +dl.field-list > dt { + font-weight: bold; + word-break: break-word; + padding-left: 0.5em; + padding-right: 5px; +} + +dl.field-list > dd { + padding-left: 0.5em; + margin-top: 0em; + margin-left: 0em; + margin-bottom: 0em; +} + +dl { + margin-bottom: 15px; +} + +dd > :first-child { + margin-top: 0px; +} + +dd ul, dd table { + margin-bottom: 10px; +} + +dd { + margin-top: 3px; + margin-bottom: 10px; + margin-left: 30px; +} + +.sig dd { + margin-top: 0px; + margin-bottom: 0px; +} + +.sig dl { + margin-top: 0px; + margin-bottom: 0px; +} + +dl > dd:last-child, +dl > dd:last-child > :last-child { + margin-bottom: 0; +} + +dt:target, span.highlighted { + background-color: #fbe54e; +} + +rect.highlighted { + fill: #fbe54e; +} + +dl.glossary dt { + font-weight: bold; + font-size: 1.1em; +} + +.versionmodified { + font-style: italic; +} + +.system-message { + background-color: #fda; + padding: 5px; + border: 3px solid red; +} + +.footnote:target { + background-color: #ffa; +} + +.line-block { + display: block; + margin-top: 1em; + margin-bottom: 1em; +} + +.line-block .line-block { + margin-top: 0; + margin-bottom: 0; + margin-left: 1.5em; +} + +.guilabel, .menuselection { + font-family: sans-serif; +} + +.accelerator { + text-decoration: underline; +} + +.classifier { + font-style: oblique; +} + +.classifier:before { + font-style: normal; + margin: 0 0.5em; + content: ":"; + display: inline-block; +} + +abbr, acronym { + border-bottom: dotted 1px; + cursor: help; +} + +.translated { + background-color: rgba(207, 255, 207, 0.2) +} + +.untranslated { + background-color: rgba(255, 207, 207, 0.2) +} + +/* -- code displays --------------------------------------------------------- */ + +pre { + overflow: auto; + overflow-y: hidden; /* fixes display issues on Chrome browsers */ +} + +pre, div[class*="highlight-"] { + clear: both; +} + +span.pre { + -moz-hyphens: none; + -ms-hyphens: none; + -webkit-hyphens: none; + hyphens: none; + white-space: nowrap; +} + +div[class*="highlight-"] { + margin: 1em 0; +} + +td.linenos pre { + border: 0; + background-color: transparent; + color: #aaa; +} + +table.highlighttable { + display: block; +} + +table.highlighttable tbody { + display: block; +} + +table.highlighttable tr { + display: flex; +} + +table.highlighttable td { + margin: 0; + padding: 0; +} + +table.highlighttable td.linenos { + padding-right: 0.5em; +} + +table.highlighttable td.code { + flex: 1; + overflow: hidden; +} + +.highlight .hll { + display: block; +} + +div.highlight pre, +table.highlighttable pre { + margin: 0; +} + +div.code-block-caption + div { + margin-top: 0; +} + +div.code-block-caption { + margin-top: 1em; + padding: 2px 5px; + font-size: small; +} + +div.code-block-caption code { + background-color: transparent; +} + +table.highlighttable td.linenos, +span.linenos, +div.highlight span.gp { /* gp: Generic.Prompt */ + user-select: none; + -webkit-user-select: text; /* Safari fallback only */ + -webkit-user-select: none; /* Chrome/Safari */ + -moz-user-select: none; /* Firefox */ + -ms-user-select: none; /* IE10+ */ +} + +div.code-block-caption span.caption-number { + padding: 0.1em 0.3em; + font-style: italic; +} + +div.code-block-caption span.caption-text { +} + +div.literal-block-wrapper { + margin: 1em 0; +} + +code.xref, a code { + background-color: transparent; + font-weight: bold; +} + +h1 code, h2 code, h3 code, h4 code, h5 code, h6 code { + background-color: transparent; +} + +.viewcode-link { + float: right; +} + +.viewcode-back { + float: right; + font-family: sans-serif; +} + +div.viewcode-block:target { + margin: -1px -10px; + padding: 0 10px; +} + +/* -- math display ---------------------------------------------------------- */ + +img.math { + vertical-align: middle; +} + +div.body div.math p { + text-align: center; +} + +span.eqno { + float: right; +} + +span.eqno a.headerlink { + position: absolute; + z-index: 1; +} + +div.math:hover a.headerlink { + visibility: visible; +} + +/* -- printout stylesheet --------------------------------------------------- */ + +@media print { + div.document, + div.documentwrapper, + div.bodywrapper { + margin: 0 !important; + width: 100%; + } + + div.sphinxsidebar, + div.related, + div.footer, + #top-link { + display: none; + } +} \ No newline at end of file diff --git a/docs/_static/cutter.css b/docs/_static/cutter.css new file mode 100644 index 000000000..0a206e47d --- /dev/null +++ b/docs/_static/cutter.css @@ -0,0 +1,486 @@ +/* + * cutter.css_t + * based on flasky.css_t by Armin Ronacher + * ~~~~~~~~~~~~ + * + */ + + + + +@import url('https://fonts.googleapis.com/css?family=Poppins&display=swap'); +@import url('https://fonts.googleapis.com/css?family=Inconsolata&display=swap'); +@import url('basic.css'); + +/* -- page layout ---------------------------------------------------------- */ + +body { + font-family: "Poppins", sans-serif; + font-size: 16px; + background-color: white; + color: #0d1b33; + margin: 0; + padding: 0; +} + +div.document { + width: 1300px; + margin: 30px auto 0 auto; +} + +div.documentwrapper { + float: left; + width: 100%; +} + +div.bodywrapper { + margin: 0 0 0 220px; +} + +div.sphinxsidebar { + width: 220px; +} + +hr { + border: 1px solid #b1b4b6; +} + +div.body { + background-color: #fff; + color: #3e4349; + padding: 0 30px 0 30px; +} + +img.floatingflask { + padding: 0 0 10px 10px; + float: right; +} + +div.footer { + width: 1300px; + margin: 20px auto 30px auto; + font-size: 14px; + color: #888; + text-align: right; +} + +div.footer a { + color: #888; +} + +div.sphinxsidebar a { + color: #444; + text-decoration: none; + border-bottom: 1px solid #999; +} + +div.sphinxsidebar a:hover { + color: #216ae6; + border-bottom: 1px solid #999; +} + +div.sphinxsidebar { + font-size: 14px; + line-height: 1.5; +} + +div.sphinxsidebarwrapper { + padding: 18px 10px; +} + +div.sphinxsidebarwrapper p.logo { + padding: 0 0 20px 0; + margin: 0; + text-align: center; +} + +div.sphinxsidebar h3, +div.sphinxsidebar h4 { + font-family: Content-font, Roboto, sans-serif; + color: #444; + font-size: 18px; + font-weight: normal; + margin: 0 0 5px 0; + padding: 0; +} + +div.sphinxsidebar h4 { + font-size: 20px; +} + +div.sphinxsidebar h3 a { + color: #444; +} + +div.sphinxsidebar p.logo a, +div.sphinxsidebar h3 a, +div.sphinxsidebar p.logo a:hover, +div.sphinxsidebar h3 a:hover { + border: none; +} + +div.sphinxsidebar p { + color: #555; + margin: 10px 0; +} + +div.sphinxsidebar ul { + margin: 10px 0; + padding: 0; + color: #000; +} + +div.sphinxsidebar input { + border: 1px solid #ccc; + font-family: Content-font, Roboto, sans-serif; + font-size: 1em; +} + +/* -- body styles ---------------------------------------------------------- */ + +a { + color: #004b6b; + text-decoration: underline; +} + +a:hover { + color: #6d4100; + text-decoration: underline; +} + +div.body h1, +div.body h2, +div.body h3, +div.body h4, +div.body h5, +div.body h6 { + color: #041e49; + font-family: Content-font, Roboto, sans-serif; + font-weight: 400; + margin: 30px 0 10px 0; + padding: 0; +} + + +div.body h1 { margin-top: 0; padding-top: 0; font-size: 240%; } +div.body h2 { font-size: 180%; } +div.body h3 { font-size: 150%; } +div.body h4 { font-size: 130%; } +div.body h5 { font-size: 100%; } +div.body h6 { font-size: 100%; } + +a.headerlink { + color: #216ae6; + padding: 0 4px; + text-decoration: none; +} + +a.headerlink:hover { + color: #041e49; +} + +div.body p, div.body dd, div.body li { + line-height: 1.4; +} + +dt:target, .highlight { + background: #faf3e8; +} + +div.note { + background-color: #eee; + border: 1px solid #ccc; +} + +div.seealso { + background-color: #ffc; + border: 1px solid #ff6; +} + +div.topic { + background-color: #eee; +} + +img.screenshot { +} + +img.screenshot { + -moz-box-shadow: 2px 2px 4px #eee; + -webkit-box-shadow: 2px 2px 4px #eee; + box-shadow: 2px 2px 4px #eee; +} + +table.docutils { + border: 1px solid #888; + -moz-box-shadow: 2px 2px 4px #eee; + -webkit-box-shadow: 2px 2px 4px #eee; + box-shadow: 2px 2px 4px #eee; +} + +table.docutils td, table.docutils th { + border: 1px solid #888; + padding: 0.25em 0.7em; +} + +table.field-list, table.footnote { + border: none; + -moz-box-shadow: none; + -webkit-box-shadow: none; + box-shadow: none; +} + +table.footnote { + margin: 15px 0; + width: 100%; + border: 1px solid #eee; + background: #fdfdfd; + font-size: 0.9em; +} + +table.footnote + table.footnote { + margin-top: -15px; + border-top: none; +} + +table.field-list th { + padding: 0 0.8em 0 0; +} + +table.field-list td { + padding: 0; +} + +table.footnote td.label { + width: 0; + padding: 0.3em 0 0.3em 0.5em; +} + +table.footnote td { + padding: 0.3em 0.5em; +} + +dl { + margin: 0; + padding: 0; +} + +dl dd { + margin-left: 30px; +} + +blockquote { + margin: 0 0 0 30px; + padding: 0; +} + +ul, ol { + margin: 10px 0 10px 30px; + padding: 0; +} + +pre { + background: #fafafa; + padding: 7px 30px; + margin: 15px -30px; + line-height: 1.3; + font-family: 'Inconsolata', monospace; +} + +span.pre { + color: #e83e8c; + word-break: break-word; + font-family: SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace; +} + +dl pre, blockquote pre, li pre { + margin-left: -60px; + padding-left: 60px; +} + +dl dl pre { + margin-left: -90px; + padding-left: 90px; +} + +a.reference { + color: #216ae6; + text-decoration: none; +} + +a.reference:hover { + color: #216ae6; + border-bottom: 1px solid; +} + +a.footnote-reference { + color: #216ae6; + text-decoration: none; + font-size: 0.7em; + vertical-align: top; + border-bottom: 1px solid; +} + +a.footnote-reference:hover { + color: #216ae6; + border-bottom: 1px solid; +} + +/* Notes box */ +.admonition { + border-radius: 5px; +} + +.admonition.note { + color: #0c5460; + background-color: #d1ecf1; + border-color: #bee5eb; +} + +/* API Reference */ + +.rst-content dl:not(.docutils) dt { +} + +code.descname { + font-size: 14px; +} + +.sig-paren { + font-size: 14px; +} + +@media screen and (max-width: 1050px) { + body { + margin: 0; + padding: 20px 30px; + } + + div.documentwrapper { + float: none; + background: white; + margin: 0; + } + + div.sphinxsidebar { + display: block; + float: none; + width: 102.5%; + margin: 50px -30px 0; + padding: 10px 30px; + background: #333; + color: white; + } + + div.sphinxsidebarwrapper { + padding: 0; + } + + div.sphinxsidebar h3, div.sphinxsidebar h4, div.sphinxsidebar p, + div.sphinxsidebar h3 a { + color: white; + } + + div.sphinxsidebar a { + color: #aaa; + } + + div.sphinxsidebar p.logo { + display: none; + } + + div.document { + width: 100%; + margin: 0; + } + + div.related { + display: block; + margin: 0; + padding: 10px 0 20px 0; + } + + div.related ul, + div.related ul li { + margin: 0; + padding: 0; + } + + div.bodywrapper { + margin: 0; + } + + div.body { + min-height: 0; + padding: 0; + } + + .rtd_doc_footer { + display: none; + } + + div.footer { + width: auto; + margin: 0 -30px -20px; + padding: 10px 30px 20px; + background: #333; + } + + ul { + margin-left: 0; + } +} +/* Kbd Style */ + +kbd { + font-family: Consolas, "Lucida Console", monospace; + display: inline-block; + border-radius: 3px; + padding: 0px 4px; + box-shadow: 1px 1px 1px #777; + margin: 2px; + font-size: small; + vertical-align: text-bottom; + background: #eee; + font-weight: 500; + color: #555; + cursor: pointer; + font-variant: small-caps; + font-weight: 600; + letter-spacing: 0.5px; + letter-spacing: 1px; + -webkit-touch-callout: none; + -webkit-user-select: none; + -khtml-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; +} + +kbd:hover, +kbd:hover * { + color: black; + box-shadow: 1px 1px 1px #333; +} + +kbd:active, +kbd:active * { + color: black; + box-shadow: 1px 1px 0px #ddd inset; +} + +kbd kbd { + padding: 0px; + margin: 0 1px; + box-shadow: 0px 0px 0px black; + vertical-align: baseline; + background: none; +} + +kbd kbd:hover { + box-shadow: 0px 0px 0px black; +} + +kbd:active kbd { + box-shadow: 0px 0px 0px black; + background: none; +} \ No newline at end of file diff --git a/docs/_static/cutter.ico b/docs/_static/cutter.ico new file mode 100644 index 000000000..d851f69e0 Binary files /dev/null and b/docs/_static/cutter.ico differ diff --git a/docs/_static/cutter.js b/docs/_static/cutter.js new file mode 100644 index 000000000..4135261ff --- /dev/null +++ b/docs/_static/cutter.js @@ -0,0 +1,5 @@ + +// Make sure that external links are opened in new tabs +$(document).ready(function() { + $("a[href^='http']").attr('target','_blank'); +}); \ No newline at end of file diff --git a/docs/_static/doctools.js b/docs/_static/doctools.js new file mode 100644 index 000000000..0398ebb9f --- /dev/null +++ b/docs/_static/doctools.js @@ -0,0 +1,149 @@ +/* + * Base JavaScript utilities for all Sphinx HTML documentation. + */ +"use strict"; + +const BLACKLISTED_KEY_CONTROL_ELEMENTS = new Set([ + "TEXTAREA", + "INPUT", + "SELECT", + "BUTTON", +]); + +const _ready = (callback) => { + if (document.readyState !== "loading") { + callback(); + } else { + document.addEventListener("DOMContentLoaded", callback); + } +}; + +/** + * Small JavaScript module for the documentation. + */ +const Documentation = { + init: () => { + Documentation.initDomainIndexTable(); + Documentation.initOnKeyListeners(); + }, + + /** + * i18n support + */ + TRANSLATIONS: {}, + PLURAL_EXPR: (n) => (n === 1 ? 0 : 1), + LOCALE: "unknown", + + // gettext and ngettext don't access this so that the functions + // can safely bound to a different name (_ = Documentation.gettext) + gettext: (string) => { + const translated = Documentation.TRANSLATIONS[string]; + switch (typeof translated) { + case "undefined": + return string; // no translation + case "string": + return translated; // translation exists + default: + return translated[0]; // (singular, plural) translation tuple exists + } + }, + + ngettext: (singular, plural, n) => { + const translated = Documentation.TRANSLATIONS[singular]; + if (typeof translated !== "undefined") + return translated[Documentation.PLURAL_EXPR(n)]; + return n === 1 ? singular : plural; + }, + + addTranslations: (catalog) => { + Object.assign(Documentation.TRANSLATIONS, catalog.messages); + Documentation.PLURAL_EXPR = new Function( + "n", + `return (${catalog.plural_expr})` + ); + Documentation.LOCALE = catalog.locale; + }, + + /** + * helper function to focus on search bar + */ + focusSearchBar: () => { + document.querySelectorAll("input[name=q]")[0]?.focus(); + }, + + /** + * Initialise the domain index toggle buttons + */ + initDomainIndexTable: () => { + const toggler = (el) => { + const idNumber = el.id.substr(7); + const toggledRows = document.querySelectorAll(`tr.cg-${idNumber}`); + if (el.src.substr(-9) === "minus.png") { + el.src = `${el.src.substr(0, el.src.length - 9)}plus.png`; + toggledRows.forEach((el) => (el.style.display = "none")); + } else { + el.src = `${el.src.substr(0, el.src.length - 8)}minus.png`; + toggledRows.forEach((el) => (el.style.display = "")); + } + }; + + const togglerElements = document.querySelectorAll("img.toggler"); + togglerElements.forEach((el) => + el.addEventListener("click", (event) => toggler(event.currentTarget)) + ); + togglerElements.forEach((el) => (el.style.display = "")); + if (DOCUMENTATION_OPTIONS.COLLAPSE_INDEX) togglerElements.forEach(toggler); + }, + + initOnKeyListeners: () => { + // only install a listener if it is really needed + if ( + !DOCUMENTATION_OPTIONS.NAVIGATION_WITH_KEYS && + !DOCUMENTATION_OPTIONS.ENABLE_SEARCH_SHORTCUTS + ) + return; + + document.addEventListener("keydown", (event) => { + // bail for input elements + if (BLACKLISTED_KEY_CONTROL_ELEMENTS.has(document.activeElement.tagName)) return; + // bail with special keys + if (event.altKey || event.ctrlKey || event.metaKey) return; + + if (!event.shiftKey) { + switch (event.key) { + case "ArrowLeft": + if (!DOCUMENTATION_OPTIONS.NAVIGATION_WITH_KEYS) break; + + const prevLink = document.querySelector('link[rel="prev"]'); + if (prevLink && prevLink.href) { + window.location.href = prevLink.href; + event.preventDefault(); + } + break; + case "ArrowRight": + if (!DOCUMENTATION_OPTIONS.NAVIGATION_WITH_KEYS) break; + + const nextLink = document.querySelector('link[rel="next"]'); + if (nextLink && nextLink.href) { + window.location.href = nextLink.href; + event.preventDefault(); + } + break; + } + } + + // some keyboard layouts may need Shift to get / + switch (event.key) { + case "/": + if (!DOCUMENTATION_OPTIONS.ENABLE_SEARCH_SHORTCUTS) break; + Documentation.focusSearchBar(); + event.preventDefault(); + } + }); + }, +}; + +// quick alias for translations +const _ = Documentation.gettext; + +_ready(Documentation.init); diff --git a/docs/_static/documentation_options.js b/docs/_static/documentation_options.js new file mode 100644 index 000000000..6ad106d73 --- /dev/null +++ b/docs/_static/documentation_options.js @@ -0,0 +1,13 @@ +const DOCUMENTATION_OPTIONS = { + VERSION: '2.4.0', + LANGUAGE: 'en', + COLLAPSE_INDEX: false, + BUILDER: 'html', + FILE_SUFFIX: '.html', + LINK_SUFFIX: '.html', + HAS_SOURCE: true, + SOURCELINK_SUFFIX: '.txt', + NAVIGATION_WITH_KEYS: false, + SHOW_SEARCH_SUMMARY: true, + ENABLE_SEARCH_SHORTCUTS: true, +}; \ No newline at end of file diff --git a/docs/_static/file.png b/docs/_static/file.png new file mode 100644 index 000000000..a858a410e Binary files /dev/null and b/docs/_static/file.png differ diff --git a/docs/_static/language_data.js b/docs/_static/language_data.js new file mode 100644 index 000000000..c7fe6c6fa --- /dev/null +++ b/docs/_static/language_data.js @@ -0,0 +1,192 @@ +/* + * This script contains the language-specific data used by searchtools.js, + * namely the list of stopwords, stemmer, scorer and splitter. + */ + +var stopwords = ["a", "and", "are", "as", "at", "be", "but", "by", "for", "if", "in", "into", "is", "it", "near", "no", "not", "of", "on", "or", "such", "that", "the", "their", "then", "there", "these", "they", "this", "to", "was", "will", "with"]; + + +/* Non-minified version is copied as a separate JS file, if available */ + +/** + * Porter Stemmer + */ +var Stemmer = function() { + + var step2list = { + ational: 'ate', + tional: 'tion', + enci: 'ence', + anci: 'ance', + izer: 'ize', + bli: 'ble', + alli: 'al', + entli: 'ent', + eli: 'e', + ousli: 'ous', + ization: 'ize', + ation: 'ate', + ator: 'ate', + alism: 'al', + iveness: 'ive', + fulness: 'ful', + ousness: 'ous', + aliti: 'al', + iviti: 'ive', + biliti: 'ble', + logi: 'log' + }; + + var step3list = { + icate: 'ic', + ative: '', + alize: 'al', + iciti: 'ic', + ical: 'ic', + ful: '', + ness: '' + }; + + var c = "[^aeiou]"; // consonant + var v = "[aeiouy]"; // vowel + var C = c + "[^aeiouy]*"; // consonant sequence + var V = v + "[aeiou]*"; // vowel sequence + + var mgr0 = "^(" + C + ")?" + V + C; // [C]VC... is m>0 + var meq1 = "^(" + C + ")?" + V + C + "(" + V + ")?$"; // [C]VC[V] is m=1 + var mgr1 = "^(" + C + ")?" + V + C + V + C; // [C]VCVC... is m>1 + var s_v = "^(" + C + ")?" + v; // vowel in stem + + this.stemWord = function (w) { + var stem; + var suffix; + var firstch; + var origword = w; + + if (w.length < 3) + return w; + + var re; + var re2; + var re3; + var re4; + + firstch = w.substr(0,1); + if (firstch == "y") + w = firstch.toUpperCase() + w.substr(1); + + // Step 1a + re = /^(.+?)(ss|i)es$/; + re2 = /^(.+?)([^s])s$/; + + if (re.test(w)) + w = w.replace(re,"$1$2"); + else if (re2.test(w)) + w = w.replace(re2,"$1$2"); + + // Step 1b + re = /^(.+?)eed$/; + re2 = /^(.+?)(ed|ing)$/; + if (re.test(w)) { + var fp = re.exec(w); + re = new RegExp(mgr0); + if (re.test(fp[1])) { + re = /.$/; + w = w.replace(re,""); + } + } + else if (re2.test(w)) { + var fp = re2.exec(w); + stem = fp[1]; + re2 = new RegExp(s_v); + if (re2.test(stem)) { + w = stem; + re2 = /(at|bl|iz)$/; + re3 = new RegExp("([^aeiouylsz])\\1$"); + re4 = new RegExp("^" + C + v + "[^aeiouwxy]$"); + if (re2.test(w)) + w = w + "e"; + else if (re3.test(w)) { + re = /.$/; + w = w.replace(re,""); + } + else if (re4.test(w)) + w = w + "e"; + } + } + + // Step 1c + re = /^(.+?)y$/; + if (re.test(w)) { + var fp = re.exec(w); + stem = fp[1]; + re = new RegExp(s_v); + if (re.test(stem)) + w = stem + "i"; + } + + // Step 2 + re = /^(.+?)(ational|tional|enci|anci|izer|bli|alli|entli|eli|ousli|ization|ation|ator|alism|iveness|fulness|ousness|aliti|iviti|biliti|logi)$/; + if (re.test(w)) { + var fp = re.exec(w); + stem = fp[1]; + suffix = fp[2]; + re = new RegExp(mgr0); + if (re.test(stem)) + w = stem + step2list[suffix]; + } + + // Step 3 + re = /^(.+?)(icate|ative|alize|iciti|ical|ful|ness)$/; + if (re.test(w)) { + var fp = re.exec(w); + stem = fp[1]; + suffix = fp[2]; + re = new RegExp(mgr0); + if (re.test(stem)) + w = stem + step3list[suffix]; + } + + // Step 4 + re = /^(.+?)(al|ance|ence|er|ic|able|ible|ant|ement|ment|ent|ou|ism|ate|iti|ous|ive|ize)$/; + re2 = /^(.+?)(s|t)(ion)$/; + if (re.test(w)) { + var fp = re.exec(w); + stem = fp[1]; + re = new RegExp(mgr1); + if (re.test(stem)) + w = stem; + } + else if (re2.test(w)) { + var fp = re2.exec(w); + stem = fp[1] + fp[2]; + re2 = new RegExp(mgr1); + if (re2.test(stem)) + w = stem; + } + + // Step 5 + re = /^(.+?)e$/; + if (re.test(w)) { + var fp = re.exec(w); + stem = fp[1]; + re = new RegExp(mgr1); + re2 = new RegExp(meq1); + re3 = new RegExp("^" + C + v + "[^aeiouwxy]$"); + if (re.test(stem) || (re2.test(stem) && !(re3.test(stem)))) + w = stem; + } + re = /ll$/; + re2 = new RegExp(mgr1); + if (re.test(w) && re2.test(w)) { + re = /.$/; + w = w.replace(re,""); + } + + // and turn initial Y back to y + if (firstch == "y") + w = firstch.toLowerCase() + w.substr(1); + return w; + } +} + diff --git a/docs/_static/minus.png b/docs/_static/minus.png new file mode 100644 index 000000000..d96755fda Binary files /dev/null and b/docs/_static/minus.png differ diff --git a/docs/_static/plus.png b/docs/_static/plus.png new file mode 100644 index 000000000..7107cec93 Binary files /dev/null and b/docs/_static/plus.png differ diff --git a/docs/_static/pygments.css b/docs/_static/pygments.css new file mode 100644 index 000000000..caed28ae2 --- /dev/null +++ b/docs/_static/pygments.css @@ -0,0 +1,68 @@ +pre { line-height: 125%; } +td.linenos .normal { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; } +span.linenos { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; } +td.linenos .special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; } +span.linenos.special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; } +.highlight .hll { background-color: #ffffcc } +.highlight { background: #ffffff; color: #4d4d4d } +.highlight .c { color: #0080ff; font-style: italic } /* Comment */ +.highlight .err { color: #ffffff; background-color: #cc0000 } /* Error */ +.highlight .k { color: #2c5dcd; font-weight: bold } /* Keyword */ +.highlight .o { color: #2c5dcd } /* Operator */ +.highlight .ch { color: #0080ff; font-style: italic } /* Comment.Hashbang */ +.highlight .cm { color: #0080ff; font-style: italic } /* Comment.Multiline */ +.highlight .cp { color: #0080ff } /* Comment.Preproc */ +.highlight .cpf { color: #0080ff; font-style: italic } /* Comment.PreprocFile */ +.highlight .c1 { color: #0080ff; font-style: italic } /* Comment.Single */ +.highlight .cs { color: #0080ff; font-weight: bold; font-style: italic } /* Comment.Special */ +.highlight .gd { background-color: #ffcccc; border: 1px solid #c5060b } /* Generic.Deleted */ +.highlight .ge { font-style: italic } /* Generic.Emph */ +.highlight .ges { font-weight: bold; font-style: italic } /* Generic.EmphStrong */ +.highlight .gr { color: #ff0000 } /* Generic.Error */ +.highlight .gh { color: #2c5dcd; font-weight: bold } /* Generic.Heading */ +.highlight .gi { background-color: #ccffcc; border: 1px solid #00cc00 } /* Generic.Inserted */ +.highlight .go { color: #aaaaaa } /* Generic.Output */ +.highlight .gp { color: #2c5dcd; font-weight: bold } /* Generic.Prompt */ +.highlight .gs { font-weight: bold } /* Generic.Strong */ +.highlight .gu { color: #2c5dcd; font-weight: bold } /* Generic.Subheading */ +.highlight .gt { color: #c5060b } /* Generic.Traceback */ +.highlight .kc { color: #2c5dcd; font-weight: bold } /* Keyword.Constant */ +.highlight .kd { color: #2c5dcd; font-weight: bold } /* Keyword.Declaration */ +.highlight .kn { color: #2c5dcd; font-weight: bold } /* Keyword.Namespace */ +.highlight .kp { color: #2c5dcd } /* Keyword.Pseudo */ +.highlight .kr { color: #2c5dcd; font-weight: bold } /* Keyword.Reserved */ +.highlight .kt { color: #5918bb; font-weight: bold } /* Keyword.Type */ +.highlight .m { color: #5918bb; font-weight: bold } /* Literal.Number */ +.highlight .s { color: #00cc66 } /* Literal.String */ +.highlight .na { color: #2c5dcd; font-style: italic } /* Name.Attribute */ +.highlight .nb { color: #5918bb; font-weight: bold } /* Name.Builtin */ +.highlight .nc { text-decoration: underline } /* Name.Class */ +.highlight .no { color: #318495 } /* Name.Constant */ +.highlight .nd { color: #ff8000; font-weight: bold } /* Name.Decorator */ +.highlight .ni { color: #5918bb; font-weight: bold } /* Name.Entity */ +.highlight .ne { color: #5918bb; font-weight: bold } /* Name.Exception */ +.highlight .nf { color: #ff8000; font-weight: bold } /* Name.Function */ +.highlight .nt { color: #2c5dcd; font-weight: bold } /* Name.Tag */ +.highlight .ow { color: #2c5dcd; font-weight: bold } /* Operator.Word */ +.highlight .w { color: #cbcbcb } /* Text.Whitespace */ +.highlight .mb { color: #5918bb; font-weight: bold } /* Literal.Number.Bin */ +.highlight .mf { color: #5918bb; font-weight: bold } /* Literal.Number.Float */ +.highlight .mh { color: #5918bb; font-weight: bold } /* Literal.Number.Hex */ +.highlight .mi { color: #5918bb; font-weight: bold } /* Literal.Number.Integer */ +.highlight .mo { color: #5918bb; font-weight: bold } /* Literal.Number.Oct */ +.highlight .sa { color: #00cc66 } /* Literal.String.Affix */ +.highlight .sb { color: #00cc66 } /* Literal.String.Backtick */ +.highlight .sc { color: #00cc66 } /* Literal.String.Char */ +.highlight .dl { color: #00cc66 } /* Literal.String.Delimiter */ +.highlight .sd { color: #00cc66; font-style: italic } /* Literal.String.Doc */ +.highlight .s2 { color: #00cc66 } /* Literal.String.Double */ +.highlight .se { color: #c5060b; font-weight: bold } /* Literal.String.Escape */ +.highlight .sh { color: #00cc66 } /* Literal.String.Heredoc */ +.highlight .si { color: #00cc66 } /* Literal.String.Interpol */ +.highlight .sx { color: #318495 } /* Literal.String.Other */ +.highlight .sr { color: #00cc66 } /* Literal.String.Regex */ +.highlight .s1 { color: #00cc66 } /* Literal.String.Single */ +.highlight .ss { color: #c5060b; font-weight: bold } /* Literal.String.Symbol */ +.highlight .bp { color: #5918bb; font-weight: bold } /* Name.Builtin.Pseudo */ +.highlight .fm { color: #ff8000; font-weight: bold } /* Name.Function.Magic */ +.highlight .il { color: #5918bb; font-weight: bold } /* Literal.Number.Integer.Long */ \ No newline at end of file diff --git a/docs/_static/searchtools.js b/docs/_static/searchtools.js new file mode 100644 index 000000000..2c774d17a --- /dev/null +++ b/docs/_static/searchtools.js @@ -0,0 +1,632 @@ +/* + * Sphinx JavaScript utilities for the full-text search. + */ +"use strict"; + +/** + * Simple result scoring code. + */ +if (typeof Scorer === "undefined") { + var Scorer = { + // Implement the following function to further tweak the score for each result + // The function takes a result array [docname, title, anchor, descr, score, filename] + // and returns the new score. + /* + score: result => { + const [docname, title, anchor, descr, score, filename, kind] = result + return score + }, + */ + + // query matches the full name of an object + objNameMatch: 11, + // or matches in the last dotted part of the object name + objPartialMatch: 6, + // Additive scores depending on the priority of the object + objPrio: { + 0: 15, // used to be importantResults + 1: 5, // used to be objectResults + 2: -5, // used to be unimportantResults + }, + // Used when the priority is not in the mapping. + objPrioDefault: 0, + + // query found in title + title: 15, + partialTitle: 7, + // query found in terms + term: 5, + partialTerm: 2, + }; +} + +// Global search result kind enum, used by themes to style search results. +class SearchResultKind { + static get index() { return "index"; } + static get object() { return "object"; } + static get text() { return "text"; } + static get title() { return "title"; } +} + +const _removeChildren = (element) => { + while (element && element.lastChild) element.removeChild(element.lastChild); +}; + +/** + * See https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Regular_Expressions#escaping + */ +const _escapeRegExp = (string) => + string.replace(/[.*+\-?^${}()|[\]\\]/g, "\\$&"); // $& means the whole matched string + +const _displayItem = (item, searchTerms, highlightTerms) => { + const docBuilder = DOCUMENTATION_OPTIONS.BUILDER; + const docFileSuffix = DOCUMENTATION_OPTIONS.FILE_SUFFIX; + const docLinkSuffix = DOCUMENTATION_OPTIONS.LINK_SUFFIX; + const showSearchSummary = DOCUMENTATION_OPTIONS.SHOW_SEARCH_SUMMARY; + const contentRoot = document.documentElement.dataset.content_root; + + const [docName, title, anchor, descr, score, _filename, kind] = item; + + let listItem = document.createElement("li"); + // Add a class representing the item's type: + // can be used by a theme's CSS selector for styling + // See SearchResultKind for the class names. + listItem.classList.add(`kind-${kind}`); + let requestUrl; + let linkUrl; + if (docBuilder === "dirhtml") { + // dirhtml builder + let dirname = docName + "/"; + if (dirname.match(/\/index\/$/)) + dirname = dirname.substring(0, dirname.length - 6); + else if (dirname === "index/") dirname = ""; + requestUrl = contentRoot + dirname; + linkUrl = requestUrl; + } else { + // normal html builders + requestUrl = contentRoot + docName + docFileSuffix; + linkUrl = docName + docLinkSuffix; + } + let linkEl = listItem.appendChild(document.createElement("a")); + linkEl.href = linkUrl + anchor; + linkEl.dataset.score = score; + linkEl.innerHTML = title; + if (descr) { + listItem.appendChild(document.createElement("span")).innerHTML = + " (" + descr + ")"; + // highlight search terms in the description + if (SPHINX_HIGHLIGHT_ENABLED) // set in sphinx_highlight.js + highlightTerms.forEach((term) => _highlightText(listItem, term, "highlighted")); + } + else if (showSearchSummary) + fetch(requestUrl) + .then((responseData) => responseData.text()) + .then((data) => { + if (data) + listItem.appendChild( + Search.makeSearchSummary(data, searchTerms, anchor) + ); + // highlight search terms in the summary + if (SPHINX_HIGHLIGHT_ENABLED) // set in sphinx_highlight.js + highlightTerms.forEach((term) => _highlightText(listItem, term, "highlighted")); + }); + Search.output.appendChild(listItem); +}; +const _finishSearch = (resultCount) => { + Search.stopPulse(); + Search.title.innerText = _("Search Results"); + if (!resultCount) + Search.status.innerText = Documentation.gettext( + "Your search did not match any documents. Please make sure that all words are spelled correctly and that you've selected enough categories." + ); + else + Search.status.innerText = Documentation.ngettext( + "Search finished, found one page matching the search query.", + "Search finished, found ${resultCount} pages matching the search query.", + resultCount, + ).replace('${resultCount}', resultCount); +}; +const _displayNextItem = ( + results, + resultCount, + searchTerms, + highlightTerms, +) => { + // results left, load the summary and display it + // this is intended to be dynamic (don't sub resultsCount) + if (results.length) { + _displayItem(results.pop(), searchTerms, highlightTerms); + setTimeout( + () => _displayNextItem(results, resultCount, searchTerms, highlightTerms), + 5 + ); + } + // search finished, update title and status message + else _finishSearch(resultCount); +}; +// Helper function used by query() to order search results. +// Each input is an array of [docname, title, anchor, descr, score, filename, kind]. +// Order the results by score (in opposite order of appearance, since the +// `_displayNextItem` function uses pop() to retrieve items) and then alphabetically. +const _orderResultsByScoreThenName = (a, b) => { + const leftScore = a[4]; + const rightScore = b[4]; + if (leftScore === rightScore) { + // same score: sort alphabetically + const leftTitle = a[1].toLowerCase(); + const rightTitle = b[1].toLowerCase(); + if (leftTitle === rightTitle) return 0; + return leftTitle > rightTitle ? -1 : 1; // inverted is intentional + } + return leftScore > rightScore ? 1 : -1; +}; + +/** + * Default splitQuery function. Can be overridden in ``sphinx.search`` with a + * custom function per language. + * + * The regular expression works by splitting the string on consecutive characters + * that are not Unicode letters, numbers, underscores, or emoji characters. + * This is the same as ``\W+`` in Python, preserving the surrogate pair area. + */ +if (typeof splitQuery === "undefined") { + var splitQuery = (query) => query + .split(/[^\p{Letter}\p{Number}_\p{Emoji_Presentation}]+/gu) + .filter(term => term) // remove remaining empty strings +} + +/** + * Search Module + */ +const Search = { + _index: null, + _queued_query: null, + _pulse_status: -1, + + htmlToText: (htmlString, anchor) => { + const htmlElement = new DOMParser().parseFromString(htmlString, 'text/html'); + for (const removalQuery of [".headerlink", "script", "style"]) { + htmlElement.querySelectorAll(removalQuery).forEach((el) => { el.remove() }); + } + if (anchor) { + const anchorContent = htmlElement.querySelector(`[role="main"] ${anchor}`); + if (anchorContent) return anchorContent.textContent; + + console.warn( + `Anchored content block not found. Sphinx search tries to obtain it via DOM query '[role=main] ${anchor}'. Check your theme or template.` + ); + } + + // if anchor not specified or not found, fall back to main content + const docContent = htmlElement.querySelector('[role="main"]'); + if (docContent) return docContent.textContent; + + console.warn( + "Content block not found. Sphinx search tries to obtain it via DOM query '[role=main]'. Check your theme or template." + ); + return ""; + }, + + init: () => { + const query = new URLSearchParams(window.location.search).get("q"); + document + .querySelectorAll('input[name="q"]') + .forEach((el) => (el.value = query)); + if (query) Search.performSearch(query); + }, + + loadIndex: (url) => + (document.body.appendChild(document.createElement("script")).src = url), + + setIndex: (index) => { + Search._index = index; + if (Search._queued_query !== null) { + const query = Search._queued_query; + Search._queued_query = null; + Search.query(query); + } + }, + + hasIndex: () => Search._index !== null, + + deferQuery: (query) => (Search._queued_query = query), + + stopPulse: () => (Search._pulse_status = -1), + + startPulse: () => { + if (Search._pulse_status >= 0) return; + + const pulse = () => { + Search._pulse_status = (Search._pulse_status + 1) % 4; + Search.dots.innerText = ".".repeat(Search._pulse_status); + if (Search._pulse_status >= 0) window.setTimeout(pulse, 500); + }; + pulse(); + }, + + /** + * perform a search for something (or wait until index is loaded) + */ + performSearch: (query) => { + // create the required interface elements + const searchText = document.createElement("h2"); + searchText.textContent = _("Searching"); + const searchSummary = document.createElement("p"); + searchSummary.classList.add("search-summary"); + searchSummary.innerText = ""; + const searchList = document.createElement("ul"); + searchList.setAttribute("role", "list"); + searchList.classList.add("search"); + + const out = document.getElementById("search-results"); + Search.title = out.appendChild(searchText); + Search.dots = Search.title.appendChild(document.createElement("span")); + Search.status = out.appendChild(searchSummary); + Search.output = out.appendChild(searchList); + + const searchProgress = document.getElementById("search-progress"); + // Some themes don't use the search progress node + if (searchProgress) { + searchProgress.innerText = _("Preparing search..."); + } + Search.startPulse(); + + // index already loaded, the browser was quick! + if (Search.hasIndex()) Search.query(query); + else Search.deferQuery(query); + }, + + _parseQuery: (query) => { + // stem the search terms and add them to the correct list + const stemmer = new Stemmer(); + const searchTerms = new Set(); + const excludedTerms = new Set(); + const highlightTerms = new Set(); + const objectTerms = new Set(splitQuery(query.toLowerCase().trim())); + splitQuery(query.trim()).forEach((queryTerm) => { + const queryTermLower = queryTerm.toLowerCase(); + + // maybe skip this "word" + // stopwords array is from language_data.js + if ( + stopwords.indexOf(queryTermLower) !== -1 || + queryTerm.match(/^\d+$/) + ) + return; + + // stem the word + let word = stemmer.stemWord(queryTermLower); + // select the correct list + if (word[0] === "-") excludedTerms.add(word.substr(1)); + else { + searchTerms.add(word); + highlightTerms.add(queryTermLower); + } + }); + + if (SPHINX_HIGHLIGHT_ENABLED) { // set in sphinx_highlight.js + localStorage.setItem("sphinx_highlight_terms", [...highlightTerms].join(" ")) + } + + // console.debug("SEARCH: searching for:"); + // console.info("required: ", [...searchTerms]); + // console.info("excluded: ", [...excludedTerms]); + + return [query, searchTerms, excludedTerms, highlightTerms, objectTerms]; + }, + + /** + * execute search (requires search index to be loaded) + */ + _performSearch: (query, searchTerms, excludedTerms, highlightTerms, objectTerms) => { + const filenames = Search._index.filenames; + const docNames = Search._index.docnames; + const titles = Search._index.titles; + const allTitles = Search._index.alltitles; + const indexEntries = Search._index.indexentries; + + // Collect multiple result groups to be sorted separately and then ordered. + // Each is an array of [docname, title, anchor, descr, score, filename, kind]. + const normalResults = []; + const nonMainIndexResults = []; + + _removeChildren(document.getElementById("search-progress")); + + const queryLower = query.toLowerCase().trim(); + for (const [title, foundTitles] of Object.entries(allTitles)) { + if (title.toLowerCase().trim().includes(queryLower) && (queryLower.length >= title.length/2)) { + for (const [file, id] of foundTitles) { + const score = Math.round(Scorer.title * queryLower.length / title.length); + const boost = titles[file] === title ? 1 : 0; // add a boost for document titles + normalResults.push([ + docNames[file], + titles[file] !== title ? `${titles[file]} > ${title}` : title, + id !== null ? "#" + id : "", + null, + score + boost, + filenames[file], + SearchResultKind.title, + ]); + } + } + } + + // search for explicit entries in index directives + for (const [entry, foundEntries] of Object.entries(indexEntries)) { + if (entry.includes(queryLower) && (queryLower.length >= entry.length/2)) { + for (const [file, id, isMain] of foundEntries) { + const score = Math.round(100 * queryLower.length / entry.length); + const result = [ + docNames[file], + titles[file], + id ? "#" + id : "", + null, + score, + filenames[file], + SearchResultKind.index, + ]; + if (isMain) { + normalResults.push(result); + } else { + nonMainIndexResults.push(result); + } + } + } + } + + // lookup as object + objectTerms.forEach((term) => + normalResults.push(...Search.performObjectSearch(term, objectTerms)) + ); + + // lookup as search terms in fulltext + normalResults.push(...Search.performTermsSearch(searchTerms, excludedTerms)); + + // let the scorer override scores with a custom scoring function + if (Scorer.score) { + normalResults.forEach((item) => (item[4] = Scorer.score(item))); + nonMainIndexResults.forEach((item) => (item[4] = Scorer.score(item))); + } + + // Sort each group of results by score and then alphabetically by name. + normalResults.sort(_orderResultsByScoreThenName); + nonMainIndexResults.sort(_orderResultsByScoreThenName); + + // Combine the result groups in (reverse) order. + // Non-main index entries are typically arbitrary cross-references, + // so display them after other results. + let results = [...nonMainIndexResults, ...normalResults]; + + // remove duplicate search results + // note the reversing of results, so that in the case of duplicates, the highest-scoring entry is kept + let seen = new Set(); + results = results.reverse().reduce((acc, result) => { + let resultStr = result.slice(0, 4).concat([result[5]]).map(v => String(v)).join(','); + if (!seen.has(resultStr)) { + acc.push(result); + seen.add(resultStr); + } + return acc; + }, []); + + return results.reverse(); + }, + + query: (query) => { + const [searchQuery, searchTerms, excludedTerms, highlightTerms, objectTerms] = Search._parseQuery(query); + const results = Search._performSearch(searchQuery, searchTerms, excludedTerms, highlightTerms, objectTerms); + + // for debugging + //Search.lastresults = results.slice(); // a copy + // console.info("search results:", Search.lastresults); + + // print the results + _displayNextItem(results, results.length, searchTerms, highlightTerms); + }, + + /** + * search for object names + */ + performObjectSearch: (object, objectTerms) => { + const filenames = Search._index.filenames; + const docNames = Search._index.docnames; + const objects = Search._index.objects; + const objNames = Search._index.objnames; + const titles = Search._index.titles; + + const results = []; + + const objectSearchCallback = (prefix, match) => { + const name = match[4] + const fullname = (prefix ? prefix + "." : "") + name; + const fullnameLower = fullname.toLowerCase(); + if (fullnameLower.indexOf(object) < 0) return; + + let score = 0; + const parts = fullnameLower.split("."); + + // check for different match types: exact matches of full name or + // "last name" (i.e. last dotted part) + if (fullnameLower === object || parts.slice(-1)[0] === object) + score += Scorer.objNameMatch; + else if (parts.slice(-1)[0].indexOf(object) > -1) + score += Scorer.objPartialMatch; // matches in last name + + const objName = objNames[match[1]][2]; + const title = titles[match[0]]; + + // If more than one term searched for, we require other words to be + // found in the name/title/description + const otherTerms = new Set(objectTerms); + otherTerms.delete(object); + if (otherTerms.size > 0) { + const haystack = `${prefix} ${name} ${objName} ${title}`.toLowerCase(); + if ( + [...otherTerms].some((otherTerm) => haystack.indexOf(otherTerm) < 0) + ) + return; + } + + let anchor = match[3]; + if (anchor === "") anchor = fullname; + else if (anchor === "-") anchor = objNames[match[1]][1] + "-" + fullname; + + const descr = objName + _(", in ") + title; + + // add custom score for some objects according to scorer + if (Scorer.objPrio.hasOwnProperty(match[2])) + score += Scorer.objPrio[match[2]]; + else score += Scorer.objPrioDefault; + + results.push([ + docNames[match[0]], + fullname, + "#" + anchor, + descr, + score, + filenames[match[0]], + SearchResultKind.object, + ]); + }; + Object.keys(objects).forEach((prefix) => + objects[prefix].forEach((array) => + objectSearchCallback(prefix, array) + ) + ); + return results; + }, + + /** + * search for full-text terms in the index + */ + performTermsSearch: (searchTerms, excludedTerms) => { + // prepare search + const terms = Search._index.terms; + const titleTerms = Search._index.titleterms; + const filenames = Search._index.filenames; + const docNames = Search._index.docnames; + const titles = Search._index.titles; + + const scoreMap = new Map(); + const fileMap = new Map(); + + // perform the search on the required terms + searchTerms.forEach((word) => { + const files = []; + const arr = [ + { files: terms[word], score: Scorer.term }, + { files: titleTerms[word], score: Scorer.title }, + ]; + // add support for partial matches + if (word.length > 2) { + const escapedWord = _escapeRegExp(word); + if (!terms.hasOwnProperty(word)) { + Object.keys(terms).forEach((term) => { + if (term.match(escapedWord)) + arr.push({ files: terms[term], score: Scorer.partialTerm }); + }); + } + if (!titleTerms.hasOwnProperty(word)) { + Object.keys(titleTerms).forEach((term) => { + if (term.match(escapedWord)) + arr.push({ files: titleTerms[term], score: Scorer.partialTitle }); + }); + } + } + + // no match but word was a required one + if (arr.every((record) => record.files === undefined)) return; + + // found search word in contents + arr.forEach((record) => { + if (record.files === undefined) return; + + let recordFiles = record.files; + if (recordFiles.length === undefined) recordFiles = [recordFiles]; + files.push(...recordFiles); + + // set score for the word in each file + recordFiles.forEach((file) => { + if (!scoreMap.has(file)) scoreMap.set(file, {}); + scoreMap.get(file)[word] = record.score; + }); + }); + + // create the mapping + files.forEach((file) => { + if (!fileMap.has(file)) fileMap.set(file, [word]); + else if (fileMap.get(file).indexOf(word) === -1) fileMap.get(file).push(word); + }); + }); + + // now check if the files don't contain excluded terms + const results = []; + for (const [file, wordList] of fileMap) { + // check if all requirements are matched + + // as search terms with length < 3 are discarded + const filteredTermCount = [...searchTerms].filter( + (term) => term.length > 2 + ).length; + if ( + wordList.length !== searchTerms.size && + wordList.length !== filteredTermCount + ) + continue; + + // ensure that none of the excluded terms is in the search result + if ( + [...excludedTerms].some( + (term) => + terms[term] === file || + titleTerms[term] === file || + (terms[term] || []).includes(file) || + (titleTerms[term] || []).includes(file) + ) + ) + break; + + // select one (max) score for the file. + const score = Math.max(...wordList.map((w) => scoreMap.get(file)[w])); + // add result to the result list + results.push([ + docNames[file], + titles[file], + "", + null, + score, + filenames[file], + SearchResultKind.text, + ]); + } + return results; + }, + + /** + * helper function to return a node containing the + * search summary for a given text. keywords is a list + * of stemmed words. + */ + makeSearchSummary: (htmlText, keywords, anchor) => { + const text = Search.htmlToText(htmlText, anchor); + if (text === "") return null; + + const textLower = text.toLowerCase(); + const actualStartPosition = [...keywords] + .map((k) => textLower.indexOf(k.toLowerCase())) + .filter((i) => i > -1) + .slice(-1)[0]; + const startWithContext = Math.max(actualStartPosition - 120, 0); + + const top = startWithContext === 0 ? "" : "..."; + const tail = startWithContext + 240 < text.length ? "..." : ""; + + let summary = document.createElement("p"); + summary.classList.add("context"); + summary.textContent = top + text.substr(startWithContext, 240).trim() + tail; + + return summary; + }, +}; + +_ready(Search.init); diff --git a/docs/_static/sphinx_highlight.js b/docs/_static/sphinx_highlight.js new file mode 100644 index 000000000..8a96c69a1 --- /dev/null +++ b/docs/_static/sphinx_highlight.js @@ -0,0 +1,154 @@ +/* Highlighting utilities for Sphinx HTML documentation. */ +"use strict"; + +const SPHINX_HIGHLIGHT_ENABLED = true + +/** + * highlight a given string on a node by wrapping it in + * span elements with the given class name. + */ +const _highlight = (node, addItems, text, className) => { + if (node.nodeType === Node.TEXT_NODE) { + const val = node.nodeValue; + const parent = node.parentNode; + const pos = val.toLowerCase().indexOf(text); + if ( + pos >= 0 && + !parent.classList.contains(className) && + !parent.classList.contains("nohighlight") + ) { + let span; + + const closestNode = parent.closest("body, svg, foreignObject"); + const isInSVG = closestNode && closestNode.matches("svg"); + if (isInSVG) { + span = document.createElementNS("http://www.w3.org/2000/svg", "tspan"); + } else { + span = document.createElement("span"); + span.classList.add(className); + } + + span.appendChild(document.createTextNode(val.substr(pos, text.length))); + const rest = document.createTextNode(val.substr(pos + text.length)); + parent.insertBefore( + span, + parent.insertBefore( + rest, + node.nextSibling + ) + ); + node.nodeValue = val.substr(0, pos); + /* There may be more occurrences of search term in this node. So call this + * function recursively on the remaining fragment. + */ + _highlight(rest, addItems, text, className); + + if (isInSVG) { + const rect = document.createElementNS( + "http://www.w3.org/2000/svg", + "rect" + ); + const bbox = parent.getBBox(); + rect.x.baseVal.value = bbox.x; + rect.y.baseVal.value = bbox.y; + rect.width.baseVal.value = bbox.width; + rect.height.baseVal.value = bbox.height; + rect.setAttribute("class", className); + addItems.push({ parent: parent, target: rect }); + } + } + } else if (node.matches && !node.matches("button, select, textarea")) { + node.childNodes.forEach((el) => _highlight(el, addItems, text, className)); + } +}; +const _highlightText = (thisNode, text, className) => { + let addItems = []; + _highlight(thisNode, addItems, text, className); + addItems.forEach((obj) => + obj.parent.insertAdjacentElement("beforebegin", obj.target) + ); +}; + +/** + * Small JavaScript module for the documentation. + */ +const SphinxHighlight = { + + /** + * highlight the search words provided in localstorage in the text + */ + highlightSearchWords: () => { + if (!SPHINX_HIGHLIGHT_ENABLED) return; // bail if no highlight + + // get and clear terms from localstorage + const url = new URL(window.location); + const highlight = + localStorage.getItem("sphinx_highlight_terms") + || url.searchParams.get("highlight") + || ""; + localStorage.removeItem("sphinx_highlight_terms") + url.searchParams.delete("highlight"); + window.history.replaceState({}, "", url); + + // get individual terms from highlight string + const terms = highlight.toLowerCase().split(/\s+/).filter(x => x); + if (terms.length === 0) return; // nothing to do + + // There should never be more than one element matching "div.body" + const divBody = document.querySelectorAll("div.body"); + const body = divBody.length ? divBody[0] : document.querySelector("body"); + window.setTimeout(() => { + terms.forEach((term) => _highlightText(body, term, "highlighted")); + }, 10); + + const searchBox = document.getElementById("searchbox"); + if (searchBox === null) return; + searchBox.appendChild( + document + .createRange() + .createContextualFragment( + '" + ) + ); + }, + + /** + * helper function to hide the search marks again + */ + hideSearchWords: () => { + document + .querySelectorAll("#searchbox .highlight-link") + .forEach((el) => el.remove()); + document + .querySelectorAll("span.highlighted") + .forEach((el) => el.classList.remove("highlighted")); + localStorage.removeItem("sphinx_highlight_terms") + }, + + initEscapeListener: () => { + // only install a listener if it is really needed + if (!DOCUMENTATION_OPTIONS.ENABLE_SEARCH_SHORTCUTS) return; + + document.addEventListener("keydown", (event) => { + // bail for input elements + if (BLACKLISTED_KEY_CONTROL_ELEMENTS.has(document.activeElement.tagName)) return; + // bail with special keys + if (event.shiftKey || event.altKey || event.ctrlKey || event.metaKey) return; + if (DOCUMENTATION_OPTIONS.ENABLE_SEARCH_SHORTCUTS && (event.key === "Escape")) { + SphinxHighlight.hideSearchWords(); + event.preventDefault(); + } + }); + }, +}; + +_ready(() => { + /* Do not call highlightSearchWords() when we are on the search page. + * It will highlight words from the *previous* search query. + */ + if (typeof Search === "undefined") SphinxHighlight.highlightSearchWords(); + SphinxHighlight.initEscapeListener(); +}); diff --git a/docs/api.html b/docs/api.html new file mode 100644 index 000000000..51ca78e80 --- /dev/null +++ b/docs/api.html @@ -0,0 +1,4867 @@ + + + + + + + + API Reference — Cutter 2.4.0 documentation + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+ +
+

API Reference

+
+ +
+
+ + +
+
+
+
+ + +
+
+ + + + + + + \ No newline at end of file diff --git a/docs/api/common/classAddressableFilterProxyModel.html b/docs/api/common/classAddressableFilterProxyModel.html new file mode 100644 index 000000000..92747d95c --- /dev/null +++ b/docs/api/common/classAddressableFilterProxyModel.html @@ -0,0 +1,212 @@ + + + + + + + + AddressableFilterProxyModel — Cutter 2.4.0 documentation + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+ +
+

AddressableFilterProxyModel

+
+
+class AddressableFilterProxyModel : public AddressableItemModel<QSortFilterProxyModel>
+

Subclassed by BreakpointProxyModel, ClassesSortFilterProxyModel, CommentsProxyModel, ExportsProxyModel, FlagsSortFilterProxyModel, FunctionSortFilterProxyModel, GlobalsProxyModel, HeadersProxyModel, ImportsProxyModel, MemoryProxyModel, RelocsProxyModel, SearchSortFilterProxyModel, SectionsProxyModel, SegmentsProxyModel, StringsProxyModel, SymbolsProxyModel

+
+

Public Functions

+
+
+AddressableFilterProxyModel(AddressableItemModelI *sourceModel, QObject *parent)
+
+ +
+
+virtual RVA address(const QModelIndex &index) const override
+
+ +
+
+virtual QString name(const QModelIndex&) const override
+

Get name for item, optional.

+
+
Parameters:
+

index – item intex

+
+
Returns:
+

Item name or empty QString if item doesn’t have short descriptive name.

+
+
+
+ +
+
+void setSourceModel(AddressableItemModelI *sourceModel)
+
+ +
+
+ +
+ + +
+
+
+
+ + +
+
+ + + + + + + \ No newline at end of file diff --git a/docs/api/common/classAddressableItemModel.html b/docs/api/common/classAddressableItemModel.html new file mode 100644 index 000000000..652a3d438 --- /dev/null +++ b/docs/api/common/classAddressableItemModel.html @@ -0,0 +1,198 @@ + + + + + + + + AddressableItemModel — Cutter 2.4.0 documentation + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+ +
+

AddressableItemModel

+
+
+template<class ParentModel = QAbstractItemModel>
class AddressableItemModel : public QAbstractItemModel, public AddressableItemModelI
+

Subclassed by ClassesModel, CommentsModel, FunctionModel

+
+

Public Functions

+
+
+inline explicit AddressableItemModel(QObject *parent = nullptr)
+
+ +
+
+inline virtual ~AddressableItemModel()
+
+ +
+
+inline virtual QAbstractItemModel *asItemModel()
+
+ +
+
+ +
+ + +
+
+
+
+ + +
+
+ + + + + + + \ No newline at end of file diff --git a/docs/api/common/classAddressableItemModelI.html b/docs/api/common/classAddressableItemModelI.html new file mode 100644 index 000000000..6cf6872a2 --- /dev/null +++ b/docs/api/common/classAddressableItemModelI.html @@ -0,0 +1,207 @@ + + + + + + + + AddressableItemModelI — Cutter 2.4.0 documentation + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+ +
+

AddressableItemModelI

+
+
+class AddressableItemModelI
+

Subclassed by AddressableItemModel< QSortFilterProxyModel >, AddressableItemModel< QAbstractListModel >, AddressableItemModel< QAbstractTableModel >, AddressableItemModel< ParentModel >

+
+

Public Functions

+
+
+virtual RVA address(const QModelIndex &index) const = 0
+
+ +
+
+inline virtual QString name(const QModelIndex &index) const
+

Get name for item, optional.

+
+
Parameters:
+

index – item intex

+
+
Returns:
+

Item name or empty QString if item doesn’t have short descriptive name.

+
+
+
+ +
+
+virtual QAbstractItemModel *asItemModel() = 0
+
+ +
+
+ +
+ + +
+
+
+
+ + +
+
+ + + + + + + \ No newline at end of file diff --git a/docs/api/common/classAnalysisTask.html b/docs/api/common/classAnalysisTask.html new file mode 100644 index 000000000..63ab374b0 --- /dev/null +++ b/docs/api/common/classAnalysisTask.html @@ -0,0 +1,220 @@ + + + + + + + + AnalysisTask — Cutter 2.4.0 documentation + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+ +
+

AnalysisTask

+
+
+class AnalysisTask : public AsyncTask
+
+

Public Functions

+
+
+explicit AnalysisTask()
+
+ +
+
+~AnalysisTask()
+
+ +
+
+virtual QString getTitle() override
+
+ +
+
+inline void setOptions(const InitialOptions &options)
+
+ +
+
+virtual void interrupt() override
+
+ +
+
+inline bool getOpenFileFailed()
+
+ +
+
+

Signals

+
+
+void openFileFailed()
+
+ +
+
+ +
+ + +
+
+
+
+ + +
+
+ + + + + + + \ No newline at end of file diff --git a/docs/api/common/classAsyncTask.html b/docs/api/common/classAsyncTask.html new file mode 100644 index 000000000..0f1409f58 --- /dev/null +++ b/docs/api/common/classAsyncTask.html @@ -0,0 +1,264 @@ + + + + + + + + AsyncTask — Cutter 2.4.0 documentation + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+ +
+

AsyncTask

+
+
+class AsyncTask : public QObject, public QRunnable
+

Subclassed by AnalysisTask, CommandTask, FunctionsTask, RunScriptTask, StringsTask

+
+

Public Types

+
+
+using Ptr = QSharedPointer<AsyncTask>
+
+ +
+
+

Public Functions

+
+
+AsyncTask()
+
+ +
+
+~AsyncTask()
+
+ +
+
+void run() final override
+
+ +
+
+void wait()
+
+ +
+
+bool wait(int timeout)
+
+ +
+
+virtual void interrupt()
+
+ +
+
+inline bool isInterrupted()
+
+ +
+
+inline bool isRunning()
+
+ +
+
+inline const QString &getLog()
+
+ +
+
+inline const QElapsedTimer &getTimer()
+
+ +
+
+inline qint64 getElapsedTime()
+
+ +
+
+inline virtual QString getTitle()
+
+ +
+
+

Signals

+
+
+void finished()
+
+ +
+
+void logChanged(const QString &log)
+
+ +
+
+ +
+ + +
+
+
+
+ + +
+
+ + + + + + + \ No newline at end of file diff --git a/docs/api/common/classAsyncTaskManager.html b/docs/api/common/classAsyncTaskManager.html new file mode 100644 index 000000000..82ca85f16 --- /dev/null +++ b/docs/api/common/classAsyncTaskManager.html @@ -0,0 +1,210 @@ + + + + + + + + AsyncTaskManager — Cutter 2.4.0 documentation + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+ +
+

AsyncTaskManager

+
+
+class AsyncTaskManager : public QObject
+
+

Public Functions

+
+
+explicit AsyncTaskManager(QObject *parent = nullptr)
+
+ +
+
+~AsyncTaskManager()
+
+ +
+
+void start(AsyncTask::Ptr task)
+
+ +
+
+bool getTasksRunning()
+
+ +
+
+

Signals

+
+
+void tasksChanged()
+
+ +
+
+ +
+ + +
+
+
+
+ + +
+
+ + + + + + + \ No newline at end of file diff --git a/docs/api/common/classBasicBlockHighlighter.html b/docs/api/common/classBasicBlockHighlighter.html new file mode 100644 index 000000000..919f7354c --- /dev/null +++ b/docs/api/common/classBasicBlockHighlighter.html @@ -0,0 +1,224 @@ + + + + + + + + BasicBlockHighlighter — Cutter 2.4.0 documentation + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+ +
+

BasicBlockHighlighter

+
+
+class BasicBlockHighlighter
+
+

Public Functions

+
+
+BasicBlockHighlighter()
+
+ +
+
+void highlight(RVA address, const QColor &color)
+

Highlight the basic block at address.

+
+ +
+
+void clear(RVA address)
+

Clear the basic block highlighting.

+
+ +
+
+BasicBlock *getBasicBlock(RVA address)
+

Return a highlighted basic block.

+

If there is nothing to highlight at specified address, returns nullptr

+
+ +
+
+
+struct BasicBlock
+
+

Public Members

+
+
+RVA address
+
+ +
+
+QColor color
+
+ +
+
+ +
+ +
+ + +
+
+
+
+ + +
+
+ + + + + + + \ No newline at end of file diff --git a/docs/api/common/classBasicInstructionHighlighter.html b/docs/api/common/classBasicInstructionHighlighter.html new file mode 100644 index 000000000..6ca6542b8 --- /dev/null +++ b/docs/api/common/classBasicInstructionHighlighter.html @@ -0,0 +1,201 @@ + + + + + + + + BasicInstructionHighlighter — Cutter 2.4.0 documentation + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+ +
+

BasicInstructionHighlighter

+
+
+class BasicInstructionHighlighter
+
+

Public Functions

+
+
+void clear(RVA address, RVA size)
+

Clear the basic instruction highlighting.

+
+ +
+
+void highlight(RVA address, RVA size, QColor color)
+

Highlight the basic instruction at address.

+
+ +
+
+BasicInstruction *getBasicInstruction(RVA address)
+

Return a highlighted basic instruction.

+

If there is nothing to highlight at specified address, returns nullptr

+
+ +
+
+ +
+ + +
+
+
+
+ + +
+
+ + + + + + + \ No newline at end of file diff --git a/docs/api/common/classCachedFontMetrics.html b/docs/api/common/classCachedFontMetrics.html new file mode 100644 index 000000000..48bff5d61 --- /dev/null +++ b/docs/api/common/classCachedFontMetrics.html @@ -0,0 +1,207 @@ + + + + + + + + CachedFontMetrics — Cutter 2.4.0 documentation + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+ +
+

CachedFontMetrics

+
+
+template<typename T>
class CachedFontMetrics
+
+

Public Functions

+
+
+inline explicit CachedFontMetrics(const QFont &font)
+
+ +
+
+inline T width(const QChar &ch)
+
+ +
+
+inline T width(const QString &text)
+
+ +
+
+inline T height()
+
+ +
+
+inline T position(const QString &text, T offset)
+
+ +
+
+ +
+ + +
+
+
+
+ + +
+
+ + + + + + + \ No newline at end of file diff --git a/docs/api/common/classColorThemeWorker.html b/docs/api/common/classColorThemeWorker.html new file mode 100644 index 000000000..c25829c98 --- /dev/null +++ b/docs/api/common/classColorThemeWorker.html @@ -0,0 +1,360 @@ + + + + + + + + ColorThemeWorker — Cutter 2.4.0 documentation + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+ +
+

ColorThemeWorker

+
+
+class ColorThemeWorker : public QObject
+

The ColorThemeWorker class is a singletone that provides API for working with color themes.

+
+

Public Types

+
+
+typedef QHash<QString, QColor> Theme
+
+ +
+
+

Public Functions

+
+
+inline virtual ~ColorThemeWorker()
+
+ +
+
+QString copy(const QString &srcThemeName, const QString &copyThemeName) const
+

Copies srcThemeName with name copyThemeName.

+
+
Parameters:
+
    +
  • srcThemeName – Name of theme to be copied.

  • +
  • copyThemeName – Name of copy.

  • +
+
+
Returns:
+

“” on success or error message.

+
+
+
+ +
+
+QString save(const Theme &theme, const QString &themeName) const
+

Saves theme as themeName theme.

+
+
Parameters:
+
    +
  • theme – Theme to be saved.

  • +
  • themeName – Name of theme to save.

  • +
+
+
Returns:
+

“” on success or error message.

+
+
+
+ +
+
+bool isCustomTheme(const QString &themeName) const
+

Returns whether or not themeName theme is custom (created by user or imported) or not.

+
+
Parameters:
+

themeName – Name of theme to check.

+
+
+
+ +
+
+bool isThemeExist(const QString &name) const
+

Returns whether or not name theme already exists.

+
+
Returns:
+

true if theme exists, false - if not.

+
+
+
+ +
+
+Theme getTheme(const QString &themeName) const
+

Returns theme as QHash where key is option name and value is QColor.

+
+
Parameters:
+

themeName – Theme to get.

+
+
+
+ +
+
+QString deleteTheme(const QString &themeName) const
+

Deletes theme named themeName.

+
+
Parameters:
+

themeName – Name of theme to be removed.

+
+
Returns:
+

“” on success or error message.

+
+
+
+ +
+
+QString importTheme(const QString &file) const
+

Imports theme from file.

+
+
Returns:
+

“” on success or error message.

+
+
+
+ +
+
+QString renameTheme(const QString &themeName, const QString &newName) const
+

Renames theme from themeName to newName.

+
+
Returns:
+

“” on success or error message.

+
+
+
+ +
+
+bool isFileTheme(const QString &filePath, bool *ok) const
+

Returns whether or not file at filePath is a color theme.

+
+
Parameters:
+
    +
  • filePath – Path to file to check.

  • +
  • ok – Output parameter. Indicates wheter or not check was successful.

  • +
+
+
Returns:
+

true if given file is color theme and ok == true, otherwise returns false.

+
+
+
+ +
+
+QStringList customThemes() const
+

Returns list of all custom themes.

+
+ +
+
+inline QString getStandardThemesPath()
+
+ +
+
+inline QString getCustomThemesPath()
+
+ +
+
+const QStringList &getRizinSpecificOptions()
+
+ +
+
+

Public Static Functions

+
+
+static inline ColorThemeWorker &instance()
+
+ +
+
+

Public Static Attributes

+
+
+static const QStringList cutterSpecificOptions = {"wordHighlight", "lineHighlight", "gui.main", "gui.imports", "highlightPC", "gui.navbar.err", "gui.navbar.seek", "gui.navbar.pc", "gui.navbar.sym", "gui.dataoffset", "gui.navbar.code", "gui.navbar.empty", "angui.navbar.str", "gui.disass_selected", "gui.breakpoint_background", "gui.overview.node", "gui.overview.fill", "gui.overview.border", "gui.border", "gui.background", "gui.alt_background", "gui.disass_selected"}
+

cutterSpecificOptions is list of all available Cutter-only color options.

+
+ +
+
+static const QStringList rizinUnusedOptions = {"linehl", "wordhl", "graph.box", "graph.box2", "graph.box3", "graph.box4", "graph.current", "graph.box2", "widget_sel", "widget_bg", "label", "ai.write", "invalid", "ai.seq", "args", "ai.read", "ai.exec", "ai.ascii", "prompt", "graph.traced"}
+

rizinUnusedOptions is a list of all Rizin options that Cutter does not use.

+
+ +
+
+ +
+ + +
+
+
+
+ + +
+
+ + + + + + + \ No newline at end of file diff --git a/docs/api/common/classColors.html b/docs/api/common/classColors.html new file mode 100644 index 000000000..abd357b75 --- /dev/null +++ b/docs/api/common/classColors.html @@ -0,0 +1,200 @@ + + + + + + + + Colors — Cutter 2.4.0 documentation + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+ +
+

Colors

+
+
+class Colors
+
+

Public Functions

+
+
+Colors()
+
+ +
+
+

Public Static Functions

+
+
+static void colorizeAssembly(RichTextPainter::List &list, QString opcode, ut64 type_num)
+
+ +
+
+static QString getColor(ut64 type)
+
+ +
+
+ +
+ + +
+
+
+
+ + +
+
+ + + + + + + \ No newline at end of file diff --git a/docs/api/common/classCommandTask.html b/docs/api/common/classCommandTask.html new file mode 100644 index 000000000..79030af14 --- /dev/null +++ b/docs/api/common/classCommandTask.html @@ -0,0 +1,229 @@ + + + + + + + + CommandTask — Cutter 2.4.0 documentation + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+ +
+

CommandTask

+
+
+class CommandTask : public AsyncTask
+
+

Public Types

+
+
+enum ColorMode
+

Values:

+
+
+enumerator DISABLED
+
+ +
+
+enumerator MODE_16
+
+ +
+
+enumerator MODE_256
+
+ +
+
+enumerator MODE_16M
+
+ +
+ +
+
+

Public Functions

+
+
+CommandTask(const QString &cmd, ColorMode colorMode = ColorMode::DISABLED)
+
+ +
+
+inline virtual QString getTitle() override
+
+ +
+
+

Signals

+
+
+void finished(const QString &result)
+
+ +
+
+ +
+ + +
+
+
+
+ + +
+
+ + + + + + + \ No newline at end of file diff --git a/docs/api/common/classConfiguration.html b/docs/api/common/classConfiguration.html new file mode 100644 index 000000000..289a53ce2 --- /dev/null +++ b/docs/api/common/classConfiguration.html @@ -0,0 +1,722 @@ + + + + + + + + Configuration — Cutter 2.4.0 documentation + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+ +
+

Configuration

+
+
+class Configuration : public QObject
+
+

Public Functions

+
+
+void loadInitial()
+
+ +
+
+void resetAll()
+
+ +
+
+bool getAutoUpdateEnabled() const
+
+ +
+
+void setAutoUpdateEnabled(bool au)
+
+ +
+
+QLocale getCurrLocale() const
+

get the current Locale set in Cutter’s user configuration

+
+
Returns:
+

a QLocale object describes user’s current locale

+
+
+
+ +
+
+void setLocale(const QLocale &l)
+

sets Cutter’s locale

+
+
Parameters:
+

l – - a QLocale object describes the locate to configure

+
+
+
+ +
+
+bool setLocaleByName(const QString &language)
+

set Cutter’s interface language by a given locale name

+
+
Parameters:
+

language – - a string represents the name of a locale language

+
+
Returns:
+

true on success

+
+
+
+ +
+
+QStringList getAvailableTranslations()
+

this function will gather and return available translation for Cutter

+
+
Returns:
+

a list of all available translations

+
+
+
+ +
+
+const QFont getBaseFont() const
+

Gets the configured font set by the font selection box.

+
+
Returns:
+

the configured font

+
+
+
+ +
+
+const QFont getFont() const
+

Gets the configured font with the point size adjusted by the configured zoom level (minimum of 10%)

+
+
Returns:
+

the configured font size adjusted by zoom level

+
+
+
+ +
+
+void setFont(const QFont &font)
+
+ +
+
+qreal getZoomFactor() const
+
+ +
+
+void setZoomFactor(qreal zoom)
+
+ +
+
+bool windowColorIsDark()
+
+ +
+
+void setLastThemeOf(const CutterInterfaceTheme &currInterfaceTheme, const QString &theme)
+
+ +
+
+QString getLastThemeOf(const CutterInterfaceTheme &currInterfaceTheme) const
+
+ +
+
+void setInterfaceTheme(int theme)
+
+ +
+
+inline int getInterfaceTheme()
+
+ +
+
+const CutterInterfaceTheme *getCurrentTheme()
+
+ +
+
+QSyntaxHighlighter *createSyntaxHighlighter(QTextDocument *document)
+
+ +
+
+QString getRecentFolder()
+
+ +
+
+void setRecentFolder(const QString &dir)
+
+ +
+
+void setNewFileLastClicked(int lastClicked)
+

Configuration::setFilesTabLastClicked Set the new file dialog last clicked tab.

+
+
Parameters:
+

lastClicked

+
+
+
+ +
+
+int getNewFileLastClicked()
+
+ +
+
+QString getLogoFile()
+
+ +
+
+void resetToDefaultAsmOptions()
+
+ +
+
+inline QString getColorTheme() const
+
+ +
+
+void setColorTheme(const QString &theme)
+
+ +
+
+void adjustColorThemeDarkness()
+

Change current color theme if it doesn’t much native theme’s darkness.

+
+ +
+
+int colorThemeDarkness(const QString &colorTheme) const
+
+ +
+
+void setColor(const QString &name, const QColor &color)
+

Configuration::setColor sets the local Cutter configuration color.

+
+
Parameters:
+
    +
  • name – Color Name

  • +
  • color – The color you want to set

  • +
+
+
+
+ +
+
+const QColor getColor(const QString &name) const
+
+ +
+
+QVariant getConfigVar(const QString &key)
+

Get the value of a config var either from Rizin or settings, depending on the key.

+
+ +
+
+bool getConfigBool(const QString &key)
+
+ +
+
+int getConfigInt(const QString &key)
+
+ +
+
+QString getConfigString(const QString &key)
+
+ +
+
+void setConfig(const QString &key, const QVariant &value)
+

Set the value of a config var either to Rizin or settings, depending on the key.

+

Configuration::setConfig Set Rizin configuration value (e.g. “asm.lines”)

+
+
Parameters:
+
    +
  • key

  • +
  • value

  • +
+
+
+
+ +
+
+bool isFirstExecution()
+

check if this is the first time Cutter’s is executed on this computer

+
+
Returns:
+

true if this is first execution; otherwise returns false.

+
+
+
+ +
+
+QString getSelectedDecompiler()
+
+
Returns:
+

id of the last selected decompiler (see CutterCore::getDecompilerById)

+
+
+
+ +
+
+void setSelectedDecompiler(const QString &id)
+
+ +
+
+bool getDecompilerAutoRefreshEnabled()
+
+ +
+
+void setDecompilerAutoRefreshEnabled(bool enabled)
+
+ +
+
+void enableDecompilerAnnotationHighlighter(bool useDecompilerHighlighter)
+
+ +
+
+bool isDecompilerAnnotationHighlighterEnabled()
+
+ +
+
+inline int getGraphBlockMaxChars() const
+
+ +
+
+inline void setGraphBlockMaxChars(int ch)
+
+ +
+
+inline int getGraphMinFontSize() const
+
+ +
+
+inline void setGraphMinFontSize(int sz)
+
+ +
+
+inline bool getGraphPreview()
+

Get the boolean setting for preview in Graph.

+
+
Returns:
+

True if preview checkbox is checked, false otherwise

+
+
+
+ +
+
+inline void setGraphPreview(bool checked)
+

Set the boolean setting for preview in Graph.

+
+
Parameters:
+

checked – is a boolean that represents the preview checkbox

+
+
+
+ +
+
+bool getBitmapTransparentState()
+

Getters and setters for the transaparent option state and scale factor for bitmap graph exports.

+
+ +
+
+double getBitmapExportScaleFactor()
+
+ +
+
+void setBitmapTransparentState(bool inputValueGraph)
+
+ +
+
+void setBitmapExportScaleFactor(double inputValueGraph)
+
+ +
+
+void setGraphSpacing(QPoint blockSpacing, QPoint edgeSpacing)
+
+ +
+
+QPoint getGraphBlockSpacing()
+
+ +
+
+QPoint getGraphEdgeSpacing()
+
+ +
+
+bool getGraphBlockEntryOffset()
+

Gets whether the entry offset of each block has to be displayed or not.

+
+
Returns:
+

true if the entry offset has to be displayed, false otherwise

+
+
+
+ +
+
+void setGraphBlockEntryOffset(bool enabled)
+

Enable or disable the displaying of the entry offset in each graph block.

+
+
Parameters:
+

enabled – set this to true for displaying the entry offset in each graph block, false otherwise

+
+
+
+ +
+
+void setOutputRedirectionEnabled(bool enabled)
+

Enable or disable Cutter output redirection. Output redirection state can only be changed early during Cutter initialization. Changing it later will have no effect.

+
+
Parameters:
+

enabled – set this to false for disabling output redirection

+
+
+
+ +
+
+bool getOutputRedirectionEnabled() const
+
+ +
+
+void setPreviewValue(bool checked)
+
+ +
+
+bool getPreviewValue() const
+
+ +
+
+void setShowVarTooltips(bool enabled)
+

Show tooltips for known values of registers, variables, and memory when debugging.

+
+ +
+
+bool getShowVarTooltips() const
+
+ +
+
+QStringList getRecentFiles() const
+

Recently opened binaries, as shown in NewFileDialog.

+
+ +
+
+void setRecentFiles(const QStringList &list)
+
+ +
+
+QStringList getRecentProjects() const
+

Recently opened projects, as shown in NewFileDialog.

+
+ +
+
+void setRecentProjects(const QStringList &list)
+
+ +
+
+void addRecentProject(QString file)
+
+ +
+
+QString getFunctionsWidgetLayout()
+

Get the layout of the Functions widget.

+
+
Returns:
+

The layout.

+
+
+
+ +
+
+void setFunctionsWidgetLayout(const QString &layout)
+

Set the layout of the Functions widget.

+
+
Parameters:
+

layout – The layout of the Functions widget, either horizontal or vertical.

+
+
+
+ +
+
+

Public Slots

+
+
+void refreshFont()
+
+ +
+
+

Signals

+
+
+void fontsUpdated()
+
+ +
+
+void colorsUpdated()
+
+ +
+
+void interfaceThemeChanged()
+
+ +
+
+

Public Static Functions

+
+
+static const QList<CutterInterfaceTheme> &cutterInterfaceThemesList()
+
+ +
+
+static Configuration *instance()
+
+ +
+
+static bool nativeWindowIsDark()
+
+ +
+
+

Public Static Attributes

+
+
+static const QHash<QString, ColorFlags> relevantThemes = {{"ayu", DarkFlag}, {"basic", DarkFlag}, {"behelit", DarkFlag}, {"bold", DarkFlag}, {"bright", DarkFlag}, {"consonance", DarkFlag}, {"darkda", DarkFlag}, {"defragger", DarkFlag}, {"focus", DarkFlag}, {"gentoo", DarkFlag}, {"lima", DarkFlag}, {"monokai", DarkFlag}, {"ogray", DarkFlag}, {"onedark", DarkFlag}, {"pink", DarkFlag}, {"rasta", DarkFlag}, {"sepia", DarkFlag}, {"smyck", DarkFlag}, {"solarized", DarkFlag}, {"twilight", DarkFlag}, {"white2", DarkFlag}, {"xvilka", DarkFlag}, {"zenburn", DarkFlag}, {"cga", LightFlag}, {"cutter", LightFlag}, {"dark", LightFlag}, {"gb", LightFlag}, {"matrix", LightFlag}, {"tango", LightFlag}, {"white", LightFlag}}
+
+ +
+
+static const QHash<QString, QHash<ColorFlags, QColor>> cutterOptionColors
+
+ +
+
+ +
+ + +
+
+
+
+ + +
+
+ + + + + + + \ No newline at end of file diff --git a/docs/api/common/classCutterSeekable.html b/docs/api/common/classCutterSeekable.html new file mode 100644 index 000000000..822927663 --- /dev/null +++ b/docs/api/common/classCutterSeekable.html @@ -0,0 +1,273 @@ + + + + + + + + CutterSeekable — Cutter 2.4.0 documentation + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+ +
+

CutterSeekable

+
+
+class CutterSeekable : public QObject
+
+

Public Functions

+
+
+explicit CutterSeekable(QObject *parent = nullptr)
+
+ +
+
+~CutterSeekable()
+
+ +
+
+inline void seek(RVA addr, CutterCore::SeekHistoryType type = CutterCore::SeekHistoryType::New)
+

seek changes current offset. If the seekable is synchronized with Core, then the Core offset will be modified and then the CutterCore::seekChanged signal will be emitted. In any case, CutterSeekable::seekableSeekChanged is emitted.

+
+
Parameters:
+
    +
  • addr – the location to seek at.

  • +
  • type – the type of seek wrt history (Undo, Redo, or New)

  • +
+
+
+
+ +
+
+void setSynchronization(bool sync)
+

setSynchronization sets Core seek synchronization.

+
+ +
+
+RVA getOffset()
+

getOffset returns the seekable offset. If the seekable is synchronized with Core, this function is similar to Core()->getOffset. If it’s not synchronized, it will return the seekable current seek.

+
+
Returns:
+

the seekable current offset.

+
+
+
+ +
+
+bool isSynchronized()
+

isSynchronized tells whether the seekable is synchronized with Core or not.

+
+
Returns:
+

boolean

+
+
+
+ +
+
+void seekToReference(RVA offset)
+

seekToReference will seek to the function or the object which is referenced in a given offset

+
+
Parameters:
+

offset – - an address that contains a reference to jump to

+
+
+
+ +
+
+

Public Slots

+
+
+void seekPrev()
+

seekPrev seeks to last location.

+
+ +
+
+void toggleSynchronization()
+

toggleSyncWithCore toggles Core seek synchronization.

+
+ +
+
+

Signals

+
+
+void seekableSeekChanged(RVA addr, CutterCore::SeekHistoryType type)
+
+ +
+
+void syncChanged()
+
+ +
+
+ +
+ + +
+
+
+
+ + +
+
+ + + + + + + \ No newline at end of file diff --git a/docs/api/common/classDecompiler.html b/docs/api/common/classDecompiler.html new file mode 100644 index 000000000..3e3107a9f --- /dev/null +++ b/docs/api/common/classDecompiler.html @@ -0,0 +1,239 @@ + + + + + + + + Decompiler — Cutter 2.4.0 documentation + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+ +
+

Decompiler

+
+
+class Decompiler : public QObject
+

Implements a decompiler that can be registered using CutterCore::registerDecompiler()

+
+

Public Functions

+
+
+Decompiler(const QString &id, const QString &name, QObject *parent = nullptr)
+
+ +
+
+virtual ~Decompiler() = default
+
+ +
+
+inline QString getId() const
+
+ +
+
+inline QString getName() const
+
+ +
+
+inline virtual bool isRunning()
+
+ +
+
+inline virtual bool isCancelable()
+
+ +
+
+virtual void decompileAt(RVA addr) = 0
+
+ +
+
+inline virtual void cancel()
+
+ +
+
+

Signals

+
+
+void finished(RzAnnotatedCode *codeDecompiled)
+
+ +
+
+

Public Static Functions

+
+
+static RzAnnotatedCode *makeWarning(QString warningMessage)
+
+ +
+
+ +
+ + +
+
+
+
+ + +
+
+ + + + + + + \ No newline at end of file diff --git a/docs/api/common/classDecompilerHighlighter.html b/docs/api/common/classDecompilerHighlighter.html new file mode 100644 index 000000000..0dcb17a5b --- /dev/null +++ b/docs/api/common/classDecompilerHighlighter.html @@ -0,0 +1,205 @@ + + + + + + + + DecompilerHighlighter — Cutter 2.4.0 documentation + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+ +
+

DecompilerHighlighter

+
+
+class DecompilerHighlighter : public QSyntaxHighlighter
+

SyntaxHighlighter based on annotations from decompiled code. Can be only used in combination with DecompilerWidget.

+
+

Public Functions

+
+
+DecompilerHighlighter(QTextDocument *parent = nullptr)
+
+ +
+
+virtual ~DecompilerHighlighter() = default
+
+ +
+
+void setAnnotations(RzAnnotatedCode *code)
+

Set the code with annotations to be used for highlighting.

+

It is callers responsibility to ensure that it is synchronized with currentTextDocument and has sufficiently long lifetime.

+
+
Parameters:
+

code

+
+
+
+ +
+
+ +
+ + +
+
+
+
+ + +
+
+ + + + + + + \ No newline at end of file diff --git a/docs/api/common/classDirectionalComboBox.html b/docs/api/common/classDirectionalComboBox.html new file mode 100644 index 000000000..02703427a --- /dev/null +++ b/docs/api/common/classDirectionalComboBox.html @@ -0,0 +1,193 @@ + + + + + + + + DirectionalComboBox — Cutter 2.4.0 documentation + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+ +
+

DirectionalComboBox

+
+
+class DirectionalComboBox : public QComboBox
+

Custom QComboBox created to prevent the menu popup from opening up at different offsets for different items, which may result in list items being rendered outside of the screen/containing widget.

+
+

Public Functions

+
+
+explicit DirectionalComboBox(QWidget *parent = nullptr, bool upwards = true)
+
+ +
+
+void setPopupDirection(bool upwards)
+
+ +
+
+ +
+ + +
+
+
+
+ + +
+
+ + + + + + + \ No newline at end of file diff --git a/docs/api/common/classDisassemblyTextBlockUserData.html b/docs/api/common/classDisassemblyTextBlockUserData.html new file mode 100644 index 000000000..dd61972cf --- /dev/null +++ b/docs/api/common/classDisassemblyTextBlockUserData.html @@ -0,0 +1,195 @@ + + + + + + + + DisassemblyTextBlockUserData — Cutter 2.4.0 documentation + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+ +
+

DisassemblyTextBlockUserData

+
+
+class DisassemblyTextBlockUserData : public QTextBlockUserData
+
+

Public Functions

+
+
+explicit DisassemblyTextBlockUserData(const DisassemblyLine &line)
+
+ +
+
+

Public Members

+
+
+DisassemblyLine line
+
+ +
+
+ +
+ + +
+
+
+
+ + +
+
+ + + + + + + \ No newline at end of file diff --git a/docs/api/common/classFallbackSyntaxHighlighter.html b/docs/api/common/classFallbackSyntaxHighlighter.html new file mode 100644 index 000000000..dfb6f65ac --- /dev/null +++ b/docs/api/common/classFallbackSyntaxHighlighter.html @@ -0,0 +1,193 @@ + + + + + + + + FallbackSyntaxHighlighter — Cutter 2.4.0 documentation + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+ +
+

FallbackSyntaxHighlighter

+
+
+class FallbackSyntaxHighlighter : public QSyntaxHighlighter
+

SyntaxHighlighter to be used when KSyntaxHighlighting is not available

+
+

Public Functions

+
+
+FallbackSyntaxHighlighter(QTextDocument *parent = nullptr)
+
+ +
+
+virtual ~FallbackSyntaxHighlighter() = default
+
+ +
+
+ +
+ + +
+
+
+
+ + +
+
+ + + + + + + \ No newline at end of file diff --git a/docs/api/common/classFunctionsTask.html b/docs/api/common/classFunctionsTask.html new file mode 100644 index 000000000..7230ad719 --- /dev/null +++ b/docs/api/common/classFunctionsTask.html @@ -0,0 +1,195 @@ + + + + + + + + FunctionsTask — Cutter 2.4.0 documentation + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+ +
+

FunctionsTask

+
+
+class FunctionsTask : public AsyncTask
+
+

Public Functions

+
+
+inline virtual QString getTitle() override
+
+ +
+
+

Signals

+
+
+void fetchFinished(const QList<FunctionDescription> &strings)
+
+ +
+
+ +
+ + +
+
+
+
+ + +
+
+ + + + + + + \ No newline at end of file diff --git a/docs/api/common/classHighDpiPixmap.html b/docs/api/common/classHighDpiPixmap.html new file mode 100644 index 000000000..9342e3847 --- /dev/null +++ b/docs/api/common/classHighDpiPixmap.html @@ -0,0 +1,187 @@ + + + + + + + + HighDpiPixmap — Cutter 2.4.0 documentation + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+ +
+

HighDpiPixmap

+
+
+class HighDpiPixmap : public QPixmap
+
+

Public Functions

+
+
+HighDpiPixmap(int width, int height, qreal devicePixelRatio = -1)
+
+ +
+
+ +
+ + +
+
+
+
+ + +
+
+ + + + + + + \ No newline at end of file diff --git a/docs/api/common/classHighlighter.html b/docs/api/common/classHighlighter.html new file mode 100644 index 000000000..833cf63d1 --- /dev/null +++ b/docs/api/common/classHighlighter.html @@ -0,0 +1,187 @@ + + + + + + + + Highlighter — Cutter 2.4.0 documentation + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+ +
+

Highlighter

+
+
+class Highlighter : public QSyntaxHighlighter
+
+

Public Functions

+
+
+Highlighter(QTextDocument *parent = nullptr)
+
+ +
+
+ +
+ + +
+
+
+
+ + +
+
+ + + + + + + \ No newline at end of file diff --git a/docs/api/common/classIOModesController.html b/docs/api/common/classIOModesController.html new file mode 100644 index 000000000..a381fa22d --- /dev/null +++ b/docs/api/common/classIOModesController.html @@ -0,0 +1,244 @@ + + + + + + + + IOModesController — Cutter 2.4.0 documentation + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+ +
+

IOModesController

+
+
+class IOModesController : public QObject
+
+

Public Types

+
+
+enum class Mode
+

Values:

+
+
+enumerator READ_ONLY
+
+ +
+
+enumerator CACHE
+
+ +
+
+enumerator WRITE
+
+ +
+ +
+
+

Public Functions

+
+
+IOModesController(QWidget *parent)
+
+ +
+
+bool prepareForWriting()
+
+ +
+
+bool canWrite()
+
+ +
+
+bool allChangesComitted()
+
+ +
+
+Mode getIOMode()
+
+ +
+
+void setIOMode(Mode mode)
+
+ +
+
+

Public Slots

+
+
+bool askCommitUnsavedChanges()
+
+ +
+
+ +
+ + +
+
+
+
+ + +
+
+ + + + + + + \ No newline at end of file diff --git a/docs/api/common/classLazySegmentTreeBase.html b/docs/api/common/classLazySegmentTreeBase.html new file mode 100644 index 000000000..d4a3eb595 --- /dev/null +++ b/docs/api/common/classLazySegmentTreeBase.html @@ -0,0 +1,230 @@ + + + + + + + + LazySegmentTreeBase — Cutter 2.4.0 documentation + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+ +
+

LazySegmentTreeBase

+
+
+template<class NodeType, class PromiseType, class FinalType>
class LazySegmentTreeBase : public SegmentTreeBase<NodeType, FinalType>
+

Tree that supports lazily applying an operation to range.

+

Each inner node has a promise value describing an operation that needs to be applied to corresponding subtree.

+

Child classes are expected to implement to pushDown(size_t nodePosition) method. Which applies the applies the operation stored in promise for nodePosition to the direct children nodes.

+
+
Template Parameters:
+
    +
  • NodeType – type of tree nodes

  • +
  • PromiseType – type describing operation that needs to be applied to subtree

  • +
  • FinalType – child class type for CRTP. See SegmentTreeBase

  • +
+
+
+
+

Public Functions

+
+
+inline LazySegmentTreeBase(size_t size, const PromiseType &neutralPromise)
+
+
Parameters:
+
    +
  • size – Number of tree leaves.

  • +
  • neutralPromise – Promise value that doesn’t modify tree nodes.

  • +
+
+
+
+ +
+
+inline LazySegmentTreeBase(size_t size, NodeType value, PromiseType neutralPromise)
+
+ +
+
+inline NodeType rangeOperation(size_t l, size_t r, NodeType initialValue)
+

Calculate the tree operation over the range [l, r)

+
+
Parameters:
+
    +
  • l – inclusive range left side

  • +
  • r – exclusive range right side

  • +
  • initialValue – Initial value for aggregate operation.

  • +
+
+
Returns:
+

Tree operation calculated over the range.

+
+
+
+ +
+
+ +
+ + +
+
+
+
+ + +
+
+ + + + + + + \ No newline at end of file diff --git a/docs/api/common/classLinkedListPool.html b/docs/api/common/classLinkedListPool.html new file mode 100644 index 000000000..484dad395 --- /dev/null +++ b/docs/api/common/classLinkedListPool.html @@ -0,0 +1,366 @@ + + + + + + + + LinkedListPool — Cutter 2.4.0 documentation + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+ +
+

LinkedListPool

+
+
+template<class T>
class LinkedListPool
+

Pool of singly linked lists.

+

Should not be used as general purpose container. Use only for algorithms that require linked lists ability to split and concatenate them. All the data is owned by LinkedListPool.

+

In contrast to std::list and std::forward_list doesn’t allocate each node separately. LinkedListPool can reserve all the memory for multiple lists during construction. Uses std::vector as backing container.

+
+

Public Functions

+
+
+inline LinkedListPool(size_t initialCapacity)
+

Create a linked list pool with capacity for initialCapacity list items.

+
+
Parameters:
+

initialCapacity – number of elements to preallocate.

+
+
+
+ +
+
+inline List makeList(const T &value)
+

Create a list containing single item.

+

Does not invalidate any iterators, but may cause item relocation when initialCapacity is exceeded.

+
+
Parameters:
+

value – value of element that will be inserted in the created list

+
+
Returns:
+

List containing single value value .

+
+
+
+ +
+
+inline List splitTail(const List &list, const ListIterator &head)
+

Split list and return second half.

+

After performing the operation, list passed as argument and return list point to the same items. Modifying them will affect both lists.

+
+
Parameters:
+
    +
  • list – The list that needs to be split.

  • +
  • head – Iterator to the first item in new list. Needs to be within list .

  • +
+
+
Returns:
+

Returns suffix of list.

+
+
+
+ +
+
+inline List splitHead(const List &list, const ListIterator &end)
+

Split list and return first half.

+
+
Parameters:
+
    +
  • list – The list that needs to be split.

  • +
  • end – Iterator to the first item that should not be included in returned list. Needs to be within list .

  • +
+
+
Returns:
+

Returns prefix of list.

+
+
+
+ +
+
+inline ListIterator head(const List &list)
+

Create list iterator from list.

+
+
Parameters:
+

list

+
+
Returns:
+

Iterator pointing to the first item in the list.

+
+
+
+ +
+
+inline ListIterator end(const List &list)
+
+ +
+
+inline List append(const List &head, const List &tail)
+
+ +
+
+
+class List
+

Single list within LinkedListPool.

+

List only refers to chain of elements. Copying it doesn’t copy any element. Item data is owned by LinkedListPool.

+

Use LinkedListPool::makeList to create non-empty list.

+
+

Public Functions

+
+
+List() = default
+

Create an empty list.

+
+ +
+
+inline bool isEmpty() const
+
+ +
+
+ +
+
+class ListIterator
+

List iterator.

+

Iterators don’t get invalidated by adding items to list, but the items may be relocated.

+
+

Public Types

+
+
+using iterator_category = std::forward_iterator_tag
+
+ +
+
+using value_type = T
+
+ +
+
+using difference_type = size_t
+
+ +
+
+using pointer = T*
+
+ +
+
+using reference = T&
+
+ +
+
+

Public Functions

+
+
+ListIterator() = default
+
+ +
+
+inline reference operator*()
+
+ +
+
+inline pointer operator->()
+
+ +
+
+inline ListIterator &operator++()
+
+ +
+
+inline ListIterator operator++(int)
+
+ +
+
+inline bool operator!=(const ListIterator &b) const
+
+ +
+
+inline explicit operator bool() const
+

Test if iterator points to valid value.

+
+ +
+
+ +
+ +
+ + +
+
+
+
+ + +
+
+ + + + + + + \ No newline at end of file diff --git a/docs/api/common/classLinkedListPool_1_1List.html b/docs/api/common/classLinkedListPool_1_1List.html new file mode 100644 index 000000000..c629d815d --- /dev/null +++ b/docs/api/common/classLinkedListPool_1_1List.html @@ -0,0 +1,196 @@ + + + + + + + + LinkedListPool::List — Cutter 2.4.0 documentation + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+ +
+

LinkedListPool::List

+
+
+class List
+

Single list within LinkedListPool.

+

List only refers to chain of elements. Copying it doesn’t copy any element. Item data is owned by LinkedListPool.

+

Use LinkedListPool::makeList to create non-empty list.

+
+

Public Functions

+
+
+List() = default
+

Create an empty list.

+
+ +
+
+inline bool isEmpty() const
+
+ +
+
+ +
+ + +
+
+
+
+ + +
+
+ + + + + + + \ No newline at end of file diff --git a/docs/api/common/classLinkedListPool_1_1ListIterator.html b/docs/api/common/classLinkedListPool_1_1ListIterator.html new file mode 100644 index 000000000..2e1882c09 --- /dev/null +++ b/docs/api/common/classLinkedListPool_1_1ListIterator.html @@ -0,0 +1,248 @@ + + + + + + + + LinkedListPool::ListIterator — Cutter 2.4.0 documentation + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+ +
+

LinkedListPool::ListIterator

+
+
+class ListIterator
+

List iterator.

+

Iterators don’t get invalidated by adding items to list, but the items may be relocated.

+
+

Public Types

+
+
+using iterator_category = std::forward_iterator_tag
+
+ +
+
+using value_type = T
+
+ +
+
+using difference_type = size_t
+
+ +
+
+using pointer = T*
+
+ +
+
+using reference = T&
+
+ +
+
+

Public Functions

+
+
+ListIterator() = default
+
+ +
+
+inline reference operator*()
+
+ +
+
+inline pointer operator->()
+
+ +
+
+inline ListIterator &operator++()
+
+ +
+
+inline ListIterator operator++(int)
+
+ +
+
+inline bool operator!=(const ListIterator &b) const
+
+ +
+
+inline explicit operator bool() const
+

Test if iterator points to valid value.

+
+ +
+
+ +
+ + +
+
+
+
+ + +
+
+ + + + + + + \ No newline at end of file diff --git a/docs/api/common/classMdHighlighter.html b/docs/api/common/classMdHighlighter.html new file mode 100644 index 000000000..b7996af76 --- /dev/null +++ b/docs/api/common/classMdHighlighter.html @@ -0,0 +1,187 @@ + + + + + + + + MdHighlighter — Cutter 2.4.0 documentation + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+ +
+

MdHighlighter

+
+
+class MdHighlighter : public QSyntaxHighlighter
+
+

Public Functions

+
+
+explicit MdHighlighter(QTextDocument *parent = nullptr)
+
+ +
+
+ +
+ + +
+
+
+
+ + +
+
+ + + + + + + \ No newline at end of file diff --git a/docs/api/common/classMinMaxAccumulateTree.html b/docs/api/common/classMinMaxAccumulateTree.html new file mode 100644 index 000000000..5e761c497 --- /dev/null +++ b/docs/api/common/classMinMaxAccumulateTree.html @@ -0,0 +1,242 @@ + + + + + + + + MinMaxAccumulateTree — Cutter 2.4.0 documentation + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+ +
+

MinMaxAccumulateTree

+
+
+template<class IntegerType>
class MinMaxAccumulateTree : public LazySegmentTreeBase<std::pair<IntegerType, IntegerType>, std::pair<IntegerType, IntegerType>, MinMaxAccumulateTree<IntegerType>>
+

Structure for keeping track of minimum and maximum value set at each position.

+

Supports range update and range query.

+

Example:

MinMaxAccumulateTree t(30); // operate within range [0; 30)
+t.updateRange(1, 5, 10);
+rangeMinMax(0, 20);// -> {10, 10}
+t.updateRange(4, 6, 15);
+t.updateRange(3, 10, 20);
+t.rangeMinMax(0, 20); // -> {10, 20}
+t.rangeMinMax(1, 3); // -> {10, 10}
+t.rangeMinMax(5, 8); // -> {15, 20}
+
+
+

+
+

Public Functions

+
+
+inline MinMaxAccumulateTree(size_t size, ValueType initialValue = LIMITS())
+
+ +
+
+inline void updateFromChildren(NodeType &parent, const NodeType &left, const NodeType &right)
+
+ +
+
+inline void pushDown(NodePosition parent)
+
+ +
+
+inline void updateRange(size_t left, size_t right, IntegerType value)
+

Update min and max values in the range [left, right) with number value.

+
+
Parameters:
+
    +
  • left – inclusive range left side

  • +
  • right – exclusive right side of range

  • +
  • value – number to be used for updating minimum and maximum

  • +
+
+
+
+ +
+
+inline MinMax rangeMinMax(size_t l, size_t r)
+

Calculate minimum and maximum value in the range [l, r)

+
+
Parameters:
+
    +
  • l – inclusive left side of range

  • +
  • r – exclusive right side of range

  • +
+
+
Returns:
+

std::pair {min, max}

+
+
+
+ +
+
+ +
+ + +
+
+
+
+ + +
+
+ + + + + + + \ No newline at end of file diff --git a/docs/api/common/classPointSetMinTree.html b/docs/api/common/classPointSetMinTree.html new file mode 100644 index 000000000..338b68aa8 --- /dev/null +++ b/docs/api/common/classPointSetMinTree.html @@ -0,0 +1,229 @@ + + + + + + + + PointSetMinTree — Cutter 2.4.0 documentation + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+ +
+

PointSetMinTree

+
+
+class PointSetMinTree : public PointSetSegmentTree<int, PointSetMinTree>
+
+

Public Types

+
+
+using NodeType = int
+
+ +
+
+

Public Functions

+
+
+inline void updateFromChildren(NodeType &parent, NodeType &leftChild, NodeType &rightChild)
+
+ +
+
+inline int rightMostLessThan(size_t position, int value)
+

Find right most position with value than less than given in range [0; position].

+
+
Parameters:
+
    +
  • position – inclusive right side of query range

  • +
  • value – search for position less than this

  • +
+
+
Returns:
+

returns the position with searched property or -1 if there is no such position.

+
+
+
+ +
+
+inline int leftMostLessThan(size_t position, int value)
+

Find left most position with value less than value in range [position; size).

+
+
Parameters:
+
    +
  • position – inclusive left side of query range

  • +
  • value – search for position less than this

  • +
+
+
Returns:
+

returns the position with searched property or -1 if there is no such position.

+
+
+
+ +
+
+ +
+ + +
+
+
+
+ + +
+
+ + + + + + + \ No newline at end of file diff --git a/docs/api/common/classPointSetSegmentTree.html b/docs/api/common/classPointSetSegmentTree.html new file mode 100644 index 000000000..498477261 --- /dev/null +++ b/docs/api/common/classPointSetSegmentTree.html @@ -0,0 +1,202 @@ + + + + + + + + PointSetSegmentTree — Cutter 2.4.0 documentation + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+ +
+

PointSetSegmentTree

+
+
+template<class NodeType, class FinalType>
class PointSetSegmentTree : public SegmentTreeBase<NodeType, FinalType>
+

Tree for point modification and range queries.

+
+

Public Functions

+
+
+inline void set(size_t index, const NodeType &value)
+

Set leave index to value.

+
+
Parameters:
+
    +
  • index – Leave index, should be in the range [0,size)

  • +
  • value

  • +
+
+
+
+ +
+
+inline const NodeType &valueAtPoint(size_t index) const
+
+ +
+
+ +
+ + +
+
+
+
+ + +
+
+ + + + + + + \ No newline at end of file diff --git a/docs/api/common/classProgressIndicator.html b/docs/api/common/classProgressIndicator.html new file mode 100644 index 000000000..c09f3a749 --- /dev/null +++ b/docs/api/common/classProgressIndicator.html @@ -0,0 +1,222 @@ + + + + + + + + ProgressIndicator — Cutter 2.4.0 documentation + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+ +
+

ProgressIndicator

+
+
+class ProgressIndicator : public QWidget
+
+

Public Functions

+
+
+ProgressIndicator(QWidget *parent = nullptr)
+
+ +
+
+virtual ~ProgressIndicator()
+
+ +
+
+QSize minimumSizeHint() const override
+
+ +
+
+QSize sizeHint() const override
+
+ +
+
+inline bool getProgressIndicatorVisible() const
+
+ +
+
+void setProgressIndicatorVisible(bool visible)
+
+ +
+
+inline bool getAnimating() const
+
+ +
+
+void setAnimating(bool animating)
+
+ +
+
+ +
+ + +
+
+
+
+ + +
+
+ + + + + + + \ No newline at end of file diff --git a/docs/api/common/classRangeAssignMaxTree.html b/docs/api/common/classRangeAssignMaxTree.html new file mode 100644 index 000000000..ab27a73cd --- /dev/null +++ b/docs/api/common/classRangeAssignMaxTree.html @@ -0,0 +1,238 @@ + + + + + + + + RangeAssignMaxTree — Cutter 2.4.0 documentation + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+ +
+

RangeAssignMaxTree

+
+
+class RangeAssignMaxTree : public LazySegmentTreeBase<int, uint8_t, RangeAssignMaxTree>
+

Structure supporting range assignment and range maximum operations.

+
+

Public Types

+
+
+using ValueType = int
+
+ +
+
+

Public Functions

+
+
+inline RangeAssignMaxTree(size_t size, ValueType initialValue)
+
+ +
+
+inline void updateFromChildren(NodeType &parent, const NodeType &left, const NodeType &right)
+
+ +
+
+inline void pushDown(size_t parent)
+
+ +
+
+inline void setRange(size_t left, size_t right, NodeType value)
+

Change all the elements in range [left, right) to value.

+
+
Parameters:
+
    +
  • left – inclusive range left side

  • +
  • right – exclusive right side of range

  • +
  • value – value to be assigned

  • +
+
+
+
+ +
+
+inline int rangeMaximum(size_t l, size_t r)
+

Calculate biggest value in the range [l, r)

+
+
Parameters:
+
    +
  • l – inclusive left side of range

  • +
  • r – exclusive right side of range

  • +
+
+
Returns:
+

biggest value in given range

+
+
+
+ +
+
+ +
+ + +
+
+
+
+ + +
+
+ + + + + + + \ No newline at end of file diff --git a/docs/api/common/classRefreshDeferrer.html b/docs/api/common/classRefreshDeferrer.html new file mode 100644 index 000000000..9cc881b80 --- /dev/null +++ b/docs/api/common/classRefreshDeferrer.html @@ -0,0 +1,241 @@ + + + + + + + + RefreshDeferrer — Cutter 2.4.0 documentation + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+ +
+

RefreshDeferrer

+
+
+class RefreshDeferrer : public QObject
+

Helper class for deferred refreshing in Widgets.

+

This class can handle the logic necessary to defer the refreshing of widgets when they are not visible. It contains an optional RefreshDeferrerAccumulator, which can be used to accumulate incoming events while refreshing is deferred.

+

Example (don’t write it like this in practice, use the convenience methods in CutterDockWidget):

// in the constructor of a widget
+this->refreshDeferrer = new RefreshDeferrer(new ReplacingRefreshDeferrerAccumulator(false),
+this); this->refreshDeferrer->registerFor(this); connect(this->refreshDeferrer,
+&RefreshDeferrer::refreshNow, this, [this](MyParam *param) {
+     // We attempted a refresh some time before, but it got deferred.
+     // Now the RefreshDeferrer tells us to do the refresh and gives us the accumulated param.
+     this->doRefresh(*param);
+}
+
+// ...
+
+void MyWidget::doRefresh(MyParam param)
+{
+     if (!this->refreshDeferrer->attemptRefresh(new MyParam(param))) {
+         // We shouldn't refresh right now.
+         // The RefreshDeferrer takes over the param we passed it in attemptRefresh()
+         // and gives it to the ReplacingRefreshDeferrerAccumulator.
+         return;
+     }
+     // do the actual refresh depending on param
+}
+
+
+

+
+

Public Functions

+
+
+explicit RefreshDeferrer(RefreshDeferrerAccumulator *acc, QObject *parent = nullptr)
+
+
Parameters:
+

acc – The accumulator (can be nullptr). The RefreshDeferrer takes the ownership!

+
+
+
+ +
+
+~RefreshDeferrer() override
+
+ +
+
+bool attemptRefresh(RefreshDeferrerParams params)
+
+ +
+
+void registerFor(CutterDockWidget *dockWidget)
+
+ +
+
+

Signals

+
+
+void refreshNow(const RefreshDeferrerParamsResult paramsResult)
+
+ +
+
+ +
+ + +
+
+
+
+ + +
+
+ + + + + + + \ No newline at end of file diff --git a/docs/api/common/classRefreshDeferrerAccumulator.html b/docs/api/common/classRefreshDeferrerAccumulator.html new file mode 100644 index 000000000..336bf0dcd --- /dev/null +++ b/docs/api/common/classRefreshDeferrerAccumulator.html @@ -0,0 +1,189 @@ + + + + + + + + RefreshDeferrerAccumulator — Cutter 2.4.0 documentation + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+ +
+

RefreshDeferrerAccumulator

+
+
+class RefreshDeferrerAccumulator
+

Abstract class for accumulating params in RefreshDeferrer.

+

Subclassed by ReplacingRefreshDeferrerAccumulator< T >

+
+

Public Functions

+
+
+virtual ~RefreshDeferrerAccumulator() = default
+
+ +
+
+ +
+ + +
+
+
+
+ + +
+
+ + + + + + + \ No newline at end of file diff --git a/docs/api/common/classReplacingRefreshDeferrerAccumulator.html b/docs/api/common/classReplacingRefreshDeferrerAccumulator.html new file mode 100644 index 000000000..1fa6a87a9 --- /dev/null +++ b/docs/api/common/classReplacingRefreshDeferrerAccumulator.html @@ -0,0 +1,205 @@ + + + + + + + + ReplacingRefreshDeferrerAccumulator — Cutter 2.4.0 documentation + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+ +
+

ReplacingRefreshDeferrerAccumulator

+
+
+template<class T>
class ReplacingRefreshDeferrerAccumulator : public RefreshDeferrerAccumulator
+

Accumulator which simply replaces the current value by an incoming new one.

+

+This accumulator takes the ownership of all params passed to it and deletes them automatically if not needed anymore!

+
+
Template Parameters:
+

T – The type of the param to store

+
+
+
+

Public Functions

+
+
+inline explicit ReplacingRefreshDeferrerAccumulator(bool replaceIfNull = true)
+
+
Parameters:
+

Determines – whether, if nullptr is passed, the current value should be replaced or kept.

+
+
+
+ +
+
+inline ~ReplacingRefreshDeferrerAccumulator() override
+
+ +
+
+ +
+ + +
+
+
+
+ + +
+
+ + + + + + + \ No newline at end of file diff --git a/docs/api/common/classRichTextPainter.html b/docs/api/common/classRichTextPainter.html new file mode 100644 index 000000000..a012d77d8 --- /dev/null +++ b/docs/api/common/classRichTextPainter.html @@ -0,0 +1,294 @@ + + + + + + + + RichTextPainter — Cutter 2.4.0 documentation + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+ +
+

RichTextPainter

+
+
+class RichTextPainter
+
+

Public Types

+
+
+enum CustomRichTextFlags
+

Values:

+
+
+enumerator FlagNone
+
+ +
+
+enumerator FlagColor
+
+ +
+
+enumerator FlagBackground
+
+ +
+
+enumerator FlagAll
+
+ +
+ +
+
+typedef std::vector<CustomRichText_t> List
+
+ +
+
+

Public Static Functions

+
+
+template<typename T = qreal>
static void paintRichText(QPainter *painter, T x, T y, T w, T h, T xinc, const List &richText, CachedFontMetrics<T> *fontMetrics)
+
+ +
+
+static void htmlRichText(const List &richText, QString &textHtml, QString &textPlain)
+

RichTextPainter::htmlRichText Convert rich text in x64dbg to HTML, for use by other applications.

+
+
Parameters:
+
    +
  • richText – The rich text to be converted to HTML format

  • +
  • textHtml – The HTML source. Any previous content will be preserved and new content will be appended at the end.

  • +
  • textPlain – The plain text. Any previous content will be preserved and new content will be appended at the end.

  • +
+
+
+
+ +
+
+static List fromTextDocument(const QTextDocument &doc)
+
+ +
+
+static List cropped(const List &richText, int maxCols, const QString &indicator = nullptr, bool *croppedOut = nullptr)
+
+ +
+
+
+struct CustomRichText_t
+
+

Public Members

+
+
+QString text
+
+ +
+
+QColor textColor
+
+ +
+
+QColor textBackground
+
+ +
+
+CustomRichTextFlags flags
+
+ +
+
+bool highlight = false
+
+ +
+
+QColor highlightColor
+
+ +
+
+int highlightWidth = 2
+
+ +
+
+bool highlightConnectPrev = false
+
+ +
+
+ +
+ +
+ + +
+
+
+
+ + +
+
+ + + + + + + \ No newline at end of file diff --git a/docs/api/common/classRizinCmdTask.html b/docs/api/common/classRizinCmdTask.html new file mode 100644 index 000000000..cbfcbf7ca --- /dev/null +++ b/docs/api/common/classRizinCmdTask.html @@ -0,0 +1,202 @@ + + + + + + + + RizinCmdTask — Cutter 2.4.0 documentation + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+ +
+

RizinCmdTask

+
+
+class RizinCmdTask : public RizinTask
+
+

Public Functions

+
+
+explicit RizinCmdTask(const QString &cmd, bool transient = true)
+
+ +
+
+QString getResult()
+
+ +
+
+CutterJson getResultJson()
+
+ +
+
+const char *getResultRaw()
+
+ +
+
+ +
+ + +
+
+
+
+ + +
+
+ + + + + + + \ No newline at end of file diff --git a/docs/api/common/classRizinFunctionTask.html b/docs/api/common/classRizinFunctionTask.html new file mode 100644 index 000000000..0fb335aa9 --- /dev/null +++ b/docs/api/common/classRizinFunctionTask.html @@ -0,0 +1,192 @@ + + + + + + + + RizinFunctionTask — Cutter 2.4.0 documentation + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+ +
+

RizinFunctionTask

+
+
+class RizinFunctionTask : public RizinTask
+
+

Public Functions

+
+
+explicit RizinFunctionTask(std::function<void*(RzCore*)> fcn, bool transient = true)
+
+ +
+
+inline void *getResult()
+
+ +
+
+ +
+ + +
+
+
+
+ + +
+
+ + + + + + + \ No newline at end of file diff --git a/docs/api/common/classRizinTask.html b/docs/api/common/classRizinTask.html new file mode 100644 index 000000000..d37c18790 --- /dev/null +++ b/docs/api/common/classRizinTask.html @@ -0,0 +1,219 @@ + + + + + + + + RizinTask — Cutter 2.4.0 documentation + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+ +
+

RizinTask

+
+
+class RizinTask : public QObject
+

Subclassed by RizinCmdTask, RizinFunctionTask

+
+

Public Types

+
+
+using Ptr = QSharedPointer<RizinTask>
+
+ +
+
+

Public Functions

+
+
+virtual ~RizinTask()
+
+ +
+
+void startTask()
+
+ +
+
+void breakTask()
+
+ +
+
+void joinTask()
+
+ +
+
+

Signals

+
+
+void finished()
+
+ +
+
+ +
+ + +
+
+
+
+ + +
+
+ + + + + + + \ No newline at end of file diff --git a/docs/api/common/classRunScriptTask.html b/docs/api/common/classRunScriptTask.html new file mode 100644 index 000000000..5aa75f051 --- /dev/null +++ b/docs/api/common/classRunScriptTask.html @@ -0,0 +1,207 @@ + + + + + + + + RunScriptTask — Cutter 2.4.0 documentation + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+ +
+

RunScriptTask

+
+
+class RunScriptTask : public AsyncTask
+
+

Public Functions

+
+
+explicit RunScriptTask()
+
+ +
+
+~RunScriptTask()
+
+ +
+
+inline virtual QString getTitle() override
+
+ +
+
+inline void setFileName(const QString &fileName)
+
+ +
+
+virtual void interrupt() override
+
+ +
+
+ +
+ + +
+
+
+
+ + +
+
+ + + + + + + \ No newline at end of file diff --git a/docs/api/common/classSegmentTreeBase.html b/docs/api/common/classSegmentTreeBase.html new file mode 100644 index 000000000..4a92b7f35 --- /dev/null +++ b/docs/api/common/classSegmentTreeBase.html @@ -0,0 +1,234 @@ + + + + + + + + SegmentTreeBase — Cutter 2.4.0 documentation + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+ +
+

SegmentTreeBase

+
+
+template<class NodeTypeT, class FinalType>
class SegmentTreeBase
+

Not really a segment tree for storing segments as referred in academic literature. Can be considered a full, almost perfect, augmented binary tree. In the context of competitive programming often called segment tree.

+

Child classes are expected to implement updateFromChildren(NodeType&parent, NodeType& left,

+

NodeType& right) method which calculates inner node values from children nodes.

+

+
+
Template Parameters:
+
    +
  • NodeTypeT – type of each tree element

  • +
  • FinalType – final child class used for curiously recurring template pattern

  • +
+
+
+

Subclassed by LazySegmentTreeBase< std::pair< IntegerType, IntegerType >, std::pair< IntegerType, IntegerType >, MinMaxAccumulateTree< IntegerType > >, LazySegmentTreeBase< int, uint8_t, RangeAssignMaxTree >, PointSetSegmentTree< int, PointSetMinTree >

+
+

Public Types

+
+
+using NodePosition = size_t
+
+ +
+
+using NodeType = NodeTypeT
+
+ +
+
+

Public Functions

+
+
+inline explicit SegmentTreeBase(size_t size)
+

Create tree with size leaves.

+
+
Parameters:
+

size – number of leaves in the tree

+
+
+
+ +
+
+inline SegmentTreeBase(size_t size, const NodeType &initialValue)
+

Create a tree with given size and initial value.

+

Inner nodes are calculated from leaves.

+
+
Parameters:
+
    +
  • size – number of leaves

  • +
  • initialValue – initial leave value

  • +
+
+
+
+ +
+
+ +
+ + +
+
+
+
+ + +
+
+ + + + + + + \ No newline at end of file diff --git a/docs/api/common/classStringsTask.html b/docs/api/common/classStringsTask.html new file mode 100644 index 000000000..1fc42debf --- /dev/null +++ b/docs/api/common/classStringsTask.html @@ -0,0 +1,195 @@ + + + + + + + + StringsTask — Cutter 2.4.0 documentation + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+ +
+

StringsTask

+
+
+class StringsTask : public AsyncTask
+
+

Public Functions

+
+
+inline virtual QString getTitle() override
+
+ +
+
+

Signals

+
+
+void stringSearchFinished(const QList<StringDescription> &strings)
+
+ +
+
+ +
+ + +
+
+
+
+ + +
+
+ + + + + + + \ No newline at end of file diff --git a/docs/api/common/classSvgIconEngine.html b/docs/api/common/classSvgIconEngine.html new file mode 100644 index 000000000..3d2e2ab1a --- /dev/null +++ b/docs/api/common/classSvgIconEngine.html @@ -0,0 +1,212 @@ + + + + + + + + SvgIconEngine — Cutter 2.4.0 documentation + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+ +
+

SvgIconEngine

+
+
+class SvgIconEngine : public QIconEngine
+
+

Public Functions

+
+
+explicit SvgIconEngine(const QString &filename)
+
+ +
+
+SvgIconEngine(const QString &filename, const QColor &tintColor)
+
+ +
+
+SvgIconEngine(const QString &filename, QPalette::ColorRole colorRole)
+
+ +
+
+void paint(QPainter *painter, const QRect &rect, QIcon::Mode mode, QIcon::State state) override
+
+ +
+
+QIconEngine *clone() const override
+
+ +
+
+QPixmap pixmap(const QSize &size, QIcon::Mode mode, QIcon::State state) override
+
+ +
+
+ +
+ + +
+
+
+
+ + +
+
+ + + + + + + \ No newline at end of file diff --git a/docs/api/common/classTempConfig.html b/docs/api/common/classTempConfig.html new file mode 100644 index 000000000..7e0587bd9 --- /dev/null +++ b/docs/api/common/classTempConfig.html @@ -0,0 +1,221 @@ + + + + + + + + TempConfig — Cutter 2.4.0 documentation + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+ +
+

TempConfig

+
+
+class TempConfig
+

Class for temporary modifying Rizin e configuration.

+

Modified values will be restored at the end of scope. This is useful when using a Rizin command that can only be configured using e configuration and doesn’t accept arguments. TempConfig::set calls can be chained. If a command or Rizin method accepts arguments directly it is preferred to use those instead of temporary modifying global configuration.

+
{
+    TempConfig tempConfig;
+    tempConfig.set("asm.arch", "x86").set("asm.comments", false);
+    // config automatically restored at the end of scope
+}
+
+
+
+

Public Functions

+
+
+TempConfig() = default
+
+ +
+
+~TempConfig()
+
+ +
+
+TempConfig &set(const QString &key, const QString &value)
+
+ +
+
+TempConfig &set(const QString &key, const char *value)
+
+ +
+
+TempConfig &set(const QString &key, int value)
+
+ +
+
+TempConfig &set(const QString &key, bool value)
+
+ +
+
+ +
+ + +
+
+
+
+ + +
+
+ + + + + + + \ No newline at end of file diff --git a/docs/api/common/classUpdateWorker.html b/docs/api/common/classUpdateWorker.html new file mode 100644 index 000000000..c78634f2b --- /dev/null +++ b/docs/api/common/classUpdateWorker.html @@ -0,0 +1,228 @@ + + + + + + + + UpdateWorker — Cutter 2.4.0 documentation + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+ +
+

UpdateWorker

+
+
+class UpdateWorker : public QObject
+

The UpdateWorker class is a class providing API to check for current Cutter version.

+
+

Public Functions

+
+
+explicit UpdateWorker(QObject *parent = nullptr)
+
+ +
+
+void checkCurrentVersion(time_t timeoutMs)
+

Sends request to determine current version of Cutter. If there is no response in timeoutMs milliseconds, emits

+
+ +
+
+void showUpdateDialog(bool showDontCheckForUpdatesButton)
+

Shows dialog that allows user to download latest version of Cutter from website. This dialog also has “Don’t check for updates” button which disables on-start update checks if showDontCheckForUpdatesButton is true.

+
+ +
+
+

Signals

+
+
+void checkComplete(const QVersionNumber &currVerson, const QString &errorMsg)
+

with timeout error message.

+

+The signal is emitted when check has been done with an empty errorMsg string. In case of an error currVerson is null and errorMsg contains description of error.

+

See also

+

checkComplete(const QString& verson, const QString& errorMsg)

+
+

+
+ +
+
+

Public Static Functions

+
+
+static QVersionNumber currentVersionNumber()
+
+
Returns:
+

the version of this Cutter binary, derived from CUTTER_VERSION_MAJOR, CUTTER_VERSION_MINOR and CUTTER_VERSION_PATCH.

+
+
+
+ +
+
+ +
+ + +
+
+
+
+ + +
+
+ + + + + + + \ No newline at end of file diff --git a/docs/api/common/structBasicBlockHighlighter_1_1BasicBlock.html b/docs/api/common/structBasicBlockHighlighter_1_1BasicBlock.html new file mode 100644 index 000000000..0678c88a8 --- /dev/null +++ b/docs/api/common/structBasicBlockHighlighter_1_1BasicBlock.html @@ -0,0 +1,192 @@ + + + + + + + + BasicBlockHighlighter::BasicBlock — Cutter 2.4.0 documentation + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+ +
+

BasicBlockHighlighter::BasicBlock

+
+
+struct BasicBlock
+
+

Public Members

+
+
+RVA address
+
+ +
+
+QColor color
+
+ +
+
+ +
+ + +
+
+
+
+ + +
+
+ + + + + + + \ No newline at end of file diff --git a/docs/api/common/structBasicInstruction.html b/docs/api/common/structBasicInstruction.html new file mode 100644 index 000000000..5cc60c19b --- /dev/null +++ b/docs/api/common/structBasicInstruction.html @@ -0,0 +1,197 @@ + + + + + + + + BasicInstruction — Cutter 2.4.0 documentation + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+ +
+

BasicInstruction

+
+
+struct BasicInstruction
+
+

Public Members

+
+
+RVA address
+
+ +
+
+RVA size
+
+ +
+
+QColor color
+
+ +
+
+ +
+ + +
+
+
+
+ + +
+
+ + + + + + + \ No newline at end of file diff --git a/docs/api/common/structCommandDescription.html b/docs/api/common/structCommandDescription.html new file mode 100644 index 000000000..173a64d39 --- /dev/null +++ b/docs/api/common/structCommandDescription.html @@ -0,0 +1,193 @@ + + + + + + + + CommandDescription — Cutter 2.4.0 documentation + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+ +
+

CommandDescription

+
+
+struct CommandDescription
+

The CommandDescription struct is a pair of a Rizin command and its description.

+
+

Public Members

+
+
+QString command
+
+ +
+
+QString description
+
+ +
+
+ +
+ + +
+
+
+
+ + +
+
+ + + + + + + \ No newline at end of file diff --git a/docs/api/common/structCutterInterfaceTheme.html b/docs/api/common/structCutterInterfaceTheme.html new file mode 100644 index 000000000..fc6e84217 --- /dev/null +++ b/docs/api/common/structCutterInterfaceTheme.html @@ -0,0 +1,192 @@ + + + + + + + + CutterInterfaceTheme — Cutter 2.4.0 documentation + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+ +
+

CutterInterfaceTheme

+
+
+struct CutterInterfaceTheme
+
+

Public Members

+
+
+QString name
+
+ +
+
+ColorFlags flag
+
+ +
+
+ +
+ + +
+
+
+
+ + +
+
+ + + + + + + \ No newline at end of file diff --git a/docs/api/common/structCutter_1_1CutterLayout.html b/docs/api/common/structCutter_1_1CutterLayout.html new file mode 100644 index 000000000..89f0a1ce6 --- /dev/null +++ b/docs/api/common/structCutter_1_1CutterLayout.html @@ -0,0 +1,197 @@ + + + + + + + + Cutter::CutterLayout — Cutter 2.4.0 documentation + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+ +
+

Cutter::CutterLayout

+
+
+struct CutterLayout
+
+

Public Members

+
+
+QByteArray geometry
+
+ +
+
+QByteArray state
+
+ +
+
+QMap<QString, QVariantMap> viewProperties
+
+ +
+
+ +
+ + +
+
+
+
+ + +
+
+ + + + + + + \ No newline at end of file diff --git a/docs/api/common/structFallbackSyntaxHighlighter_1_1HighlightingRule.html b/docs/api/common/structFallbackSyntaxHighlighter_1_1HighlightingRule.html new file mode 100644 index 000000000..2310a291e --- /dev/null +++ b/docs/api/common/structFallbackSyntaxHighlighter_1_1HighlightingRule.html @@ -0,0 +1,192 @@ + + + + + + + + FallbackSyntaxHighlighter::HighlightingRule — Cutter 2.4.0 documentation + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+ +
+

FallbackSyntaxHighlighter::HighlightingRule

+
+
+struct HighlightingRule
+
+

Public Members

+
+
+QRegularExpression pattern
+
+ +
+
+QTextCharFormat format
+
+ +
+
+ +
+ + +
+
+
+
+ + +
+
+ + + + + + + \ No newline at end of file diff --git a/docs/api/common/structHighlighter_1_1HighlightingRule.html b/docs/api/common/structHighlighter_1_1HighlightingRule.html new file mode 100644 index 000000000..9d4fb084c --- /dev/null +++ b/docs/api/common/structHighlighter_1_1HighlightingRule.html @@ -0,0 +1,192 @@ + + + + + + + + Highlighter::HighlightingRule — Cutter 2.4.0 documentation + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+ +
+

Highlighter::HighlightingRule

+
+
+struct HighlightingRule
+
+

Public Members

+
+
+QRegularExpression pattern
+
+ +
+
+QTextCharFormat format
+
+ +
+
+ +
+ + +
+
+
+
+ + +
+
+ + + + + + + \ No newline at end of file diff --git a/docs/api/common/structInitialOptions.html b/docs/api/common/structInitialOptions.html new file mode 100644 index 000000000..7ebffaa47 --- /dev/null +++ b/docs/api/common/structInitialOptions.html @@ -0,0 +1,296 @@ + + + + + + + + InitialOptions — Cutter 2.4.0 documentation + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+ +
+

InitialOptions

+
+
+struct InitialOptions
+
+

Public Types

+
+
+enum class Endianness
+

Values:

+
+
+enumerator Auto
+
+ +
+
+enumerator Little
+
+ +
+
+enumerator Big
+
+ +
+ +
+
+

Public Members

+
+
+QString filename
+
+ +
+
+QString projectFile
+
+ +
+
+bool useVA = true
+
+ +
+
+RVA binLoadAddr = RVA_INVALID
+
+ +
+
+RVA mapAddr = RVA_INVALID
+
+ +
+
+QString arch
+
+ +
+
+QString cpu
+
+ +
+
+int bits = 0
+
+ +
+
+QString os
+
+ +
+
+Endianness endian
+
+ +
+
+bool writeEnabled = false
+
+ +
+
+bool loadBinInfo = true
+
+ +
+
+QString forceBinPlugin
+
+ +
+
+bool demangle = true
+
+ +
+
+QString pdbFile
+
+ +
+
+QString script
+
+ +
+
+QList<CommandDescription> analysisCmd = {{"aaa", "Auto analysis"}}
+
+ +
+
+QString shellcode
+
+ +
+
+ +
+ + +
+
+
+
+ + +
+
+ + + + + + + \ No newline at end of file diff --git a/docs/api/common/structLinkedListPool_1_1Item.html b/docs/api/common/structLinkedListPool_1_1Item.html new file mode 100644 index 000000000..f32eaadce --- /dev/null +++ b/docs/api/common/structLinkedListPool_1_1Item.html @@ -0,0 +1,192 @@ + + + + + + + + LinkedListPool::Item — Cutter 2.4.0 documentation + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+ +
+

LinkedListPool::Item

+
+
+struct Item
+
+

Public Members

+
+
+IndexType next
+
+ +
+
+T value
+
+ +
+
+ +
+ + +
+
+
+
+ + +
+
+ + + + + + + \ No newline at end of file diff --git a/docs/api/common/structMdHighlighter_1_1HighlightingRule.html b/docs/api/common/structMdHighlighter_1_1HighlightingRule.html new file mode 100644 index 000000000..8252eaa4b --- /dev/null +++ b/docs/api/common/structMdHighlighter_1_1HighlightingRule.html @@ -0,0 +1,192 @@ + + + + + + + + MdHighlighter::HighlightingRule — Cutter 2.4.0 documentation + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+ +
+

MdHighlighter::HighlightingRule

+
+
+struct HighlightingRule
+
+

Public Members

+
+
+QRegularExpression pattern
+
+ +
+
+QTextCharFormat format
+
+ +
+
+ +
+ + +
+
+
+
+ + +
+
+ + + + + + + \ No newline at end of file diff --git a/docs/api/common/structMetrics.html b/docs/api/common/structMetrics.html new file mode 100644 index 000000000..ec1b517b9 --- /dev/null +++ b/docs/api/common/structMetrics.html @@ -0,0 +1,179 @@ + + + + + + + + Metrics — Cutter 2.4.0 documentation + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+ +
+

Metrics

+
+
+template<typename T>
struct Metrics
+
+ +
+ + +
+
+
+
+ + +
+
+ + + + + + + \ No newline at end of file diff --git a/docs/api/common/structMetrics_3_01int_01_4.html b/docs/api/common/structMetrics_3_01int_01_4.html new file mode 100644 index 000000000..cd6f068cb --- /dev/null +++ b/docs/api/common/structMetrics_3_01int_01_4.html @@ -0,0 +1,192 @@ + + + + + + + + Metrics< int > — Cutter 2.4.0 documentation + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+ +
+

Metrics< int >

+
+
+template<>
struct Metrics<int>
+
+

Public Types

+
+
+using Rect = QRect
+
+ +
+
+using FontMetrics = QFontMetrics
+
+ +
+
+ +
+ + +
+
+
+
+ + +
+
+ + + + + + + \ No newline at end of file diff --git a/docs/api/common/structMetrics_3_01qreal_01_4.html b/docs/api/common/structMetrics_3_01qreal_01_4.html new file mode 100644 index 000000000..26672fa5c --- /dev/null +++ b/docs/api/common/structMetrics_3_01qreal_01_4.html @@ -0,0 +1,192 @@ + + + + + + + + Metrics< qreal > — Cutter 2.4.0 documentation + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+ +
+

Metrics< qreal >

+
+
+template<>
struct Metrics<qreal>
+
+

Public Types

+
+
+using Rect = QRectF
+
+ +
+
+using FontMetrics = QFontMetricsF
+
+ +
+
+ +
+ + +
+
+
+
+ + +
+
+ + + + + + + \ No newline at end of file diff --git a/docs/api/common/structRichTextPainter_1_1CustomRichText__t.html b/docs/api/common/structRichTextPainter_1_1CustomRichText__t.html new file mode 100644 index 000000000..00c4c7364 --- /dev/null +++ b/docs/api/common/structRichTextPainter_1_1CustomRichText__t.html @@ -0,0 +1,222 @@ + + + + + + + + RichTextPainter::CustomRichText_t — Cutter 2.4.0 documentation + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+ +
+

RichTextPainter::CustomRichText_t

+
+
+struct CustomRichText_t
+
+

Public Members

+
+
+QString text
+
+ +
+
+QColor textColor
+
+ +
+
+QColor textBackground
+
+ +
+
+CustomRichTextFlags flags
+
+ +
+
+bool highlight = false
+
+ +
+
+QColor highlightColor
+
+ +
+
+int highlightWidth = 2
+
+ +
+
+bool highlightConnectPrev = false
+
+ +
+
+ +
+ + +
+
+
+
+ + +
+
+ + + + + + + \ No newline at end of file diff --git a/docs/api/common/structmmio__lookup__context.html b/docs/api/common/structmmio__lookup__context.html new file mode 100644 index 000000000..0bbff4d57 --- /dev/null +++ b/docs/api/common/structmmio__lookup__context.html @@ -0,0 +1,192 @@ + + + + + + + + mmio_lookup_context — Cutter 2.4.0 documentation + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+ +
+

mmio_lookup_context

+
+
+struct mmio_lookup_context
+
+

Public Members

+
+
+QString selected
+
+ +
+
+RVA mmio_address
+
+ +
+
+ +
+ + +
+
+
+
+ + +
+
+ + + + + + + \ No newline at end of file diff --git a/docs/api/common/structqhelpers_1_1SizePolicyMinMax.html b/docs/api/common/structqhelpers_1_1SizePolicyMinMax.html new file mode 100644 index 000000000..1d0fdbb14 --- /dev/null +++ b/docs/api/common/structqhelpers_1_1SizePolicyMinMax.html @@ -0,0 +1,210 @@ + + + + + + + + qhelpers::SizePolicyMinMax — Cutter 2.4.0 documentation + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+ +
+

qhelpers::SizePolicyMinMax

+
+
+struct SizePolicyMinMax
+
+

Public Functions

+
+
+void restoreWidth(QWidget *widget)
+
+ +
+
+void restoreHeight(QWidget *widget)
+
+ +
+
+

Public Members

+
+
+QSizePolicy sizePolicy
+
+ +
+
+int min
+
+ +
+
+int max
+
+ +
+
+ +
+ + +
+
+
+
+ + +
+
+ + + + + + + \ No newline at end of file diff --git a/docs/api/commonlist.html b/docs/api/commonlist.html new file mode 100644 index 000000000..91efd23f5 --- /dev/null +++ b/docs/api/commonlist.html @@ -0,0 +1,964 @@ + + + + + + + + Common — Cutter 2.4.0 documentation + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+ +
+

Common

+
+ +
+
+ + +
+
+
+
+ + +
+
+ + + + + + + \ No newline at end of file diff --git a/docs/api/core/classBasefind.html b/docs/api/core/classBasefind.html new file mode 100644 index 000000000..e9956f379 --- /dev/null +++ b/docs/api/core/classBasefind.html @@ -0,0 +1,226 @@ + + + + + + + + Basefind — Cutter 2.4.0 documentation + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+ +
+

Basefind

+
+
+class Basefind : public QThread
+
+

Public Functions

+
+
+explicit Basefind(CutterCore *core)
+
+ +
+
+virtual ~Basefind()
+
+ +
+
+void run()
+
+ +
+
+bool setOptions(const RzBaseFindOpt *opts)
+
+ +
+
+QList<BasefindResultDescription> results()
+
+ +
+
+

Public Slots

+
+
+void cancel()
+
+ +
+
+

Signals

+
+
+void progress(BasefindCoreStatusDescription status)
+
+ +
+
+void complete()
+
+ +
+
+ +
+ + +
+
+
+
+ + +
+
+ + + + + + + \ No newline at end of file diff --git a/docs/api/core/classCutterCore.html b/docs/api/core/classCutterCore.html new file mode 100644 index 000000000..5981313a9 --- /dev/null +++ b/docs/api/core/classCutterCore.html @@ -0,0 +1,2338 @@ + + + + + + + + CutterCore — Cutter 2.4.0 documentation + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+ +
+

CutterCore

+
+
+class CutterCore : public QObject
+
+

Public Types

+
+
+enum class SeekHistoryType
+

Values:

+
+
+enumerator New
+
+ +
+
+enumerator Undo
+
+ +
+
+enumerator Redo
+
+ +
+ +
+
+enum class StringTypeFormats
+

Values:

+
+
+enumerator None
+
+ +
+
+enumerator ASCII_LATIN1
+
+ +
+
+enumerator UTF8
+
+ +
+ +
+
+enum class HexdumpFormats
+

Values:

+
+
+enumerator Normal
+
+ +
+
+enumerator Half
+
+ +
+
+enumerator Word
+
+ +
+
+enumerator Quad
+
+ +
+
+enumerator Signed
+
+ +
+
+enumerator Octal
+
+ +
+ +
+
+

Public Functions

+
+
+explicit CutterCore(QObject *parent = nullptr)
+
+ +
+
+~CutterCore()
+
+ +
+
+void initialize(bool loadPlugins = true)
+
+ +
+
+void loadCutterRC()
+
+ +
+
+void loadDefaultCutterRC()
+
+ +
+
+QDir getCutterRCDefaultDirectory() const
+
+ +
+
+inline AsyncTaskManager *getAsyncTaskManager()
+
+ +
+
+inline RVA getOffset() const
+
+ +
+
+QString getFunctionExecOut(const std::function<bool(RzCore*)> &fcn, const RVA addr = RVA_INVALID)
+
+ +
+
+QString cmd(const char *str)
+

send a command to Rizin

+
+

Note

+

if you want to seek to an address, you should use CutterCore::seek.

+
+
+
Parameters:
+

str – the command you want to execute

+
+
Returns:
+

command output

+
+
+
+ +
+
+inline QString cmd(const QString &str)
+
+ +
+
+bool asyncTask(std::function<void*(RzCore*)> fcn, QSharedPointer<RizinTask> &task)
+

send a task to Rizin

+
+
Parameters:
+

fcn – the task you want to execute

+
+
Returns:
+

execute successful?

+
+
+
+ +
+
+void functionTask(std::function<void*(RzCore*)> fcn)
+
+ +
+
+QString cmdRaw(const char *cmd)
+

Execute a Rizin command cmd. By nature, the API is executing raw commands, and thus ignores multiple commands and overcome command injections.

+
+
Parameters:
+

cmd – - a raw command to execute. Passing multiple commands (e.g “px 5; pd 7 && pdf”) will result in them treated as arguments to first command.

+
+
Returns:
+

the output of the command

+
+
+
+ +
+
+inline QString cmdRaw(const QString &cmd)
+

a wrapper around cmdRaw(const char *cmd,).

+
+ +
+
+QString cmdRawAt(const char *cmd, RVA address)
+

Execute a Rizin command cmd at address. The function will preform a silent seek to the address without triggering the seekChanged event nor adding new entries to the seek history. By nature, the API is executing a single command without going through Rizin shell, and thus ignores multiple commands and tries to overcome command injections.

+
+
Parameters:
+
    +
  • cmd

    - a raw command to execute. If multiple commands will be passed (e.g “px 5; pd 7

    +

    && pdf”) then only the first command will be executed.

    +

  • +
  • address – - an address to which Cutter will temporarily seek.

  • +
+
+
Returns:
+

the output of the command

+
+
+
+ +
+
+inline QString cmdRawAt(const QString &str, RVA address)
+

a wrapper around cmdRawAt(const char *cmd, RVA address).

+
+ +
+
+inline SeekReturn seekTemp(RVA address)
+
+ +
+
+CutterJson cmdj(const char *str)
+
+ +
+
+inline CutterJson cmdj(const QString &str)
+
+ +
+
+QString cmdTask(const QString &str)
+
+ +
+
+QString getRizinVersionReadable(const char *program = nullptr)
+
+ +
+
+QString getVersionInformation()
+
+ +
+
+CutterJson parseJson(const char *name, char *res, const char *cmd = nullptr)
+
+ +
+
+inline CutterJson parseJson(const char *name, char *res, const QString &cmd = QString())
+
+ +
+
+QStringList autocomplete(const QString &cmd, RzLinePromptType promptType)
+
+ +
+
+void renameFunction(const RVA offset, const QString &newName)
+
+ +
+
+void delFunction(RVA addr)
+
+ +
+
+void renameFlag(QString old_name, QString new_name)
+
+ +
+
+void renameFunctionVariable(QString newName, QString oldName, RVA functionAddress)
+

Renames the specified local variable in the function specified by the address given.

+
+
Parameters:
+
    +
  • newName – Specifies the name to which the current name of the variable should be renamed.

  • +
  • oldName – Specifies the current name of the function variable.

  • +
  • functionAddress – Specifies the exact address of the function.

  • +
+
+
+
+ +
+
+RzAnalysisFunction *functionIn(ut64 addr)
+
+
Parameters:
+

addr

+
+
Returns:
+

a function that contains addr or nullptr

+
+
+
+ +
+
+RzAnalysisFunction *functionAt(ut64 addr)
+
+
Parameters:
+

addr

+
+
Returns:
+

the function that has its entrypoint at addr or nullptr

+
+
+
+ +
+
+RVA getFunctionStart(RVA addr)
+

finds the start address of a function in a given address

+
+
Parameters:
+

addr – - an address which belongs to a function

+
+
Returns:
+

if function exists, return its start address. Otherwise return RVA_INVALID

+
+
+
+ +
+
+RVA getFunctionEnd(RVA addr)
+

finds the end address of a function in a given address

+
+
Parameters:
+

addr – - an address which belongs to a function

+
+
Returns:
+

if function exists, return its end address. Otherwise return RVA_INVALID

+
+
+
+ +
+
+RVA getLastFunctionInstruction(RVA addr)
+

finds the last instruction of a function in a given address

+
+
Parameters:
+

addr – - an address which belongs to a function

+
+
Returns:
+

if function exists, return the address of its last instruction. Otherwise return RVA_INVALID

+
+
+
+ +
+
+QString flagAt(RVA addr)
+
+ +
+
+void createFunctionAt(RVA addr)
+
+ +
+
+void createFunctionAt(RVA addr, QString name)
+
+ +
+
+QStringList getDisassemblyPreview(RVA address, int num_of_lines)
+

get a compact disassembly preview for tooltips

+
+
Parameters:
+
    +
  • address – - the address from which to print the disassembly

  • +
  • num_of_lines – - number of instructions to print

  • +
+
+
+
+ +
+
+void delFlag(RVA addr)
+
+ +
+
+void delFlag(const QString &name)
+
+ +
+
+void addFlag(RVA offset, QString name, RVA size)
+
+ +
+
+QString listFlagsAsStringAt(RVA addr)
+

Gets all the flags present at a specific address.

+
+
Parameters:
+

addr – The address to be checked

+
+
Returns:
+

String containing all the flags which are comma-separated

+
+
+
+ +
+
+QString nearestFlag(RVA offset, RVA *flagOffsetOut)
+

Get nearest flag at or before offset.

+
+
Parameters:
+
    +
  • offset – search position

  • +
  • flagOffsetOut – address of returned flag

  • +
+
+
Returns:
+

flag name

+
+
+
+ +
+
+void triggerFlagsChanged()
+
+ +
+
+void addGlobalVariable(RVA offset, QString name, QString typ)
+
+ +
+
+void delGlobalVariable(QString name)
+
+ +
+
+void delGlobalVariable(RVA offset)
+
+ +
+
+void modifyGlobalVariable(RVA offset, QString name, QString typ)
+
+ +
+
+QString getGlobalVariableType(QString name)
+
+ +
+
+QString getGlobalVariableType(RVA offset)
+
+ +
+
+CutterRzIter<RzAnalysisBytes> getRzAnalysisBytesSingle(RVA addr)
+
+ +
+
+QString getInstructionBytes(RVA addr)
+
+ +
+
+QString getInstructionOpcode(RVA addr)
+
+ +
+
+void editInstruction(RVA addr, const QString &inst, bool fillWithNops = false)
+
+ +
+
+void nopInstruction(RVA addr)
+
+ +
+
+void jmpReverse(RVA addr)
+
+ +
+
+void editBytes(RVA addr, const QString &inst)
+
+ +
+
+void editBytesEndian(RVA addr, const QString &bytes)
+
+ +
+
+void setToCode(RVA addr)
+
+ +
+
+void setAsString(RVA addr, int size = 0, StringTypeFormats type = StringTypeFormats::None)
+

Adds string at address That function calls the ‘Cs’ command.

+
+
Parameters:
+
    +
  • addr – The address of the array where the string will be applied

  • +
  • size – The size of string

  • +
  • type – The type of string

  • +
+
+
+
+ +
+
+void removeString(RVA addr)
+

Removes string at address That function calls the ‘Cs-’ command.

+
+
Parameters:
+

addr – The address of the array where the string will be applied

+
+
+
+ +
+
+QString getMetaString(RVA addr)
+

Gets string at address That function correspond the ‘Cs.’ command.

+
+
Parameters:
+

addr – The address of the string

+
+
Returns:
+

string at requested address

+
+
+
+ +
+
+QString getString(RVA addr)
+

Gets string at address That function calls the ‘ps’ command.

+
+
Parameters:
+

addr – The address of the first byte of the array

+
+
Returns:
+

string at requested address

+
+
+
+ +
+
+QString getString(RVA addr, uint64_t len, RzStrEnc encoding, bool escape_nl = false)
+
+ +
+
+void setToData(RVA addr, int size, int repeat = 1)
+
+ +
+
+int sizeofDataMeta(RVA addr)
+
+ +
+
+void setComment(RVA addr, const QString &cmt)
+
+ +
+
+void delComment(RVA addr)
+
+ +
+
+QString getCommentAt(RVA addr)
+

Gets the comment present at a specific address.

+
+
Parameters:
+

addr – The address to be checked

+
+
Returns:
+

String containing comment

+
+
+
+ +
+
+void setImmediateBase(const QString &rzBaseName, RVA offset = RVA_INVALID)
+
+ +
+
+void setCurrentBits(int bits, RVA offset = RVA_INVALID)
+
+ +
+
+void applyStructureOffset(const QString &structureOffset, RVA offset = RVA_INVALID)
+

Changes immediate displacement to structure offset This function makes use of the “aht” command of Rizin to apply structure offset to the immediate displacement used in the given instruction.

+
+
Parameters:
+
    +
  • structureOffset – The name of struct which will be applied

  • +
  • offset – The address of the instruction where the struct will be applied

  • +
+
+
+
+ +
+
+QList<QString> getAllAnalysisClasses(bool sorted)
+
+ +
+
+QList<AnalysisMethodDescription> getAnalysisClassMethods(const QString &cls)
+
+ +
+
+QList<AnalysisBaseClassDescription> getAnalysisClassBaseClasses(const QString &cls)
+
+ +
+
+QList<AnalysisVTableDescription> getAnalysisClassVTables(const QString &cls)
+
+ +
+
+void createNewClass(const QString &cls)
+
+ +
+
+void renameClass(const QString &oldName, const QString &newName)
+
+ +
+
+void deleteClass(const QString &cls)
+
+ +
+
+bool getAnalysisMethod(const QString &cls, const QString &meth, AnalysisMethodDescription *desc)
+
+ +
+
+void renameAnalysisMethod(const QString &className, const QString &oldMethodName, const QString &newMethodName)
+
+ +
+
+void setAnalysisMethod(const QString &cls, const AnalysisMethodDescription &meth)
+
+ +
+
+bool loadFile(QString path, ut64 baddr = 0LL, ut64 mapaddr = 0LL, int perms = RZ_PERM_R, int va = 0, bool loadbin = false, const QString &forceBinPlugin = QString())
+

CutterCore::loadFile Load initial file.

+
+
Parameters:
+
    +
  • path – File path

  • +
  • baddr – Base (RzBin) address

  • +
  • mapaddr – Map address

  • +
  • perms

  • +
  • va

  • +
  • loadbin – Load RzBin information

  • +
  • forceBinPlugin

  • +
+
+
Returns:
+

+
+
+
+ +
+
+bool tryFile(QString path, bool rw)
+
+ +
+
+bool mapFile(QString path, RVA mapaddr)
+

Maps a file using Rizin API.

+
+
Parameters:
+
    +
  • path – Path to file

  • +
  • mapaddr – Map Address

  • +
+
+
Returns:
+

bool

+
+
+
+ +
+
+void loadScript(const QString &scriptname)
+
+ +
+
+void seek(QString thing)
+
+ +
+
+void seek(ut64 offset)
+
+ +
+
+void seekSilent(ut64 offset)
+
+ +
+
+inline void seekSilent(QString thing)
+
+ +
+
+void seekPrev()
+
+ +
+
+void seekNext()
+
+ +
+
+void updateSeek(SeekHistoryType type = SeekHistoryType::New)
+
+ +
+
+void showMemoryWidget()
+

Raise a memory widget showing current offset, prefer last active memory widget.

+
+ +
+
+void seekAndShow(ut64 offset)
+

Seek to offset and raise a memory widget showing it.

+
+
Parameters:
+

offset

+
+
+
+ +
+
+void seekAndShow(QString thing)
+

+

See also

+

CutterCore::show(ut64)

+
+

+
+
Parameters:
+

thing – - addressable expression

+
+
+
+ +
+
+RVA getOffset()
+
+ +
+
+RVA prevOpAddr(RVA startAddr, int count)
+
+ +
+
+RVA nextOpAddr(RVA startAddr, int count)
+
+ +
+
+void applySignature(const QString &filepath)
+
+ +
+
+void createSignature(const QString &filepath)
+
+ +
+
+ut64 math(const QString &expr)
+
+ +
+
+ut64 num(const QString &expr)
+
+ +
+
+QString itoa(ut64 num, int rdx = 16)
+
+ +
+
+void setConfig(const char *k, const char *v)
+
+ +
+
+void setConfig(const QString &k, const char *v)
+
+ +
+
+void setConfig(const char *k, const QString &v)
+
+ +
+
+inline void setConfig(const QString &k, const QString &v)
+
+ +
+
+void setConfig(const char *k, int v)
+
+ +
+
+inline void setConfig(const QString &k, int v)
+
+ +
+
+void setConfig(const char *k, bool v)
+
+ +
+
+inline void setConfig(const QString &k, bool v)
+
+ +
+
+void setConfig(const char *k, const QVariant &v)
+
+ +
+
+inline void setConfig(const QString &k, const QVariant &v)
+
+ +
+
+int getConfigi(const char *k)
+
+ +
+
+inline int getConfigi(const QString &k)
+
+ +
+
+ut64 getConfigut64(const char *k)
+
+ +
+
+inline ut64 getConfigut64(const QString &k)
+
+ +
+
+bool getConfigb(const char *k)
+
+ +
+
+inline bool getConfigb(const QString &k)
+
+ +
+
+QString getConfig(const char *k)
+
+ +
+
+inline QString getConfig(const QString &k)
+
+ +
+
+QString getConfigDescription(const char *k)
+
+ +
+
+QStringList getConfigOptions(const char *k)
+
+ +
+
+QStringList getColorThemes()
+
+ +
+
+QHash<QString, QColor> getTheme()
+
+ +
+
+QStringList getThemeKeys()
+
+ +
+
+bool setColor(const QString &key, const QString &color)
+
+ +
+
+QStringList getConfigVariableSpaces(const QString &key = "")
+
+ +
+
+QByteArray assemble(const QString &code)
+
+ +
+
+QString disassemble(const QByteArray &data)
+
+ +
+
+QString disassembleSingleInstruction(RVA addr)
+
+ +
+
+QList<DisassemblyLine> disassembleLines(RVA offset, int lines)
+
+ +
+
+QString hexdump(RVA offset, int size, HexdumpFormats format)
+

return hexdump of <size> from an <offset> by a given formats

+
+
Parameters:
+
    +
  • address – - the address from which to print the hexdump

  • +
  • size – - number of bytes to print

  • +
  • format – - the type of hexdump (qwords, words. decimal, etc)

  • +
+
+
+
+ +
+
+QString getHexdumpPreview(RVA offset, int size)
+

get a compact hexdump preview for tooltips

+
+
Parameters:
+
    +
  • address – - the address from which to print the hexdump

  • +
  • size – - number of bytes to print

  • +
+
+
+
+ +
+
+void setCPU(QString arch, QString cpu, int bits)
+
+ +
+
+void setEndianness(bool big)
+
+ +
+
+QList<QString> sdbList(QString path)
+
+ +
+
+QList<QString> sdbListKeys(QString path)
+
+ +
+
+QString sdbGet(QString path, QString key)
+
+ +
+
+bool sdbSet(QString path, QString key, QString val)
+
+ +
+
+QString getRegisterName(QString registerRole)
+
+ +
+
+RVA getProgramCounterValue()
+
+ +
+
+void setRegister(QString regName, QString regValue)
+
+ +
+
+void setCurrentDebugThread(int tid)
+
+ +
+
+void setCurrentDebugProcess(int pid)
+

Attach to a given pid from a debug session.

+
+ +
+
+QList<AddrRefs> getStack(int size = 0x100, int depth = 6)
+

Returns a list of stack address and their telescoped references.

+
+
Parameters:
+
    +
  • size – number of bytes to scan

  • +
  • depth – telescoping depth

  • +
+
+
+
+ +
+
+AddrRefs getAddrRefs(RVA addr, int depth)
+

Recursively dereferences pointers starting at the specified address up to a given depth.

+
+
Parameters:
+
    +
  • addr – telescoping addr

  • +
  • depth – telescoping depth

  • +
+
+
+
+ +
+
+RefDescription formatRefDesc(const QSharedPointer<AddrRefs> &ref)
+

return a RefDescription with a formatted ref string and configured colors

+
+
Parameters:
+

ref – the “ref” JSON node from getAddrRefs

+
+
+
+ +
+
+QList<ProcessDescription> getProcessThreads(int pid)
+

Get a list of a given process’s threads.

+
+
Parameters:
+

pid – The pid of the process, -1 for the currently debugged process

+
+
Returns:
+

List of ProcessDescription

+
+
+
+ +
+
+QVector<Chunk> getHeapChunks(RVA arena_addr)
+

Get a list of heap chunks Uses RZ_API rz_heap_chunks_list to get vector of chunks If arena_addr is zero return the chunks for main arena.

+
+
Parameters:
+

arena_addr – base address for the arena

+
+
Returns:
+

Vector of heap chunks for the given arena

+
+
+
+ +
+
+QVector<Arena> getArenas()
+

Get a list of heap arenas Uses RZ_API rz_heap_arenas_list to get list of arenas.

+
+
Returns:
+

Vector of arenas

+
+
+
+ +
+
+RzHeapChunkSimple *getHeapChunk(ut64 addr)
+

Get detailed information about a heap chunk Uses RZ_API rz_heap_chunk.

+
+
Returns:
+

RzHeapChunkSimple struct pointer for the heap chunk

+
+
+
+ +
+
+QVector<RzHeapBin*> getHeapBins(ut64 arena_addr)
+

Get heap bins of an arena with given base address (including large, small, fast, unsorted, tcache)

+
+
Parameters:
+

arena_addr – Base address of the arena

+
+
Returns:
+

QVector of non empty RzHeapBin pointers

+
+
+
+ +
+
+bool writeHeapChunk(RzHeapChunkSimple *chunkSimple)
+

Write the given chunk header to memory.

+
+
Parameters:
+

chunkSimple – RzHeapChunkSimple pointer of the chunk to be written

+
+
Returns:
+

true if the write succeeded else false

+
+
+
+ +
+
+int getArchBits()
+
+ +
+
+void startDebug()
+
+ +
+
+void startEmulation()
+
+ +
+
+void attachRemote(const QString &uri)
+

attach to a remote debugger

+
+

Note

+

attachedRemote(bool) signals the result

+
+
+
Parameters:
+

uri – remote debugger uri

+
+
+
+ +
+
+void attachDebug(int pid)
+
+ +
+
+void stopDebug()
+
+ +
+
+void suspendDebug()
+
+ +
+
+void syncAndSeekProgramCounter()
+
+ +
+
+void continueDebug()
+
+ +
+
+void continueBackDebug()
+
+ +
+
+void continueUntilCall()
+
+ +
+
+void continueUntilSyscall()
+
+ +
+
+void continueUntilDebug(ut64 offset)
+
+ +
+
+void stepDebug()
+
+ +
+
+void stepOverDebug()
+
+ +
+
+void stepOutDebug()
+
+ +
+
+void stepBackDebug()
+
+ +
+
+void startTraceSession()
+
+ +
+
+void stopTraceSession()
+
+ +
+
+void addBreakpoint(const BreakpointDescription &config)
+
+ +
+
+void updateBreakpoint(int index, const BreakpointDescription &config)
+
+ +
+
+void toggleBreakpoint(RVA addr)
+
+ +
+
+void delBreakpoint(RVA addr)
+
+ +
+
+void delAllBreakpoints()
+
+ +
+
+void enableBreakpoint(RVA addr)
+
+ +
+
+void disableBreakpoint(RVA addr)
+
+ +
+
+void setBreakpointTrace(int index, bool enabled)
+

Enable or disable breakpoint tracing.

+
+
Parameters:
+
    +
  • index – - breakpoint index to modify

  • +
  • enabled – - true if tracing should be enabled

  • +
+
+
+
+ +
+
+int breakpointIndexAt(RVA addr)
+
+ +
+
+BreakpointDescription getBreakpointAt(RVA addr)
+
+ +
+
+bool isBreakpoint(const QList<RVA> &breakpoints, RVA addr)
+
+ +
+
+QList<RVA> getBreakpointsAddresses()
+
+ +
+
+QList<RVA> getBreakpointsInFunction(RVA funcAddr)
+

Get all breakpoinst that are belong to a functions at this address.

+
+ +
+
+QString getActiveDebugPlugin()
+
+ +
+
+QStringList getDebugPlugins()
+
+ +
+
+void setDebugPlugin(QString plugin)
+
+ +
+
+bool isDebugTaskInProgress()
+
+ +
+
+bool isRedirectableDebugee()
+

Check if we can use output/input redirection with the currently debugged process.

+
+ +
+
+QList<Decompiler*> getDecompilers()
+
+ +
+
+Decompiler *getDecompilerById(const QString &id)
+
+ +
+
+bool registerDecompiler(Decompiler *decompiler)
+

Register a new decompiler

+

The decompiler must have a unique id, otherwise this method will fail. The decompiler’s parent will be set to this CutterCore instance, so it will automatically be freed later.

+
+
Returns:
+

whether the decompiler was registered successfully

+
+
+
+ +
+
+RVA getOffsetJump(RVA addr)
+
+ +
+
+CutterJson getSignatureInfo()
+
+ +
+
+bool existsFileInfo()
+
+ +
+
+void setGraphEmpty(bool empty)
+
+ +
+
+bool isGraphEmpty()
+
+ +
+
+bool rebaseBin(RVA base_address)
+
+ +
+
+void getRegs()
+
+ +
+
+void setSettings()
+
+ +
+
+void loadPDB(const QString &file)
+
+ +
+
+QByteArray ioRead(RVA addr, int len)
+
+ +
+
+QList<RVA> getSeekHistory()
+
+ +
+
+QStringList getAsmPluginNames()
+
+ +
+
+QStringList getAnalysisPluginNames()
+
+ +
+
+QList<RzBinPluginDescription> getBinPluginDescriptions(bool bin = true, bool xtr = true)
+
+ +
+
+QList<RzIOPluginDescription> getRIOPluginDescriptions()
+
+ +
+
+QList<RzCorePluginDescription> getRCorePluginDescriptions()
+
+ +
+
+QList<RzAsmPluginDescription> getRAsmPluginDescriptions()
+
+ +
+
+QList<FunctionDescription> getAllFunctions()
+
+ +
+
+QList<ImportDescription> getAllImports()
+
+ +
+
+QList<ExportDescription> getAllExports()
+
+ +
+
+QList<SymbolDescription> getAllSymbols()
+
+ +
+
+QList<HeaderDescription> getAllHeaders()
+
+ +
+
+QList<GlobalDescription> getAllGlobals()
+
+ +
+
+QList<FlirtDescription> getSignaturesDB()
+
+ +
+
+QList<CommentDescription> getAllComments(const QString &filterType)
+
+ +
+
+QList<RelocDescription> getAllRelocs()
+
+ +
+
+QList<StringDescription> getAllStrings()
+
+ +
+
+QList<FlagspaceDescription> getAllFlagspaces()
+
+ +
+
+QList<FlagDescription> getAllFlags(QString flagspace = QString())
+
+ +
+
+QList<SectionDescription> getAllSections()
+
+ +
+
+QList<SegmentDescription> getAllSegments()
+
+ +
+
+QList<EntrypointDescription> getAllEntrypoint()
+
+ +
+
+QList<BinClassDescription> getAllClassesFromBin()
+
+ +
+
+QList<BinClassDescription> getAllClassesFromFlags()
+
+ +
+
+QList<ResourcesDescription> getAllResources()
+
+ +
+
+QList<VTableDescription> getAllVTables()
+
+ +
+
+QList<TypeDescription> getAllTypes()
+
+
Returns:
+

all loaded types

+
+
+
+ +
+
+QList<TypeDescription> getAllPrimitiveTypes()
+
+
Returns:
+

all loaded primitive types

+
+
+
+ +
+
+QList<TypeDescription> getAllUnions()
+
+
Returns:
+

all loaded unions

+
+
+
+ +
+
+QList<TypeDescription> getAllStructs()
+
+
Returns:
+

all loaded structs

+
+
+
+ +
+
+QList<TypeDescription> getAllEnums()
+
+
Returns:
+

all loaded enums

+
+
+
+ +
+
+QList<TypeDescription> getAllTypedefs()
+
+
Returns:
+

all loaded typedefs

+
+
+
+ +
+
+QString getTypeAsC(QString name)
+

Fetching the C representation of a given Type.

+
+
Parameters:
+

name – - the name or the type of the given Type

+
+
Returns:
+

The type decleration as C output

+
+
+
+ +
+
+bool isAddressMapped(RVA addr)
+

Checks if the given address is mapped to a region.

+
+
Parameters:
+

addr – The address to be checked

+
+
Returns:
+

true if addr is mapped, false otherwise

+
+
+
+ +
+
+QList<MemoryMapDescription> getMemoryMap()
+
+ +
+
+QList<SearchDescription> getAllSearch(QString searchFor, QString space, QString in)
+
+ +
+
+QList<BreakpointDescription> getBreakpoints()
+
+ +
+
+QList<ProcessDescription> getAllProcesses()
+
+ +
+
+RzReg *getReg()
+

Get the right RzReg object based on the cutter state (debugging vs emulating)

+
+ +
+
+QList<RegisterRef> getRegisterRefs(int depth = 6)
+

returns a list of reg values and their telescoped references

+
+
Parameters:
+

depth – telescoping depth

+
+
+
+ +
+
+QVector<RegisterRefValueDescription> getRegisterRefValues()
+
+ +
+
+QList<VariableDescription> getVariables(RVA at)
+
+ +
+
+QList<XrefDescription> getXRefsForVariable(QString variableName, bool findWrites, RVA offset)
+

Fetches all the writes or reads to the specified local variable ‘variableName’ in the function in which the specified offset is a part of.

+
+
Parameters:
+
    +
  • variableName – Name of the local variable.

  • +
  • findWrites – If this is true, then locations at which modification happen to the specified local variable is fetched. Else, the locations at which the local is variable is read is fetched.

  • +
  • offset – An offset in the function in which the specified local variable exist.

  • +
+
+
Returns:
+

A list of XrefDescriptions that contains details of all the writes or reads that happen to the variable ‘variableName’.

+
+
+
+ +
+
+QList<XrefDescription> getXRefs(RVA addr, bool to, bool whole_function, const QString &filterType = QString())
+
+ +
+
+void handleREvent(int type, void *data)
+
+ +
+
+void triggerVarsChanged()
+
+ +
+
+void triggerFunctionRenamed(const RVA offset, const QString &newName)
+
+ +
+
+void triggerRefreshAll()
+
+ +
+
+void triggerAsmOptionsChanged()
+
+ +
+
+void triggerGraphOptionsChanged()
+
+ +
+
+void message(const QString &msg, bool debug = false)
+
+ +
+
+QStringList getSectionList()
+
+ +
+
+RzCoreLocked core()
+
+ +
+
+BasicBlockHighlighter *getBBHighlighter()
+
+ +
+
+BasicInstructionHighlighter *getBIHighlighter()
+
+ +
+
+void setIOCache(bool enabled)
+

Enable or dsiable Cache mode. Cache mode is used to imagine writing to the opened file without committing the changes to the disk.

+
+
Parameters:
+

enabled

+
+
+
+ +
+
+bool isIOCacheEnabled() const
+

Check if Cache mode is enabled.

+
+
Returns:
+

true if Cache is enabled, otherwise return false.

+
+
+
+ +
+
+void commitWriteCache()
+

Commit write cache to the file on disk.

+
+ +
+
+void resetWriteCache()
+

Reset write cache.

+
+ +
+
+void setWriteMode(bool enabled)
+

Enable or disable Write mode. When the file is opened in write mode, any changes to it will be immediately committed to the file on disk, thus modify the file. This function wrap Rizin function which re-open the file with the desired permissions.

+
+
Parameters:
+

enabled

+
+
+
+ +
+
+bool isWriteModeEnabled()
+

Check if the file is opened in write mode.

+
+
Returns:
+

true if write mode is enabled, otherwise return false.

+
+
+
+ +
+
+char *getTextualGraphAt(RzCoreGraphType type, RzCoreGraphFormat format, RVA address)
+

Returns the textual version of global or specific graph.

+
+
Parameters:
+
    +
  • type – Graph type, example RZ_CORE_GRAPH_TYPE_FUNCALL or RZ_CORE_GRAPH_TYPE_IMPORT

  • +
  • format – Graph format, example RZ_CORE_GRAPH_FORMAT_DOT or RZ_CORE_GRAPH_FORMAT_GML

  • +
  • address – The object address (if global set it to RVA_INVALID)

  • +
+
+
Returns:
+

The textual graph string.

+
+
+
+ +
+
+void writeGraphvizGraphToFile(QString path, QString format, RzCoreGraphType type, RVA address)
+

Writes a graphviz graph to a file.

+
+
Parameters:
+
    +
  • path – The file output path

  • +
  • format – The output format (see graph.gv.format)

  • +
  • type – The graph type, example RZ_CORE_GRAPH_TYPE_FUNCALL or RZ_CORE_GRAPH_TYPE_IMPORT

  • +
  • address – The object address (if global set it to RVA_INVALID)

  • +
+
+
+
+ +
+
+

Public Members

+
+
+bool currentlyDebugging = false
+
+ +
+
+bool currentlyEmulating = false
+
+ +
+
+bool currentlyTracing = false
+
+ +
+
+bool currentlyRemoteDebugging = false
+
+ +
+
+int currentlyAttachedToPID = -1
+
+ +
+
+QString currentlyOpenFile
+
+ +
+
+QList<QString> regs
+
+ +
+
+

Signals

+
+
+void refreshAll()
+
+ +
+
+void functionRenamed(const RVA offset, const QString &new_name)
+
+ +
+
+void varsChanged()
+
+ +
+
+void globalVarsChanged()
+
+ +
+
+void functionsChanged()
+
+ +
+
+void flagsChanged()
+
+ +
+
+void commentsChanged(RVA addr)
+
+ +
+
+void registersChanged()
+
+ +
+
+void instructionChanged(RVA offset)
+
+ +
+
+void breakpointsChanged(RVA offset)
+
+ +
+
+void refreshCodeViews()
+
+ +
+
+void stackChanged()
+
+ +
+
+void codeRebased()
+

update all the widgets that are affected by rebasing in debug mode

+
+ +
+
+void switchedThread()
+
+ +
+
+void switchedProcess()
+
+ +
+
+void classNew(const QString &cls)
+
+ +
+
+void classDeleted(const QString &cls)
+
+ +
+
+void classRenamed(const QString &oldName, const QString &newName)
+
+ +
+
+void classAttrsChanged(const QString &cls)
+
+ +
+
+void debugProcessFinished(int pid)
+

end of current debug event received

+
+ +
+
+void attachedRemote(bool successfully)
+
+ +
+
+void ioCacheChanged(bool newval)
+
+ +
+
+void writeModeChanged(bool newval)
+
+ +
+
+void ioModeChanged()
+
+ +
+
+void debugTaskStateChanged()
+

emitted when debugTask started or finished running

+
+ +
+
+void asmOptionsChanged()
+

emitted when config regarding disassembly display changes

+
+ +
+
+void graphOptionsChanged()
+

emitted when config regarding graph display changes

+
+ +
+
+void seekChanged(RVA offset, SeekHistoryType type = SeekHistoryType::New)
+

seekChanged is emitted each time Rizin’s seek value is modified

+
+
Parameters:
+
    +
  • offset

  • +
  • historyType

  • +
+
+
+
+ +
+
+void toggleDebugView()
+
+ +
+
+void newMessage(const QString &msg)
+
+ +
+
+void newDebugMessage(const QString &msg)
+
+ +
+
+void showMemoryWidgetRequested()
+
+ +
+
+

Public Static Functions

+
+
+static CutterCore *instance()
+
+ +
+
+static QString sanitizeStringForCommand(QString s)
+
+ +
+
+static QByteArray hexStringToBytes(const QString &hex)
+
+ +
+
+static QString bytesToHexString(const QByteArray &bytes)
+
+ +
+
+static QString ansiEscapeToHtml(const QString &text)
+
+ +
+
+
+class SeekReturn
+
+

Public Functions

+
+
+inline SeekReturn(RVA returnAddress)
+
+ +
+
+inline ~SeekReturn()
+
+ +
+
+inline SeekReturn(SeekReturn &&from)
+
+ +
+
+ +
+ +
+ + +
+
+
+
+ + +
+
+ + + + + + + \ No newline at end of file diff --git a/docs/api/core/classCutterCore_1_1SeekReturn.html b/docs/api/core/classCutterCore_1_1SeekReturn.html new file mode 100644 index 000000000..4d6f25afb --- /dev/null +++ b/docs/api/core/classCutterCore_1_1SeekReturn.html @@ -0,0 +1,195 @@ + + + + + + + + CutterCore::SeekReturn — Cutter 2.4.0 documentation + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+ +
+

CutterCore::SeekReturn

+
+
+class SeekReturn
+
+

Public Functions

+
+
+inline SeekReturn(RVA returnAddress)
+
+ +
+
+inline ~SeekReturn()
+
+ +
+
+inline SeekReturn(SeekReturn &&from)
+
+ +
+
+ +
+ + +
+
+
+
+ + +
+
+ + + + + + + \ No newline at end of file diff --git a/docs/api/core/classCutterJson.html b/docs/api/core/classCutterJson.html new file mode 100644 index 000000000..7f04d7e46 --- /dev/null +++ b/docs/api/core/classCutterJson.html @@ -0,0 +1,303 @@ + + + + + + + + CutterJson — Cutter 2.4.0 documentation + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+ +
+

CutterJson

+
+
+class CutterJson
+
+

Public Functions

+
+
+inline CutterJson()
+
+ +
+
+inline CutterJson(const RzJson *value, QSharedPointer<CutterJsonOwner> owner)
+
+ +
+
+inline CutterJson first() const
+
+ +
+
+CutterJson last() const
+
+ +
+
+inline CutterJson operator[](const QString &key) const
+
+ +
+
+inline CutterJson operator[](const char *key) const
+
+ +
+
+inline iterator begin() const
+
+ +
+
+inline iterator end() const
+
+ +
+
+inline bool toBool() const
+
+ +
+
+inline st64 toSt64() const
+
+ +
+
+inline ut64 toUt64() const
+
+ +
+
+inline RVA toRVA() const
+
+ +
+
+inline QString toString() const
+
+ +
+
+inline QString key() const
+
+ +
+
+QStringList keys() const
+
+ +
+
+inline size_t size() const
+
+ +
+
+inline RzJsonType type() const
+
+ +
+
+inline bool valid() const
+
+ +
+
+inline const RzJson *lowLevelValue() const
+
+ +
+
+
+class iterator
+
+

Public Functions

+
+
+inline iterator(const RzJson *value, QSharedPointer<CutterJsonOwner> owner)
+
+ +
+
+inline CutterJson operator*() const
+
+ +
+
+inline bool operator!=(const iterator &other) const
+
+ +
+
+inline iterator &operator++()
+
+ +
+
+ +
+ +
+ + +
+
+
+
+ + +
+
+ + + + + + + \ No newline at end of file diff --git a/docs/api/core/classCutterJsonOwner.html b/docs/api/core/classCutterJsonOwner.html new file mode 100644 index 000000000..bd7b930cd --- /dev/null +++ b/docs/api/core/classCutterJsonOwner.html @@ -0,0 +1,190 @@ + + + + + + + + CutterJsonOwner — Cutter 2.4.0 documentation + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+ +
+

CutterJsonOwner

+
+
+class CutterJsonOwner
+
+

Public Functions

+
+
+inline CutterJsonOwner(RzJson *value, char *text)
+
+ +
+
+inline virtual ~CutterJsonOwner()
+
+ +
+
+ +
+ + +
+
+
+
+ + +
+
+ + + + + + + \ No newline at end of file diff --git a/docs/api/core/classCutterJson_1_1iterator.html b/docs/api/core/classCutterJson_1_1iterator.html new file mode 100644 index 000000000..6acc806cd --- /dev/null +++ b/docs/api/core/classCutterJson_1_1iterator.html @@ -0,0 +1,200 @@ + + + + + + + + CutterJson::iterator — Cutter 2.4.0 documentation + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+ +
+

CutterJson::iterator

+
+
+class iterator
+
+

Public Functions

+
+
+inline iterator(const RzJson *value, QSharedPointer<CutterJsonOwner> owner)
+
+ +
+
+inline CutterJson operator*() const
+
+ +
+
+inline bool operator!=(const iterator &other) const
+
+ +
+
+inline iterator &operator++()
+
+ +
+
+ +
+ + +
+
+
+
+ + +
+
+ + + + + + + \ No newline at end of file diff --git a/docs/api/core/classCutterPVector.html b/docs/api/core/classCutterPVector.html new file mode 100644 index 000000000..feead847c --- /dev/null +++ b/docs/api/core/classCutterPVector.html @@ -0,0 +1,266 @@ + + + + + + + + CutterPVector — Cutter 2.4.0 documentation + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+ +
+

CutterPVector

+
+
+template<typename T>
class CutterPVector
+
+

Public Functions

+
+
+inline CutterPVector(const RzPVector *vec)
+
+ +
+
+inline iterator begin() const
+
+ +
+
+inline iterator end() const
+
+ +
+
+
+class iterator
+
+

Public Types

+
+
+using iterator_category = std::input_iterator_tag
+
+ +
+
+using value_type = T*
+
+ +
+
+using difference_type = ptrdiff_t
+
+ +
+
+using pointer = T**
+
+ +
+
+using reference = T*&
+
+ +
+
+

Public Functions

+
+
+inline iterator(T **p)
+
+ +
+
+inline iterator(const iterator &o)
+
+ +
+
+inline iterator &operator++()
+
+ +
+
+inline iterator operator++(int)
+
+ +
+
+inline bool operator==(const iterator &rhs) const
+
+ +
+
+inline bool operator!=(const iterator &rhs) const
+
+ +
+
+inline T *operator*()
+
+ +
+
+ +
+ +
+ + +
+
+
+
+ + +
+
+ + + + + + + \ No newline at end of file diff --git a/docs/api/core/classCutterPVector_1_1iterator.html b/docs/api/core/classCutterPVector_1_1iterator.html new file mode 100644 index 000000000..bc2b026f5 --- /dev/null +++ b/docs/api/core/classCutterPVector_1_1iterator.html @@ -0,0 +1,243 @@ + + + + + + + + CutterPVector::iterator — Cutter 2.4.0 documentation + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+ +
+

CutterPVector::iterator

+
+
+class iterator
+
+

Public Types

+
+
+using iterator_category = std::input_iterator_tag
+
+ +
+
+using value_type = T*
+
+ +
+
+using difference_type = ptrdiff_t
+
+ +
+
+using pointer = T**
+
+ +
+
+using reference = T*&
+
+ +
+
+

Public Functions

+
+
+inline iterator(T **p)
+
+ +
+
+inline iterator(const iterator &o)
+
+ +
+
+inline iterator &operator++()
+
+ +
+
+inline iterator operator++(int)
+
+ +
+
+inline bool operator==(const iterator &rhs) const
+
+ +
+
+inline bool operator!=(const iterator &rhs) const
+
+ +
+
+inline T *operator*()
+
+ +
+
+ +
+ + +
+
+
+
+ + +
+
+ + + + + + + \ No newline at end of file diff --git a/docs/api/core/classCutterRzIter.html b/docs/api/core/classCutterRzIter.html new file mode 100644 index 000000000..e53e46f6f --- /dev/null +++ b/docs/api/core/classCutterRzIter.html @@ -0,0 +1,210 @@ + + + + + + + + CutterRzIter — Cutter 2.4.0 documentation + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+ +
+

CutterRzIter

+
+
+template<typename T>
class CutterRzIter
+
+

Public Functions

+
+
+inline CutterRzIter(RzIterator *rzIter)
+
+ +
+
+inline CutterRzIter<T> &operator++()
+
+ +
+
+inline operator bool()
+
+ +
+
+inline T &operator*()
+
+ +
+
+inline T *get()
+
+ +
+
+inline T *operator->()
+
+ +
+
+ +
+ + +
+
+
+
+ + +
+
+ + + + + + + \ No newline at end of file diff --git a/docs/api/core/classCutterRzList.html b/docs/api/core/classCutterRzList.html new file mode 100644 index 000000000..770293c71 --- /dev/null +++ b/docs/api/core/classCutterRzList.html @@ -0,0 +1,266 @@ + + + + + + + + CutterRzList — Cutter 2.4.0 documentation + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+ +
+

CutterRzList

+
+
+template<typename T>
class CutterRzList
+
+

Public Functions

+
+
+inline explicit CutterRzList(const RzList *l)
+
+ +
+
+inline iterator begin() const
+
+ +
+
+inline iterator end() const
+
+ +
+
+
+class iterator
+
+

Public Types

+
+
+using iterator_category = std::input_iterator_tag
+
+ +
+
+using value_type = T*
+
+ +
+
+using difference_type = ptrdiff_t
+
+ +
+
+using pointer = T**
+
+ +
+
+using reference = T*&
+
+ +
+
+

Public Functions

+
+
+inline explicit iterator(RzListIter *iter)
+
+ +
+
+inline iterator(const iterator &o)
+
+ +
+
+inline iterator &operator++()
+
+ +
+
+inline iterator operator++(int)
+
+ +
+
+inline bool operator==(const iterator &rhs) const
+
+ +
+
+inline bool operator!=(const iterator &rhs) const
+
+ +
+
+inline T *operator*()
+
+ +
+
+ +
+ +
+ + +
+
+
+
+ + +
+
+ + + + + + + \ No newline at end of file diff --git a/docs/api/core/classCutterRzList_1_1iterator.html b/docs/api/core/classCutterRzList_1_1iterator.html new file mode 100644 index 000000000..36744430f --- /dev/null +++ b/docs/api/core/classCutterRzList_1_1iterator.html @@ -0,0 +1,243 @@ + + + + + + + + CutterRzList::iterator — Cutter 2.4.0 documentation + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+ +
+

CutterRzList::iterator

+
+
+class iterator
+
+

Public Types

+
+
+using iterator_category = std::input_iterator_tag
+
+ +
+
+using value_type = T*
+
+ +
+
+using difference_type = ptrdiff_t
+
+ +
+
+using pointer = T**
+
+ +
+
+using reference = T*&
+
+ +
+
+

Public Functions

+
+
+inline explicit iterator(RzListIter *iter)
+
+ +
+
+inline iterator(const iterator &o)
+
+ +
+
+inline iterator &operator++()
+
+ +
+
+inline iterator operator++(int)
+
+ +
+
+inline bool operator==(const iterator &rhs) const
+
+ +
+
+inline bool operator!=(const iterator &rhs) const
+
+ +
+
+inline T *operator*()
+
+ +
+
+ +
+ + +
+
+
+
+ + +
+
+ + + + + + + \ No newline at end of file diff --git a/docs/api/core/classFreeBinder.html b/docs/api/core/classFreeBinder.html new file mode 100644 index 000000000..ce997455f --- /dev/null +++ b/docs/api/core/classFreeBinder.html @@ -0,0 +1,185 @@ + + + + + + + + FreeBinder — Cutter 2.4.0 documentation + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+ +
+

FreeBinder

+
+
+template<class T, void (*func)(T*)>
class FreeBinder
+
+

Public Functions

+
+
+inline void operator()(T *data)
+
+ +
+
+ +
+ + +
+
+
+
+ + +
+
+ + + + + + + \ No newline at end of file diff --git a/docs/api/core/classMainWindow.html b/docs/api/core/classMainWindow.html new file mode 100644 index 000000000..0acb559da --- /dev/null +++ b/docs/api/core/classMainWindow.html @@ -0,0 +1,525 @@ + + + + + + + + MainWindow — Cutter 2.4.0 documentation + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+ +
+

MainWindow

+
+
+class MainWindow : public QMainWindow
+
+

Public Types

+
+
+enum class MenuType
+

Values:

+
+
+enumerator File
+
+ +
+
+enumerator Edit
+
+ +
+
+enumerator View
+
+ +
+
+enumerator Windows
+
+ +
+
+enumerator Debug
+
+ +
+
+enumerator Help
+
+ +
+
+enumerator Plugins
+
+ +
+ +
+
+enum class AddressTypeHint
+

Values:

+
+
+enumerator Function
+
+ +
+
+enumerator Data
+
+ +
+
+enumerator Unknown
+
+ +
+ +
+
+enum class ContextMenuType
+

Values:

+
+
+enumerator Disassembly
+
+ +
+
+enumerator Addressable
+
+ +
+ +
+
+

Public Functions

+
+
+explicit MainWindow(QWidget *parent = nullptr)
+
+ +
+
+~MainWindow() override
+
+ +
+
+void openNewFile(InitialOptions &options, bool skipOptionsDialog = false)
+
+ +
+
+void displayNewFileDialog()
+
+ +
+
+void displayWelcomeDialog()
+

displays the WelocmeDialog

+

Upon first execution of Cutter, the WelcomeDialog would be showed to the user. The Welcome dialog would be showed after a reset of Cutter’s preferences by the user.

+
+ +
+
+void closeNewFileDialog()
+
+ +
+
+bool openProject(const QString &project_name)
+
+ +
+
+RzProjectErr saveProject(bool *canceled)
+
+ +
+
+RzProjectErr saveProjectAs(bool *canceled)
+
+ +
+
+void showProjectSaveError(RzProjectErr err)
+
+ +
+
+void closeEvent(QCloseEvent *event) override
+
+ +
+
+void paintEvent(QPaintEvent *event) override
+
+ +
+
+void readSettings()
+
+ +
+
+void saveSettings()
+
+ +
+
+void setFilename(const QString &fn)
+
+ +
+
+void refreshOmniBar(const QStringList &flags)
+
+ +
+
+void addWidget(CutterDockWidget *widget)
+
+ +
+
+void addMemoryDockWidget(MemoryDockWidget *widget)
+
+ +
+
+void removeWidget(CutterDockWidget *widget)
+
+ +
+
+void addExtraWidget(CutterDockWidget *extraDock)
+
+ +
+
+MemoryDockWidget *addNewMemoryWidget(MemoryWidgetType type, RVA address, bool synchronized = true)
+
+ +
+
+inline void addPluginDockWidget(CutterDockWidget *dockWidget, QAction*)
+
+ +
+
+void addPluginDockWidget(CutterDockWidget *dockWidget)
+
+ +
+
+QMenu *getMenuByType(MenuType type)
+

Getter for MainWindow’s different menus.

+
+
Parameters:
+

type – The type which represents the desired menu

+
+
Returns:
+

The requested menu or nullptr if “type” is invalid

+
+
+
+ +
+
+void addMenuFileAction(QAction *action)
+
+ +
+
+inline QString getFilename() const
+
+ +
+
+void messageBoxWarning(QString title, QString message)
+

Show a warning message box.

+

This API can either be used in Cutter internals, or by Python plugins.

+
+ +
+
+QString getUniqueObjectName(const QString &widgetType) const
+
+ +
+
+void showMemoryWidget()
+
+ +
+
+void showMemoryWidget(MemoryWidgetType type)
+
+ +
+
+QMenu *createShowInMenu(QWidget *parent, RVA address, AddressTypeHint addressType = AddressTypeHint::Unknown)
+
+ +
+
+void setCurrentMemoryWidget(MemoryDockWidget *memoryWidget)
+
+ +
+
+MemoryDockWidget *getLastMemoryWidget()
+
+ +
+
+QMenu *getContextMenuExtensions(ContextMenuType type)
+

Fetches the pointer to a context menu extension of type.

+
+
Parameters:
+

type – - the type of the context menu

+
+
Returns:
+

plugins submenu of the selected context menu

+
+
+
+ +
+
+

Public Members

+
+
+bool responsive
+
+ +
+
+

Public Slots

+
+
+void finalizeOpen()
+
+ +
+
+void refreshAll()
+
+ +
+
+void seekToFunctionLastInstruction()
+
+ +
+
+void seekToFunctionStart()
+
+ +
+
+void setTabLocation()
+
+ +
+
+void on_actionTabs_triggered()
+
+ +
+
+void on_actionAnalyze_triggered()
+

A signal that creates an AsyncTask to re-analyze the current file.

+
+ +
+
+void lockDocks(bool lock)
+
+ +
+
+void on_actionRun_Script_triggered()
+
+ +
+
+void toggleResponsive(bool maybe)
+
+ +
+
+void openNewFileFailed()
+
+ +
+
+void toggleOverview(bool visibility, GraphWidget *targetGraph)
+
+ +
+
+ +
+ + +
+
+
+
+ + +
+
+ + + + + + + \ No newline at end of file diff --git a/docs/api/core/classRzCoreLocked.html b/docs/api/core/classRzCoreLocked.html new file mode 100644 index 000000000..e9ad171e8 --- /dev/null +++ b/docs/api/core/classRzCoreLocked.html @@ -0,0 +1,215 @@ + + + + + + + + RzCoreLocked — Cutter 2.4.0 documentation + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+ +
+

RzCoreLocked

+
+
+class RzCoreLocked
+
+

Public Functions

+
+
+explicit RzCoreLocked(CutterCore *core)
+
+ +
+
+RzCoreLocked(const RzCoreLocked&) = delete
+
+ +
+
+RzCoreLocked &operator=(const RzCoreLocked&) = delete
+
+ +
+
+RzCoreLocked(RzCoreLocked&&)
+
+ +
+
+~RzCoreLocked()
+
+ +
+
+operator RzCore*() const
+
+ +
+
+RzCore *operator->() const
+
+ +
+
+ +
+ + +
+
+
+
+ + +
+
+ + + + + + + \ No newline at end of file diff --git a/docs/api/core/structAddrRefs.html b/docs/api/core/structAddrRefs.html new file mode 100644 index 000000000..cee57c663 --- /dev/null +++ b/docs/api/core/structAddrRefs.html @@ -0,0 +1,240 @@ + + + + + + + + AddrRefs — Cutter 2.4.0 documentation + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+ +
+

AddrRefs

+
+
+struct AddrRefs
+
+

Public Members

+
+
+RVA addr
+
+ +
+
+QString mapname
+
+ +
+
+QString section
+
+ +
+
+QString reg
+
+ +
+
+QString fcn
+
+ +
+
+QString type
+
+ +
+
+QString asm_op
+
+ +
+
+QString perms
+
+ +
+
+ut64 value
+
+ +
+
+bool has_value
+
+ +
+
+QString string
+
+ +
+
+QSharedPointer<AddrRefs> ref
+
+ +
+
+ +
+ + +
+
+
+
+ + +
+
+ + + + + + + \ No newline at end of file diff --git a/docs/api/core/structAnalysisBaseClassDescription.html b/docs/api/core/structAnalysisBaseClassDescription.html new file mode 100644 index 000000000..558284b71 --- /dev/null +++ b/docs/api/core/structAnalysisBaseClassDescription.html @@ -0,0 +1,195 @@ + + + + + + + + AnalysisBaseClassDescription — Cutter 2.4.0 documentation + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+ +
+

AnalysisBaseClassDescription

+
+
+struct AnalysisBaseClassDescription
+
+

Public Members

+
+
+QString id
+
+ +
+
+RVA offset
+
+ +
+
+QString className
+
+ +
+
+ +
+ + +
+
+
+
+ + +
+
+ + + + + + + \ No newline at end of file diff --git a/docs/api/core/structAnalysisMethodDescription.html b/docs/api/core/structAnalysisMethodDescription.html new file mode 100644 index 000000000..37c1a3f0f --- /dev/null +++ b/docs/api/core/structAnalysisMethodDescription.html @@ -0,0 +1,200 @@ + + + + + + + + AnalysisMethodDescription — Cutter 2.4.0 documentation + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+ +
+

AnalysisMethodDescription

+
+
+struct AnalysisMethodDescription
+
+

Public Members

+
+
+QString name
+
+ +
+
+QString realName
+
+ +
+
+RVA addr
+
+ +
+
+st64 vtableOffset
+
+ +
+
+ +
+ + +
+
+
+
+ + +
+
+ + + + + + + \ No newline at end of file diff --git a/docs/api/core/structAnalysisVTableDescription.html b/docs/api/core/structAnalysisVTableDescription.html new file mode 100644 index 000000000..16acf0afb --- /dev/null +++ b/docs/api/core/structAnalysisVTableDescription.html @@ -0,0 +1,195 @@ + + + + + + + + AnalysisVTableDescription — Cutter 2.4.0 documentation + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+ +
+

AnalysisVTableDescription

+
+
+struct AnalysisVTableDescription
+
+

Public Members

+
+
+QString id
+
+ +
+
+ut64 offset
+
+ +
+
+ut64 addr
+
+ +
+
+ +
+ + +
+
+
+
+ + +
+
+ + + + + + + \ No newline at end of file diff --git a/docs/api/core/structArena.html b/docs/api/core/structArena.html new file mode 100644 index 000000000..012271b2a --- /dev/null +++ b/docs/api/core/structArena.html @@ -0,0 +1,220 @@ + + + + + + + + Arena — Cutter 2.4.0 documentation + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+ +
+

Arena

+
+
+struct Arena
+
+

Public Members

+
+
+RVA offset
+
+ +
+
+QString type
+
+ +
+
+ut64 top
+
+ +
+
+ut64 last_remainder
+
+ +
+
+ut64 next
+
+ +
+
+ut64 next_free
+
+ +
+
+ut64 system_mem
+
+ +
+
+ut64 max_system_mem
+
+ +
+
+ +
+ + +
+
+
+
+ + +
+
+ + + + + + + \ No newline at end of file diff --git a/docs/api/core/structBasefindCoreStatusDescription.html b/docs/api/core/structBasefindCoreStatusDescription.html new file mode 100644 index 000000000..22d82c49c --- /dev/null +++ b/docs/api/core/structBasefindCoreStatusDescription.html @@ -0,0 +1,190 @@ + + + + + + + + BasefindCoreStatusDescription — Cutter 2.4.0 documentation + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+ +
+

BasefindCoreStatusDescription

+
+
+struct BasefindCoreStatusDescription
+
+

Public Members

+
+
+size_t index
+
+ +
+
+ut32 percentage
+
+ +
+
+ +
+ + +
+
+
+
+ + +
+
+ + + + + + + \ No newline at end of file diff --git a/docs/api/core/structBasefindResultDescription.html b/docs/api/core/structBasefindResultDescription.html new file mode 100644 index 000000000..9c2f24630 --- /dev/null +++ b/docs/api/core/structBasefindResultDescription.html @@ -0,0 +1,190 @@ + + + + + + + + BasefindResultDescription — Cutter 2.4.0 documentation + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+ +
+

BasefindResultDescription

+
+
+struct BasefindResultDescription
+
+

Public Members

+
+
+RVA candidate
+
+ +
+
+ut32 score
+
+ +
+
+ +
+ + +
+
+
+
+ + +
+
+ + + + + + + \ No newline at end of file diff --git a/docs/api/core/structBinClassBaseClassDescription.html b/docs/api/core/structBinClassBaseClassDescription.html new file mode 100644 index 000000000..b41525731 --- /dev/null +++ b/docs/api/core/structBinClassBaseClassDescription.html @@ -0,0 +1,190 @@ + + + + + + + + BinClassBaseClassDescription — Cutter 2.4.0 documentation + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+ +
+

BinClassBaseClassDescription

+
+
+struct BinClassBaseClassDescription
+
+

Public Members

+
+
+QString name
+
+ +
+
+RVA offset
+
+ +
+
+ +
+ + +
+
+
+
+ + +
+
+ + + + + + + \ No newline at end of file diff --git a/docs/api/core/structBinClassDescription.html b/docs/api/core/structBinClassDescription.html new file mode 100644 index 000000000..3b7962d2b --- /dev/null +++ b/docs/api/core/structBinClassDescription.html @@ -0,0 +1,210 @@ + + + + + + + + BinClassDescription — Cutter 2.4.0 documentation + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+ +
+

BinClassDescription

+
+
+struct BinClassDescription
+
+

Public Members

+
+
+QString name
+
+ +
+
+RVA addr = RVA_INVALID
+
+ +
+
+RVA vtableAddr = RVA_INVALID
+
+ +
+
+QList<BinClassBaseClassDescription> baseClasses
+
+ +
+
+QList<BinClassMethodDescription> methods
+
+ +
+
+QList<BinClassFieldDescription> fields
+
+ +
+
+ +
+ + +
+
+
+
+ + +
+
+ + + + + + + \ No newline at end of file diff --git a/docs/api/core/structBinClassFieldDescription.html b/docs/api/core/structBinClassFieldDescription.html new file mode 100644 index 000000000..4ee6e719a --- /dev/null +++ b/docs/api/core/structBinClassFieldDescription.html @@ -0,0 +1,190 @@ + + + + + + + + BinClassFieldDescription — Cutter 2.4.0 documentation + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+ +
+

BinClassFieldDescription

+
+
+struct BinClassFieldDescription
+
+

Public Members

+
+
+QString name
+
+ +
+
+RVA addr = RVA_INVALID
+
+ +
+
+ +
+ + +
+
+
+
+ + +
+
+ + + + + + + \ No newline at end of file diff --git a/docs/api/core/structBinClassMethodDescription.html b/docs/api/core/structBinClassMethodDescription.html new file mode 100644 index 000000000..da2b99034 --- /dev/null +++ b/docs/api/core/structBinClassMethodDescription.html @@ -0,0 +1,195 @@ + + + + + + + + BinClassMethodDescription — Cutter 2.4.0 documentation + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+ +
+

BinClassMethodDescription

+
+
+struct BinClassMethodDescription
+
+

Public Members

+
+
+QString name
+
+ +
+
+RVA addr = RVA_INVALID
+
+ +
+
+st64 vtableOffset = -1
+
+ +
+
+ +
+ + +
+
+
+
+ + +
+
+ + + + + + + \ No newline at end of file diff --git a/docs/api/core/structBlockDescription.html b/docs/api/core/structBlockDescription.html new file mode 100644 index 000000000..a7738c884 --- /dev/null +++ b/docs/api/core/structBlockDescription.html @@ -0,0 +1,225 @@ + + + + + + + + BlockDescription — Cutter 2.4.0 documentation + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+ +
+

BlockDescription

+
+
+struct BlockDescription
+
+

Public Members

+
+
+RVA addr
+
+ +
+
+RVA size
+
+ +
+
+int flags
+
+ +
+
+int functions
+
+ +
+
+int inFunctions
+
+ +
+
+int comments
+
+ +
+
+int symbols
+
+ +
+
+int strings
+
+ +
+
+ut8 rwx
+
+ +
+
+ +
+ + +
+
+
+
+ + +
+
+ + + + + + + \ No newline at end of file diff --git a/docs/api/core/structBlockStatistics.html b/docs/api/core/structBlockStatistics.html new file mode 100644 index 000000000..454e48440 --- /dev/null +++ b/docs/api/core/structBlockStatistics.html @@ -0,0 +1,200 @@ + + + + + + + + BlockStatistics — Cutter 2.4.0 documentation + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+ +
+

BlockStatistics

+
+
+struct BlockStatistics
+
+

Public Members

+
+
+RVA from
+
+ +
+
+RVA to
+
+ +
+
+RVA blocksize
+
+ +
+
+QList<BlockDescription> blocks
+
+ +
+
+ +
+ + +
+
+
+
+ + +
+
+ + + + + + + \ No newline at end of file diff --git a/docs/api/core/structBreakpointDescription.html b/docs/api/core/structBreakpointDescription.html new file mode 100644 index 000000000..dc4f631b3 --- /dev/null +++ b/docs/api/core/structBreakpointDescription.html @@ -0,0 +1,269 @@ + + + + + + + + BreakpointDescription — Cutter 2.4.0 documentation + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+ +
+

BreakpointDescription

+
+
+struct BreakpointDescription
+
+

Public Types

+
+
+enum PositionType
+

Values:

+
+
+enumerator Address
+
+ +
+
+enumerator Named
+
+ +
+
+enumerator Module
+
+ +
+ +
+
+

Public Members

+
+
+RVA addr = 0
+
+ +
+
+int64_t moduleDelta = 0
+
+ +
+
+int index = -1
+
+ +
+
+PositionType type = Address
+
+ +
+
+int size = 0
+
+ +
+
+int permission = 0
+
+ +
+
+QString positionExpression
+
+ +
+
+QString name
+
+ +
+
+QString command
+
+ +
+
+QString condition
+
+ +
+
+bool hw = false
+
+ +
+
+bool trace = false
+
+ +
+
+bool enabled = true
+
+ +
+
+ +
+ + +
+
+
+
+ + +
+
+ + + + + + + \ No newline at end of file diff --git a/docs/api/core/structChunk.html b/docs/api/core/structChunk.html new file mode 100644 index 000000000..851076c58 --- /dev/null +++ b/docs/api/core/structChunk.html @@ -0,0 +1,195 @@ + + + + + + + + Chunk — Cutter 2.4.0 documentation + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+ +
+

Chunk

+
+
+struct Chunk
+
+

Public Members

+
+
+RVA offset
+
+ +
+
+QString status
+
+ +
+
+int size
+
+ +
+
+ +
+ + +
+
+
+
+ + +
+
+ + + + + + + \ No newline at end of file diff --git a/docs/api/core/structCommentDescription.html b/docs/api/core/structCommentDescription.html new file mode 100644 index 000000000..a660bd5f6 --- /dev/null +++ b/docs/api/core/structCommentDescription.html @@ -0,0 +1,190 @@ + + + + + + + + CommentDescription — Cutter 2.4.0 documentation + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+ +
+

CommentDescription

+
+
+struct CommentDescription
+
+

Public Members

+
+
+RVA offset
+
+ +
+
+QString name
+
+ +
+
+ +
+ + +
+
+
+
+ + +
+
+ + + + + + + \ No newline at end of file diff --git a/docs/api/core/structDisassemblyLine.html b/docs/api/core/structDisassemblyLine.html new file mode 100644 index 000000000..3c57b413c --- /dev/null +++ b/docs/api/core/structDisassemblyLine.html @@ -0,0 +1,195 @@ + + + + + + + + DisassemblyLine — Cutter 2.4.0 documentation + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+ +
+

DisassemblyLine

+
+
+struct DisassemblyLine
+
+

Public Members

+
+
+RVA offset
+
+ +
+
+QString text
+
+ +
+
+RVA arrow
+
+ +
+
+ +
+ + +
+
+
+
+ + +
+
+ + + + + + + \ No newline at end of file diff --git a/docs/api/core/structEntrypointDescription.html b/docs/api/core/structEntrypointDescription.html new file mode 100644 index 000000000..4db9d963a --- /dev/null +++ b/docs/api/core/structEntrypointDescription.html @@ -0,0 +1,210 @@ + + + + + + + + EntrypointDescription — Cutter 2.4.0 documentation + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+ +
+

EntrypointDescription

+
+
+struct EntrypointDescription
+
+

Public Members

+
+
+RVA vaddr
+
+ +
+
+RVA paddr
+
+ +
+
+RVA baddr
+
+ +
+
+RVA laddr
+
+ +
+
+RVA haddr
+
+ +
+
+QString type
+
+ +
+
+ +
+ + +
+
+
+
+ + +
+
+ + + + + + + \ No newline at end of file diff --git a/docs/api/core/structExportDescription.html b/docs/api/core/structExportDescription.html new file mode 100644 index 000000000..b4543ec60 --- /dev/null +++ b/docs/api/core/structExportDescription.html @@ -0,0 +1,210 @@ + + + + + + + + ExportDescription — Cutter 2.4.0 documentation + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+ +
+

ExportDescription

+
+
+struct ExportDescription
+
+

Public Members

+
+
+RVA vaddr
+
+ +
+
+RVA paddr
+
+ +
+
+RVA size
+
+ +
+
+QString type
+
+ +
+
+QString name
+
+ +
+
+QString flag_name
+
+ +
+
+ +
+ + +
+
+
+
+ + +
+
+ + + + + + + \ No newline at end of file diff --git a/docs/api/core/structFlagDescription.html b/docs/api/core/structFlagDescription.html new file mode 100644 index 000000000..9c1411309 --- /dev/null +++ b/docs/api/core/structFlagDescription.html @@ -0,0 +1,200 @@ + + + + + + + + FlagDescription — Cutter 2.4.0 documentation + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+ +
+

FlagDescription

+
+
+struct FlagDescription
+
+

Public Members

+
+
+RVA offset
+
+ +
+
+RVA size
+
+ +
+
+QString name
+
+ +
+
+QString realname
+
+ +
+
+ +
+ + +
+
+
+
+ + +
+
+ + + + + + + \ No newline at end of file diff --git a/docs/api/core/structFlagspaceDescription.html b/docs/api/core/structFlagspaceDescription.html new file mode 100644 index 000000000..0856528f5 --- /dev/null +++ b/docs/api/core/structFlagspaceDescription.html @@ -0,0 +1,185 @@ + + + + + + + + FlagspaceDescription — Cutter 2.4.0 documentation + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+ +
+

FlagspaceDescription

+
+
+struct FlagspaceDescription
+
+

Public Members

+
+
+QString name
+
+ +
+
+ +
+ + +
+
+
+
+ + +
+
+ + + + + + + \ No newline at end of file diff --git a/docs/api/core/structFlirtDescription.html b/docs/api/core/structFlirtDescription.html new file mode 100644 index 000000000..bb9bc2f3f --- /dev/null +++ b/docs/api/core/structFlirtDescription.html @@ -0,0 +1,220 @@ + + + + + + + + FlirtDescription — Cutter 2.4.0 documentation + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+ +
+

FlirtDescription

+
+
+struct FlirtDescription
+
+

Public Members

+
+
+QString bin_name
+
+ +
+
+QString arch_name
+
+ +
+
+QString arch_bits
+
+ +
+
+QString base_name
+
+ +
+
+QString short_path
+
+ +
+
+QString file_path
+
+ +
+
+QString details
+
+ +
+
+QString n_modules
+
+ +
+
+ +
+ + +
+
+
+
+ + +
+
+ + + + + + + \ No newline at end of file diff --git a/docs/api/core/structFunctionDescription.html b/docs/api/core/structFunctionDescription.html new file mode 100644 index 000000000..9a9aa3c5e --- /dev/null +++ b/docs/api/core/structFunctionDescription.html @@ -0,0 +1,233 @@ + + + + + + + + FunctionDescription — Cutter 2.4.0 documentation + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+ +
+

FunctionDescription

+
+
+struct FunctionDescription
+
+

Public Functions

+
+
+inline bool contains(RVA addr) const
+
+ +
+
+

Public Members

+
+
+RVA offset
+
+ +
+
+RVA linearSize
+
+ +
+
+RVA nargs
+
+ +
+
+RVA nbbs
+
+ +
+
+RVA nlocals
+
+ +
+
+QString calltype
+
+ +
+
+QString name
+
+ +
+
+RVA edges
+
+ +
+
+RVA stackframe
+
+ +
+
+ +
+ + +
+
+
+
+ + +
+
+ + + + + + + \ No newline at end of file diff --git a/docs/api/core/structGlobalDescription.html b/docs/api/core/structGlobalDescription.html new file mode 100644 index 000000000..c8b525b58 --- /dev/null +++ b/docs/api/core/structGlobalDescription.html @@ -0,0 +1,195 @@ + + + + + + + + GlobalDescription — Cutter 2.4.0 documentation + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+ +
+

GlobalDescription

+
+
+struct GlobalDescription
+
+

Public Members

+
+
+RVA addr
+
+ +
+
+QString type
+
+ +
+
+QString name
+
+ +
+
+ +
+ + +
+
+
+
+ + +
+
+ + + + + + + \ No newline at end of file diff --git a/docs/api/core/structHeaderDescription.html b/docs/api/core/structHeaderDescription.html new file mode 100644 index 000000000..886ff46c2 --- /dev/null +++ b/docs/api/core/structHeaderDescription.html @@ -0,0 +1,200 @@ + + + + + + + + HeaderDescription — Cutter 2.4.0 documentation + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+ +
+

HeaderDescription

+
+
+struct HeaderDescription
+
+

Public Members

+
+
+RVA vaddr
+
+ +
+
+RVA paddr
+
+ +
+
+QString value
+
+ +
+
+QString name
+
+ +
+
+ +
+ + +
+
+
+
+ + +
+
+ + + + + + + \ No newline at end of file diff --git a/docs/api/core/structImportDescription.html b/docs/api/core/structImportDescription.html new file mode 100644 index 000000000..b99e1c44f --- /dev/null +++ b/docs/api/core/structImportDescription.html @@ -0,0 +1,210 @@ + + + + + + + + ImportDescription — Cutter 2.4.0 documentation + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+ +
+

ImportDescription

+
+
+struct ImportDescription
+
+

Public Members

+
+
+RVA plt
+
+ +
+
+int ordinal
+
+ +
+
+QString bind
+
+ +
+
+QString type
+
+ +
+
+QString name
+
+ +
+
+QString libname
+
+ +
+
+ +
+ + +
+
+
+
+ + +
+
+ + + + + + + \ No newline at end of file diff --git a/docs/api/core/structMemoryMapDescription.html b/docs/api/core/structMemoryMapDescription.html new file mode 100644 index 000000000..402133119 --- /dev/null +++ b/docs/api/core/structMemoryMapDescription.html @@ -0,0 +1,210 @@ + + + + + + + + MemoryMapDescription — Cutter 2.4.0 documentation + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+ +
+

MemoryMapDescription

+
+
+struct MemoryMapDescription
+
+

Public Members

+
+
+RVA addrStart
+
+ +
+
+RVA addrEnd
+
+ +
+
+QString name
+
+ +
+
+QString fileName
+
+ +
+
+QString type
+
+ +
+
+QString permission
+
+ +
+
+ +
+ + +
+
+
+
+ + +
+
+ + + + + + + \ No newline at end of file diff --git a/docs/api/core/structProcessDescription.html b/docs/api/core/structProcessDescription.html new file mode 100644 index 000000000..8aaf8672b --- /dev/null +++ b/docs/api/core/structProcessDescription.html @@ -0,0 +1,210 @@ + + + + + + + + ProcessDescription — Cutter 2.4.0 documentation + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+ +
+

ProcessDescription

+
+
+struct ProcessDescription
+
+

Public Members

+
+
+bool current
+
+ +
+
+int pid
+
+ +
+
+int uid
+
+ +
+
+int ppid
+
+ +
+
+RzDebugPidState status
+
+ +
+
+QString path
+
+ +
+
+ +
+ + +
+
+
+
+ + +
+
+ + + + + + + \ No newline at end of file diff --git a/docs/api/core/structRefDescription.html b/docs/api/core/structRefDescription.html new file mode 100644 index 000000000..cac43a50d --- /dev/null +++ b/docs/api/core/structRefDescription.html @@ -0,0 +1,190 @@ + + + + + + + + RefDescription — Cutter 2.4.0 documentation + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+ +
+

RefDescription

+
+
+struct RefDescription
+
+

Public Members

+
+
+QString ref
+
+ +
+
+QColor refColor
+
+ +
+
+ +
+ + +
+
+
+
+ + +
+
+ + + + + + + \ No newline at end of file diff --git a/docs/api/core/structRegisterRef.html b/docs/api/core/structRegisterRef.html new file mode 100644 index 000000000..a70b512d5 --- /dev/null +++ b/docs/api/core/structRegisterRef.html @@ -0,0 +1,195 @@ + + + + + + + + RegisterRef — Cutter 2.4.0 documentation + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+ +
+

RegisterRef

+
+
+struct RegisterRef
+
+

Public Members

+
+
+ut64 value
+
+ +
+
+AddrRefs ref
+
+ +
+
+QString name
+
+ +
+
+ +
+ + +
+
+
+
+ + +
+
+ + + + + + + \ No newline at end of file diff --git a/docs/api/core/structRegisterRefValueDescription.html b/docs/api/core/structRegisterRefValueDescription.html new file mode 100644 index 000000000..bef33d387 --- /dev/null +++ b/docs/api/core/structRegisterRefValueDescription.html @@ -0,0 +1,195 @@ + + + + + + + + RegisterRefValueDescription — Cutter 2.4.0 documentation + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+ +
+

RegisterRefValueDescription

+
+
+struct RegisterRefValueDescription
+
+

Public Members

+
+
+QString name
+
+ +
+
+QString value
+
+ +
+
+QString ref
+
+ +
+
+ +
+ + +
+
+
+
+ + +
+
+ + + + + + + \ No newline at end of file diff --git a/docs/api/core/structRelocDescription.html b/docs/api/core/structRelocDescription.html new file mode 100644 index 000000000..4075e8b18 --- /dev/null +++ b/docs/api/core/structRelocDescription.html @@ -0,0 +1,200 @@ + + + + + + + + RelocDescription — Cutter 2.4.0 documentation + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+ +
+

RelocDescription

+
+
+struct RelocDescription
+
+

Public Members

+
+
+RVA vaddr
+
+ +
+
+RVA paddr
+
+ +
+
+QString type
+
+ +
+
+QString name
+
+ +
+
+ +
+ + +
+
+
+
+ + +
+
+ + + + + + + \ No newline at end of file diff --git a/docs/api/core/structResourcesDescription.html b/docs/api/core/structResourcesDescription.html new file mode 100644 index 000000000..15b64a56e --- /dev/null +++ b/docs/api/core/structResourcesDescription.html @@ -0,0 +1,210 @@ + + + + + + + + ResourcesDescription — Cutter 2.4.0 documentation + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+ +
+

ResourcesDescription

+
+
+struct ResourcesDescription
+
+

Public Members

+
+
+QString name
+
+ +
+
+RVA vaddr
+
+ +
+
+ut64 index
+
+ +
+
+QString type
+
+ +
+
+ut64 size
+
+ +
+
+QString lang
+
+ +
+
+ +
+ + +
+
+
+
+ + +
+
+ + + + + + + \ No newline at end of file diff --git a/docs/api/core/structRzAsmPluginDescription.html b/docs/api/core/structRzAsmPluginDescription.html new file mode 100644 index 000000000..48085695c --- /dev/null +++ b/docs/api/core/structRzAsmPluginDescription.html @@ -0,0 +1,215 @@ + + + + + + + + RzAsmPluginDescription — Cutter 2.4.0 documentation + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+ +
+

RzAsmPluginDescription

+
+
+struct RzAsmPluginDescription
+
+

Public Members

+
+
+QString name
+
+ +
+
+QString architecture
+
+ +
+
+QString author
+
+ +
+
+QString version
+
+ +
+
+QString cpus
+
+ +
+
+QString description
+
+ +
+
+QString license
+
+ +
+
+ +
+ + +
+
+
+
+ + +
+
+ + + + + + + \ No newline at end of file diff --git a/docs/api/core/structRzBinPluginDescription.html b/docs/api/core/structRzBinPluginDescription.html new file mode 100644 index 000000000..975adf55d --- /dev/null +++ b/docs/api/core/structRzBinPluginDescription.html @@ -0,0 +1,200 @@ + + + + + + + + RzBinPluginDescription — Cutter 2.4.0 documentation + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+ +
+

RzBinPluginDescription

+
+
+struct RzBinPluginDescription
+
+

Public Members

+
+
+QString name
+
+ +
+
+QString description
+
+ +
+
+QString license
+
+ +
+
+QString type
+
+ +
+
+ +
+ + +
+
+
+
+ + +
+
+ + + + + + + \ No newline at end of file diff --git a/docs/api/core/structRzCorePluginDescription.html b/docs/api/core/structRzCorePluginDescription.html new file mode 100644 index 000000000..9ccfefa78 --- /dev/null +++ b/docs/api/core/structRzCorePluginDescription.html @@ -0,0 +1,195 @@ + + + + + + + + RzCorePluginDescription — Cutter 2.4.0 documentation + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+ +
+

RzCorePluginDescription

+
+
+struct RzCorePluginDescription
+
+

Public Members

+
+
+QString name
+
+ +
+
+QString description
+
+ +
+
+QString license
+
+ +
+
+ +
+ + +
+
+
+
+ + +
+
+ + + + + + + \ No newline at end of file diff --git a/docs/api/core/structRzIOPluginDescription.html b/docs/api/core/structRzIOPluginDescription.html new file mode 100644 index 000000000..1eb195ed6 --- /dev/null +++ b/docs/api/core/structRzIOPluginDescription.html @@ -0,0 +1,205 @@ + + + + + + + + RzIOPluginDescription — Cutter 2.4.0 documentation + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+ +
+

RzIOPluginDescription

+
+
+struct RzIOPluginDescription
+
+

Public Members

+
+
+QString name
+
+ +
+
+QString description
+
+ +
+
+QString license
+
+ +
+
+QString permissions
+
+ +
+
+QList<QString> uris
+
+ +
+
+ +
+ + +
+
+
+
+ + +
+
+ + + + + + + \ No newline at end of file diff --git a/docs/api/core/structSearchDescription.html b/docs/api/core/structSearchDescription.html new file mode 100644 index 000000000..7278bf14b --- /dev/null +++ b/docs/api/core/structSearchDescription.html @@ -0,0 +1,200 @@ + + + + + + + + SearchDescription — Cutter 2.4.0 documentation + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+ +
+

SearchDescription

+
+
+struct SearchDescription
+
+

Public Members

+
+
+RVA offset
+
+ +
+
+int size
+
+ +
+
+QString code
+
+ +
+
+QString data
+
+ +
+
+ +
+ + +
+
+
+
+ + +
+
+ + + + + + + \ No newline at end of file diff --git a/docs/api/core/structSectionDescription.html b/docs/api/core/structSectionDescription.html new file mode 100644 index 000000000..a3d1e774a --- /dev/null +++ b/docs/api/core/structSectionDescription.html @@ -0,0 +1,215 @@ + + + + + + + + SectionDescription — Cutter 2.4.0 documentation + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+ +
+

SectionDescription

+
+
+struct SectionDescription
+
+

Public Members

+
+
+RVA vaddr
+
+ +
+
+RVA paddr
+
+ +
+
+RVA size
+
+ +
+
+RVA vsize
+
+ +
+
+QString name
+
+ +
+
+QString perm
+
+ +
+
+QString entropy
+
+ +
+
+ +
+ + +
+
+
+
+ + +
+
+ + + + + + + \ No newline at end of file diff --git a/docs/api/core/structSegmentDescription.html b/docs/api/core/structSegmentDescription.html new file mode 100644 index 000000000..97b8eb85c --- /dev/null +++ b/docs/api/core/structSegmentDescription.html @@ -0,0 +1,210 @@ + + + + + + + + SegmentDescription — Cutter 2.4.0 documentation + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+ +
+

SegmentDescription

+
+
+struct SegmentDescription
+
+

Public Members

+
+
+RVA vaddr
+
+ +
+
+RVA paddr
+
+ +
+
+RVA size
+
+ +
+
+RVA vsize
+
+ +
+
+QString name
+
+ +
+
+QString perm
+
+ +
+
+ +
+ + +
+
+
+
+ + +
+
+ + + + + + + \ No newline at end of file diff --git a/docs/api/core/structStringDescription.html b/docs/api/core/structStringDescription.html new file mode 100644 index 000000000..dde98cda8 --- /dev/null +++ b/docs/api/core/structStringDescription.html @@ -0,0 +1,210 @@ + + + + + + + + StringDescription — Cutter 2.4.0 documentation + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+ +
+

StringDescription

+
+
+struct StringDescription
+
+

Public Members

+
+
+RVA vaddr
+
+ +
+
+QString string
+
+ +
+
+QString type
+
+ +
+
+QString section
+
+ +
+
+ut32 length
+
+ +
+
+ut32 size
+
+ +
+
+ +
+ + +
+
+
+
+ + +
+
+ + + + + + + \ No newline at end of file diff --git a/docs/api/core/structSymbolDescription.html b/docs/api/core/structSymbolDescription.html new file mode 100644 index 000000000..8b8fea317 --- /dev/null +++ b/docs/api/core/structSymbolDescription.html @@ -0,0 +1,200 @@ + + + + + + + + SymbolDescription — Cutter 2.4.0 documentation + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+ +
+

SymbolDescription

+
+
+struct SymbolDescription
+
+

Public Members

+
+
+RVA vaddr
+
+ +
+
+QString bind
+
+ +
+
+QString type
+
+ +
+
+QString name
+
+ +
+
+ +
+ + +
+
+
+
+ + +
+
+ + + + + + + \ No newline at end of file diff --git a/docs/api/core/structTypeDescription.html b/docs/api/core/structTypeDescription.html new file mode 100644 index 000000000..04286fe09 --- /dev/null +++ b/docs/api/core/structTypeDescription.html @@ -0,0 +1,200 @@ + + + + + + + + TypeDescription — Cutter 2.4.0 documentation + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+ +
+

TypeDescription

+
+
+struct TypeDescription
+
+

Public Members

+
+
+QString type
+
+ +
+
+int size
+
+ +
+
+QString format
+
+ +
+
+QString category
+
+ +
+
+ +
+ + +
+
+
+
+ + +
+
+ + + + + + + \ No newline at end of file diff --git a/docs/api/core/structVTableDescription.html b/docs/api/core/structVTableDescription.html new file mode 100644 index 000000000..9435676b1 --- /dev/null +++ b/docs/api/core/structVTableDescription.html @@ -0,0 +1,190 @@ + + + + + + + + VTableDescription — Cutter 2.4.0 documentation + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+ +
+

VTableDescription

+
+
+struct VTableDescription
+
+

Public Members

+
+
+RVA addr
+
+ +
+
+QList<BinClassMethodDescription> methods
+
+ +
+
+ +
+ + +
+
+
+
+ + +
+
+ + + + + + + \ No newline at end of file diff --git a/docs/api/core/structVariableDescription.html b/docs/api/core/structVariableDescription.html new file mode 100644 index 000000000..831a0b8b6 --- /dev/null +++ b/docs/api/core/structVariableDescription.html @@ -0,0 +1,200 @@ + + + + + + + + VariableDescription — Cutter 2.4.0 documentation + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+ +
+

VariableDescription

+
+
+struct VariableDescription
+
+

Public Members

+
+
+RzAnalysisVarStorageType storageType
+
+ +
+
+QString name
+
+ +
+
+QString type
+
+ +
+
+QString value
+
+ +
+
+ +
+ + +
+
+
+
+ + +
+
+ + + + + + + \ No newline at end of file diff --git a/docs/api/core/structXrefDescription.html b/docs/api/core/structXrefDescription.html new file mode 100644 index 000000000..faeeb59fd --- /dev/null +++ b/docs/api/core/structXrefDescription.html @@ -0,0 +1,205 @@ + + + + + + + + XrefDescription — Cutter 2.4.0 documentation + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+ +
+

XrefDescription

+
+
+struct XrefDescription
+
+

Public Members

+
+
+RVA from
+
+ +
+
+QString from_str
+
+ +
+
+RVA to
+
+ +
+
+QString to_str
+
+ +
+
+QString type
+
+ +
+
+ +
+ + +
+
+
+
+ + +
+
+ + + + + + + \ No newline at end of file diff --git a/docs/api/corelist.html b/docs/api/corelist.html new file mode 100644 index 000000000..5b06ae905 --- /dev/null +++ b/docs/api/corelist.html @@ -0,0 +1,1286 @@ + + + + + + + + Core — Cutter 2.4.0 documentation + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+ +
+

Core

+
+ +
+
+ + +
+
+
+
+ + +
+
+ + + + + + + \ No newline at end of file diff --git a/docs/api/dialogs/classAboutDialog.html b/docs/api/dialogs/classAboutDialog.html new file mode 100644 index 000000000..1648e48fa --- /dev/null +++ b/docs/api/dialogs/classAboutDialog.html @@ -0,0 +1,171 @@ + + + + + + + + AboutDialog — Cutter 2.4.0 documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/docs/api/dialogs/classArenaInfoDialog.html b/docs/api/dialogs/classArenaInfoDialog.html new file mode 100644 index 000000000..87b0253cf --- /dev/null +++ b/docs/api/dialogs/classArenaInfoDialog.html @@ -0,0 +1,176 @@ + + + + + + + + ArenaInfoDialog — Cutter 2.4.0 documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/docs/api/dialogs/classAsyncTaskDialog.html b/docs/api/dialogs/classAsyncTaskDialog.html new file mode 100644 index 000000000..c263a1b34 --- /dev/null +++ b/docs/api/dialogs/classAsyncTaskDialog.html @@ -0,0 +1,189 @@ + + + + + + + + AsyncTaskDialog — Cutter 2.4.0 documentation + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+ +
+

AsyncTaskDialog

+
+
+class AsyncTaskDialog : public QDialog
+
+

Public Functions

+
+
+AsyncTaskDialog(AsyncTask::Ptr task, QWidget *parent = nullptr)
+
+ +
+
+~AsyncTaskDialog()
+
+ +
+
+inline void setInterruptOnClose(bool v)
+
+ +
+
+inline bool getInterruptOnClose()
+
+ +
+
+

Public Slots

+
+
+void reject() override
+
+ +
+
+ +
+ + +
+
+
+
+ + +
+
+ + + + + + + \ No newline at end of file diff --git a/docs/api/dialogs/classAttachProcDialog.html b/docs/api/dialogs/classAttachProcDialog.html new file mode 100644 index 000000000..1254193d9 --- /dev/null +++ b/docs/api/dialogs/classAttachProcDialog.html @@ -0,0 +1,176 @@ + + + + + + + + AttachProcDialog — Cutter 2.4.0 documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/docs/api/dialogs/classBase64EnDecodedWriteDialog.html b/docs/api/dialogs/classBase64EnDecodedWriteDialog.html new file mode 100644 index 000000000..e3617c24d --- /dev/null +++ b/docs/api/dialogs/classBase64EnDecodedWriteDialog.html @@ -0,0 +1,195 @@ + + + + + + + + Base64EnDecodedWriteDialog — Cutter 2.4.0 documentation + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+ +
+

Base64EnDecodedWriteDialog

+
+
+class Base64EnDecodedWriteDialog : public QDialog
+
+

Public Types

+
+
+enum Mode
+

Values:

+
+
+enumerator Encode
+
+ +
+
+enumerator Decode
+
+ +
+ +
+
+

Public Functions

+
+
+explicit Base64EnDecodedWriteDialog(QWidget *parent = nullptr)
+
+ +
+
+Mode getMode() const
+
+ +
+
+QByteArray getData() const
+
+ +
+
+ +
+ + +
+
+
+
+ + +
+
+ + + + + + + \ No newline at end of file diff --git a/docs/api/dialogs/classBinsModel.html b/docs/api/dialogs/classBinsModel.html new file mode 100644 index 000000000..1d41dc9e6 --- /dev/null +++ b/docs/api/dialogs/classBinsModel.html @@ -0,0 +1,263 @@ + + + + + + + + BinsModel — Cutter 2.4.0 documentation + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+ +
+

BinsModel

+
+
+class BinsModel : public QAbstractTableModel
+
+

Public Types

+
+
+enum Column
+

Values:

+
+
+enumerator TypeColumn
+
+ +
+
+enumerator BinNumColumn
+
+ +
+
+enumerator FdColumn
+
+ +
+
+enumerator BkColumn
+
+ +
+
+enumerator CountColumn
+
+ +
+
+enumerator SizeColumn
+
+ +
+
+enumerator ColumnCount
+
+ +
+ +
+
+

Public Functions

+
+
+explicit BinsModel(RVA arena_addr, QObject *parent = nullptr)
+
+ +
+
+void reload()
+
+ +
+
+int rowCount(const QModelIndex &parent) const override
+
+ +
+
+int columnCount(const QModelIndex &parent) const override
+
+ +
+
+void clearData()
+
+ +
+
+QVariant data(const QModelIndex &index, int role) const override
+
+ +
+
+QVariant headerData(int section, Qt::Orientation orientation, int role) const override
+
+ +
+
+RzList *getChunks(int index)
+
+ +
+
+QString getBinMessage(int index)
+
+ +
+
+

Public Members

+
+
+RVA arena_addr = 0
+
+ +
+
+QVector<RzHeapBin*> values
+
+ +
+
+ +
+ + +
+
+
+
+ + +
+
+ + + + + + + \ No newline at end of file diff --git a/docs/api/dialogs/classBreakpointsDialog.html b/docs/api/dialogs/classBreakpointsDialog.html new file mode 100644 index 000000000..b7b3927d0 --- /dev/null +++ b/docs/api/dialogs/classBreakpointsDialog.html @@ -0,0 +1,199 @@ + + + + + + + + BreakpointsDialog — Cutter 2.4.0 documentation + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+ +
+

BreakpointsDialog

+
+
+class BreakpointsDialog : public QDialog
+
+

Public Functions

+
+
+explicit BreakpointsDialog(bool editMode = false, QWidget *parent = nullptr)
+
+ +
+
+BreakpointsDialog(const BreakpointDescription &editableBreakpoint, QWidget *parent = nullptr)
+
+ +
+
+BreakpointsDialog(RVA address, QWidget *parent = nullptr)
+
+ +
+
+~BreakpointsDialog()
+
+ +
+
+BreakpointDescription getDescription()
+
+ +
+
+

Public Static Functions

+
+
+static void createNewBreakpoint(RVA address = RVA_INVALID, QWidget *parent = nullptr)
+
+ +
+
+static void editBreakpoint(const BreakpointDescription &breakpoint, QWidget *parent = nullptr)
+
+ +
+
+ +
+ + +
+
+
+
+ + +
+
+ + + + + + + \ No newline at end of file diff --git a/docs/api/dialogs/classCommentsDialog.html b/docs/api/dialogs/classCommentsDialog.html new file mode 100644 index 000000000..50d67c286 --- /dev/null +++ b/docs/api/dialogs/classCommentsDialog.html @@ -0,0 +1,189 @@ + + + + + + + + CommentsDialog — Cutter 2.4.0 documentation + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+ +
+

CommentsDialog

+
+
+class CommentsDialog : public QDialog
+
+

Public Functions

+
+
+explicit CommentsDialog(QWidget *parent = nullptr)
+
+ +
+
+~CommentsDialog()
+
+ +
+
+QString getComment()
+
+ +
+
+void setComment(const QString &comment)
+
+ +
+
+

Public Static Functions

+
+
+static void addOrEditComment(RVA offset, QWidget *parent)
+
+ +
+
+ +
+ + +
+
+
+
+ + +
+
+ + + + + + + \ No newline at end of file diff --git a/docs/api/dialogs/classDuplicateFromOffsetDialog.html b/docs/api/dialogs/classDuplicateFromOffsetDialog.html new file mode 100644 index 000000000..a7d342513 --- /dev/null +++ b/docs/api/dialogs/classDuplicateFromOffsetDialog.html @@ -0,0 +1,176 @@ + + + + + + + + DuplicateFromOffsetDialog — Cutter 2.4.0 documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/docs/api/dialogs/classEditFunctionDialog.html b/docs/api/dialogs/classEditFunctionDialog.html new file mode 100644 index 000000000..bec3e8708 --- /dev/null +++ b/docs/api/dialogs/classEditFunctionDialog.html @@ -0,0 +1,226 @@ + + + + + + + + EditFunctionDialog — Cutter 2.4.0 documentation + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+ +
+

EditFunctionDialog

+
+
+class EditFunctionDialog : public QDialog
+
+

Public Functions

+
+
+explicit EditFunctionDialog(QWidget *parent = nullptr)
+
+ +
+
+~EditFunctionDialog()
+
+ +
+
+QString getNameText()
+
+ +
+
+void setNameText(const QString &name)
+
+ +
+
+QString getStartAddrText()
+
+ +
+
+void setStartAddrText(const QString &startAddr)
+
+ +
+
+QString getEndAddrText()
+
+ +
+
+void setEndAddrText(const QString &endAddr)
+
+ +
+
+QString getStackSizeText()
+
+ +
+
+void setStackSizeText(const QString &stackSize)
+
+ +
+
+void setCallConList(const QStringList &callConList)
+
+ +
+
+void setCallConSelected(const QString &selected)
+
+ +
+
+QString getCallConSelected()
+
+ +
+
+ +
+ + +
+
+
+
+ + +
+
+ + + + + + + \ No newline at end of file diff --git a/docs/api/dialogs/classEditInstructionDialog.html b/docs/api/dialogs/classEditInstructionDialog.html new file mode 100644 index 000000000..a58819e9a --- /dev/null +++ b/docs/api/dialogs/classEditInstructionDialog.html @@ -0,0 +1,186 @@ + + + + + + + + EditInstructionDialog — Cutter 2.4.0 documentation + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+ +
+

EditInstructionDialog

+
+
+class EditInstructionDialog : public QDialog
+
+

Public Functions

+
+
+explicit EditInstructionDialog(InstructionEditMode isEditingBytes, QWidget *parent = nullptr)
+
+ +
+
+~EditInstructionDialog()
+
+ +
+
+QString getInstruction() const
+
+ +
+
+void setInstruction(const QString &instruction)
+
+ +
+
+bool needsNops() const
+
+ +
+
+ +
+ + +
+
+
+
+ + +
+
+ + + + + + + \ No newline at end of file diff --git a/docs/api/dialogs/classEditMethodDialog.html b/docs/api/dialogs/classEditMethodDialog.html new file mode 100644 index 000000000..d1bda329f --- /dev/null +++ b/docs/api/dialogs/classEditMethodDialog.html @@ -0,0 +1,230 @@ + + + + + + + + EditMethodDialog — Cutter 2.4.0 documentation + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+ +
+

EditMethodDialog

+
+
+class EditMethodDialog : public QDialog
+
+

Public Functions

+
+
+explicit EditMethodDialog(bool classFixed, QWidget *parent = nullptr)
+
+
Parameters:
+

classFixed – whether the user should be able to change the class. If false, a QComboBox will be shown, otherwise a plain QLabel.

+
+
+
+ +
+
+~EditMethodDialog()
+
+ +
+
+void setClass(const QString &className)
+
+ +
+
+void setMethod(const AnalysisMethodDescription &desc)
+
+ +
+
+QString getClass() const
+
+ +
+
+AnalysisMethodDescription getMethod() const
+
+ +
+
+

Public Static Functions

+
+
+static bool showDialog(const QString &title, bool classFixed, QString *className, AnalysisMethodDescription *desc, QWidget *parent = nullptr)
+

Helper function to display the dialog.

+
+
Parameters:
+
    +
  • title – title of the dialog

  • +
  • classFixed – whether the user should be able to change the class

  • +
  • className – initial class name, will be overwritten if the user changed the class

  • +
  • desc – initial data for the method information

  • +
+
+
Returns:
+

whether the dialog was accepted by the user

+
+
+
+ +
+
+static void newMethod(QString className = nullptr, const QString &meth = QString(), QWidget *parent = nullptr)
+

Show the dialog to add a new method a given class.

+
+ +
+
+static void editMethod(const QString &className, const QString &meth, QWidget *parent = nullptr)
+

Show the dialog to edit a given method of a given class.

+
+ +
+
+ +
+ + +
+
+
+
+ + +
+
+ + + + + + + \ No newline at end of file diff --git a/docs/api/dialogs/classEditStringDialog.html b/docs/api/dialogs/classEditStringDialog.html new file mode 100644 index 000000000..d8b2401d4 --- /dev/null +++ b/docs/api/dialogs/classEditStringDialog.html @@ -0,0 +1,253 @@ + + + + + + + + EditStringDialog — Cutter 2.4.0 documentation + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+ +
+

EditStringDialog

+
+
+class EditStringDialog : public QDialog
+
+

Public Types

+
+
+enum class StringType
+

Values:

+
+
+enumerator Auto
+
+ +
+
+enumerator ASCII_LATIN1
+
+ +
+
+enumerator UTF8
+
+ +
+ +
+
+

Public Functions

+
+
+explicit EditStringDialog(QWidget *parent = nullptr)
+
+ +
+
+~EditStringDialog()
+
+ +
+
+void setStringStartAddress(uint64_t address)
+

Sets the address of the first byte of potential string in the dialog.

+
+
Parameters:
+

address – The address of the bytearray where string is located

+
+
+
+ +
+
+bool getStringStartAddress(uint64_t &returnValue) const
+

Returns the address of the first byte of potential string in the dialog.

+
+
Parameters:
+

returnValue[out] The address of the bytearray where string is located

+
+
Returns:
+

whether the call successful or not

+
+
+
+ +
+
+void setStringSizeValue(uint32_t size)
+

Sets the size of string in the dialog.

+
+
Parameters:
+

size – The size of string in the dialog

+
+
+
+ +
+
+int getStringSizeValue() const
+

Returns the size of string in the dialog.

+
+
Returns:
+

-1 on error otherwise the size of string from the dialog

+
+
+
+ +
+
+StringType getStringType() const
+

Returns the type of string from the dialog.

+
+
Returns:
+

The type of string from the dialog

+
+
+
+ +
+
+ +
+ + +
+
+
+
+ + +
+
+ + + + + + + \ No newline at end of file diff --git a/docs/api/dialogs/classEditVariablesDialog.html b/docs/api/dialogs/classEditVariablesDialog.html new file mode 100644 index 000000000..c0465adaa --- /dev/null +++ b/docs/api/dialogs/classEditVariablesDialog.html @@ -0,0 +1,176 @@ + + + + + + + + EditVariablesDialog — Cutter 2.4.0 documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/docs/api/dialogs/classFlagDialog.html b/docs/api/dialogs/classFlagDialog.html new file mode 100644 index 000000000..552f487ee --- /dev/null +++ b/docs/api/dialogs/classFlagDialog.html @@ -0,0 +1,171 @@ + + + + + + + + FlagDialog — Cutter 2.4.0 documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/docs/api/dialogs/classGlibcHeapBinsDialog.html b/docs/api/dialogs/classGlibcHeapBinsDialog.html new file mode 100644 index 000000000..3528e2406 --- /dev/null +++ b/docs/api/dialogs/classGlibcHeapBinsDialog.html @@ -0,0 +1,186 @@ + + + + + + + + GlibcHeapBinsDialog — Cutter 2.4.0 documentation + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+ +
+

GlibcHeapBinsDialog

+
+
+class GlibcHeapBinsDialog : public QDialog
+
+

Public Functions

+
+
+explicit GlibcHeapBinsDialog(RVA i, MainWindow *main, QWidget *parent)
+
+ +
+
+~GlibcHeapBinsDialog()
+
+ +
+
+void onCurrentChanged(const QModelIndex &current, const QModelIndex &prev)
+
+ +
+
+void setChainInfo(int index)
+
+ +
+
+void setGraphView(int index)
+
+ +
+
+ +
+ + +
+
+
+
+ + +
+
+ + + + + + + \ No newline at end of file diff --git a/docs/api/dialogs/classGlibcHeapInfoDialog.html b/docs/api/dialogs/classGlibcHeapInfoDialog.html new file mode 100644 index 000000000..c6ddf8f4f --- /dev/null +++ b/docs/api/dialogs/classGlibcHeapInfoDialog.html @@ -0,0 +1,171 @@ + + + + + + + + GlibcHeapInfoDialog — Cutter 2.4.0 documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/docs/api/dialogs/classGlobalVariableDialog.html b/docs/api/dialogs/classGlobalVariableDialog.html new file mode 100644 index 000000000..d85a519aa --- /dev/null +++ b/docs/api/dialogs/classGlobalVariableDialog.html @@ -0,0 +1,171 @@ + + + + + + + + GlobalVariableDialog — Cutter 2.4.0 documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/docs/api/dialogs/classHexdumpRangeDialog.html b/docs/api/dialogs/classHexdumpRangeDialog.html new file mode 100644 index 000000000..3ca698e19 --- /dev/null +++ b/docs/api/dialogs/classHexdumpRangeDialog.html @@ -0,0 +1,204 @@ + + + + + + + + HexdumpRangeDialog — Cutter 2.4.0 documentation + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+ +
+

HexdumpRangeDialog

+
+
+class HexdumpRangeDialog : public QDialog
+
+

Public Functions

+
+
+explicit HexdumpRangeDialog(QWidget *parent = nullptr, bool allowEmpty = false)
+
+ +
+
+~HexdumpRangeDialog()
+
+ +
+
+bool empty()
+
+ +
+
+ut64 getStartAddress() const
+
+ +
+
+ut64 getEndAddress() const
+
+ +
+
+void setStartAddress(ut64 start)
+
+ +
+
+void open(ut64 start)
+
+ +
+
+

Public Slots

+
+
+void textEdited()
+
+ +
+
+ +
+ + +
+
+
+
+ + +
+
+ + + + + + + \ No newline at end of file diff --git a/docs/api/dialogs/classIncrementDecrementDialog.html b/docs/api/dialogs/classIncrementDecrementDialog.html new file mode 100644 index 000000000..0335ac992 --- /dev/null +++ b/docs/api/dialogs/classIncrementDecrementDialog.html @@ -0,0 +1,200 @@ + + + + + + + + IncrementDecrementDialog — Cutter 2.4.0 documentation + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+ +
+

IncrementDecrementDialog

+
+
+class IncrementDecrementDialog : public QDialog
+
+

Public Types

+
+
+enum Mode
+

Values:

+
+
+enumerator Increase
+
+ +
+
+enumerator Decrease
+
+ +
+ +
+
+

Public Functions

+
+
+explicit IncrementDecrementDialog(QWidget *parent = nullptr)
+
+ +
+
+Mode getMode() const
+
+ +
+
+uint8_t getNBytes() const
+
+ +
+
+uint64_t getValue() const
+
+ +
+
+ +
+ + +
+
+
+
+ + +
+
+ + + + + + + \ No newline at end of file diff --git a/docs/api/dialogs/classInitialOptionsDialog.html b/docs/api/dialogs/classInitialOptionsDialog.html new file mode 100644 index 000000000..b87fa6b82 --- /dev/null +++ b/docs/api/dialogs/classInitialOptionsDialog.html @@ -0,0 +1,186 @@ + + + + + + + + InitialOptionsDialog — Cutter 2.4.0 documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/docs/api/dialogs/classLayoutManager.html b/docs/api/dialogs/classLayoutManager.html new file mode 100644 index 000000000..a31f6c558 --- /dev/null +++ b/docs/api/dialogs/classLayoutManager.html @@ -0,0 +1,171 @@ + + + + + + + + LayoutManager — Cutter 2.4.0 documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/docs/api/dialogs/classMapFileDialog.html b/docs/api/dialogs/classMapFileDialog.html new file mode 100644 index 000000000..1987360da --- /dev/null +++ b/docs/api/dialogs/classMapFileDialog.html @@ -0,0 +1,171 @@ + + + + + + + + MapFileDialog — Cutter 2.4.0 documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/docs/api/dialogs/classMultitypeFileSaveDialog.html b/docs/api/dialogs/classMultitypeFileSaveDialog.html new file mode 100644 index 000000000..0d8377b0b --- /dev/null +++ b/docs/api/dialogs/classMultitypeFileSaveDialog.html @@ -0,0 +1,199 @@ + + + + + + + + MultitypeFileSaveDialog — Cutter 2.4.0 documentation + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+ +
+

MultitypeFileSaveDialog

+
+
+class MultitypeFileSaveDialog : public QFileDialog
+
+

Public Functions

+
+
+explicit MultitypeFileSaveDialog(QWidget *parent = nullptr, const QString &caption = QString(), const QString &directory = QString())
+
+ +
+
+void setTypes(const QVector<TypeDescription> types, bool useDetection = true)
+
+ +
+
+TypeDescription selectedType() const
+
+ +
+
+
+struct TypeDescription
+
+

Public Members

+
+
+QString description
+
+ +
+
+QString extension
+
+ +
+
+QVariant data
+
+ +
+
+ +
+ +
+ + +
+
+
+
+ + +
+
+ + + + + + + \ No newline at end of file diff --git a/docs/api/dialogs/classNativeDebugDialog.html b/docs/api/dialogs/classNativeDebugDialog.html new file mode 100644 index 000000000..697dce22e --- /dev/null +++ b/docs/api/dialogs/classNativeDebugDialog.html @@ -0,0 +1,182 @@ + + + + + + + + NativeDebugDialog — Cutter 2.4.0 documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/docs/api/dialogs/classNewFileDialog.html b/docs/api/dialogs/classNewFileDialog.html new file mode 100644 index 000000000..f6ce29459 --- /dev/null +++ b/docs/api/dialogs/classNewFileDialog.html @@ -0,0 +1,171 @@ + + + + + + + + NewFileDialog — Cutter 2.4.0 documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/docs/api/dialogs/classProcessBeingAnalysedProxyModel.html b/docs/api/dialogs/classProcessBeingAnalysedProxyModel.html new file mode 100644 index 000000000..ef7a6c4f3 --- /dev/null +++ b/docs/api/dialogs/classProcessBeingAnalysedProxyModel.html @@ -0,0 +1,166 @@ + + + + + + + + ProcessBeingAnalysedProxyModel — Cutter 2.4.0 documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/docs/api/dialogs/classProcessModel.html b/docs/api/dialogs/classProcessModel.html new file mode 100644 index 000000000..66826d7f1 --- /dev/null +++ b/docs/api/dialogs/classProcessModel.html @@ -0,0 +1,247 @@ + + + + + + + + ProcessModel — Cutter 2.4.0 documentation + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+ +
+

ProcessModel

+
+
+class ProcessModel : public QAbstractListModel
+
+

Public Types

+
+
+enum Column
+

Values:

+
+
+enumerator PidColumn
+
+ +
+
+enumerator UidColumn
+
+ +
+
+enumerator StatusColumn
+
+ +
+
+enumerator PathColumn
+
+ +
+
+enumerator ColumnCount
+
+ +
+ +
+
+enum Role
+

Values:

+
+
+enumerator ProcDescriptionRole
+
+ +
+ +
+
+

Public Functions

+
+
+ProcessModel(QObject *parent = 0)
+
+ +
+
+int rowCount(const QModelIndex &parent = QModelIndex()) const
+
+ +
+
+int columnCount(const QModelIndex &parent = QModelIndex()) const
+
+ +
+
+QVariant data(const QModelIndex &index, int role) const
+
+ +
+
+QVariant headerData(int section, Qt::Orientation orientation, int role = Qt::DisplayRole) const
+
+ +
+
+

Public Slots

+
+
+void updateData()
+
+ +
+
+

Public Static Functions

+
+
+static bool lessThan(const ProcessDescription &left, const ProcessDescription &right, int column)
+
+ +
+
+ +
+ + +
+
+
+
+ + +
+
+ + + + + + + \ No newline at end of file diff --git a/docs/api/dialogs/classProcessProxyModel.html b/docs/api/dialogs/classProcessProxyModel.html new file mode 100644 index 000000000..e54874567 --- /dev/null +++ b/docs/api/dialogs/classProcessProxyModel.html @@ -0,0 +1,166 @@ + + + + + + + + ProcessProxyModel — Cutter 2.4.0 documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/docs/api/dialogs/classRemoteDebugDialog.html b/docs/api/dialogs/classRemoteDebugDialog.html new file mode 100644 index 000000000..0ab4aecf4 --- /dev/null +++ b/docs/api/dialogs/classRemoteDebugDialog.html @@ -0,0 +1,183 @@ + + + + + + + + RemoteDebugDialog — Cutter 2.4.0 documentation + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+ +
+

RemoteDebugDialog

+
+
+class RemoteDebugDialog : public QDialog
+

Dialog for connecting to remote debuggers.

+
+

Public Functions

+
+
+explicit RemoteDebugDialog(QWidget *parent = nullptr)
+
+ +
+
+~RemoteDebugDialog()
+
+ +
+
+QString getUri() const
+

Generate a URI for given UI input.

+
+ +
+
+bool validate()
+
+ +
+
+ +
+ + +
+
+
+
+ + +
+
+ + + + + + + \ No newline at end of file diff --git a/docs/api/dialogs/classRizinPluginsDialog.html b/docs/api/dialogs/classRizinPluginsDialog.html new file mode 100644 index 000000000..216ac6e62 --- /dev/null +++ b/docs/api/dialogs/classRizinPluginsDialog.html @@ -0,0 +1,171 @@ + + + + + + + + RizinPluginsDialog — Cutter 2.4.0 documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/docs/api/dialogs/classRizinTaskDialog.html b/docs/api/dialogs/classRizinTaskDialog.html new file mode 100644 index 000000000..e6208fccb --- /dev/null +++ b/docs/api/dialogs/classRizinTaskDialog.html @@ -0,0 +1,202 @@ + + + + + + + + RizinTaskDialog — Cutter 2.4.0 documentation + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+ +
+

RizinTaskDialog

+
+
+class RizinTaskDialog : public QDialog
+
+

Public Types

+
+
+using Ptr = QSharedPointer<RizinTask>
+
+ +
+
+

Public Functions

+
+
+RizinTaskDialog(Ptr task, QWidget *parent = nullptr)
+
+ +
+
+~RizinTaskDialog()
+
+ +
+
+inline void setBreakOnClose(bool v)
+
+ +
+
+inline bool getBreakOnClose()
+
+ +
+
+void setDesc(const QString &label)
+
+ +
+
+

Public Slots

+
+
+void reject() override
+
+ +
+
+ +
+ + +
+
+
+
+ + +
+
+ + + + + + + \ No newline at end of file diff --git a/docs/api/dialogs/classSetToDataDialog.html b/docs/api/dialogs/classSetToDataDialog.html new file mode 100644 index 000000000..2bad17db5 --- /dev/null +++ b/docs/api/dialogs/classSetToDataDialog.html @@ -0,0 +1,181 @@ + + + + + + + + SetToDataDialog — Cutter 2.4.0 documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/docs/api/dialogs/classTypesInteractionDialog.html b/docs/api/dialogs/classTypesInteractionDialog.html new file mode 100644 index 000000000..78923c7f9 --- /dev/null +++ b/docs/api/dialogs/classTypesInteractionDialog.html @@ -0,0 +1,205 @@ + + + + + + + + TypesInteractionDialog — Cutter 2.4.0 documentation + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+ +
+

TypesInteractionDialog

+
+
+class TypesInteractionDialog : public QDialog
+
+

Public Functions

+
+
+explicit TypesInteractionDialog(QWidget *parent = nullptr, bool readOnly = false)
+
+ +
+
+~TypesInteractionDialog()
+
+ +
+
+void fillTextArea(QString content)
+

Fill the Dialog’s TextEdit object with the content passed to the function. The content will most likely be a C representation of a Type.

+
+
Parameters:
+
    +
  • content – - The content which should be in the TextEdit object. most likely will be a C representation of a Type.

  • +
  • readonly – - Will be set as “true” for viewing mode

  • +
+
+
+
+ +
+
+void setTypeName(QString name)
+

Set the name of the type that is going to be changed.

+
+
Parameters:
+

name – - name of the type

+
+
+
+ +
+
+

Signals

+
+
+void newTypesLoaded()
+

Emitted when new types are loaded.

+
+ +
+
+ +
+ + +
+
+
+
+ + +
+
+ + + + + + + \ No newline at end of file diff --git a/docs/api/dialogs/classVersionInfoDialog.html b/docs/api/dialogs/classVersionInfoDialog.html new file mode 100644 index 000000000..ef49d71c1 --- /dev/null +++ b/docs/api/dialogs/classVersionInfoDialog.html @@ -0,0 +1,171 @@ + + + + + + + + VersionInfoDialog — Cutter 2.4.0 documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/docs/api/dialogs/classWelcomeDialog.html b/docs/api/dialogs/classWelcomeDialog.html new file mode 100644 index 000000000..5d2756c7a --- /dev/null +++ b/docs/api/dialogs/classWelcomeDialog.html @@ -0,0 +1,180 @@ + + + + + + + + WelcomeDialog — Cutter 2.4.0 documentation + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+ +
+

WelcomeDialog

+
+
+class WelcomeDialog : public QDialog
+

The WelcomeDialog class will show the user the Welcome windows upon first execution of Cutter.

+

Upon first execution of Cutter, the WelcomeDialog would be showed to the user. The Welcome dialog would be showed after a reset of Cutter’s preferences by the user.

+
+

Public Functions

+
+
+explicit WelcomeDialog(QWidget *parent = 0)
+

Constructs a WelcomeDialog object.

+
+
Parameters:
+

parent

+
+
+
+ +
+
+~WelcomeDialog()
+

Destroys the WelcomeDialog.

+
+ +
+
+ +
+ + +
+
+
+
+ + +
+
+ + + + + + + \ No newline at end of file diff --git a/docs/api/dialogs/classXrefModel.html b/docs/api/dialogs/classXrefModel.html new file mode 100644 index 000000000..e99f6ec25 --- /dev/null +++ b/docs/api/dialogs/classXrefModel.html @@ -0,0 +1,251 @@ + + + + + + + + XrefModel — Cutter 2.4.0 documentation + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+ +
+

XrefModel

+
+
+class XrefModel : public AddressableItemModel<QAbstractListModel>
+
+

Public Types

+
+
+enum Columns
+

Values:

+
+
+enumerator OFFSET
+
+ +
+
+enumerator TYPE
+
+ +
+
+enumerator CODE
+
+ +
+
+enumerator COMMENT
+
+ +
+
+enumerator COUNT
+
+ +
+ +
+
+

Public Functions

+
+
+XrefModel(QObject *parent = nullptr)
+
+ +
+
+void readForOffset(RVA offset, bool to, bool whole_function)
+
+ +
+
+void readForVariable(QString nameOfVariable, bool write, RVA offset)
+
+ +
+
+int rowCount(const QModelIndex &parent = QModelIndex()) const override
+
+ +
+
+int columnCount(const QModelIndex &parent = QModelIndex()) const override
+
+ +
+
+QVariant data(const QModelIndex &index, int role) const override
+
+ +
+
+QVariant headerData(int section, Qt::Orientation orientation, int role = Qt::DisplayRole) const override
+
+ +
+
+virtual RVA address(const QModelIndex &index) const override
+
+ +
+
+

Public Static Functions

+
+
+static QString xrefTypeString(const QString &type)
+
+ +
+
+

Public Static Attributes

+
+
+static const int FlagDescriptionRole = Qt::UserRole
+
+ +
+
+ +
+ + +
+
+
+
+ + +
+
+ + + + + + + \ No newline at end of file diff --git a/docs/api/dialogs/classXrefsDialog.html b/docs/api/dialogs/classXrefsDialog.html new file mode 100644 index 000000000..94d20f4b0 --- /dev/null +++ b/docs/api/dialogs/classXrefsDialog.html @@ -0,0 +1,190 @@ + + + + + + + + XrefsDialog — Cutter 2.4.0 documentation + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+ +
+

XrefsDialog

+
+
+class XrefsDialog : public QDialog
+
+

Public Functions

+
+
+explicit XrefsDialog(MainWindow *parent, bool hideXrefFrom = false)
+
+ +
+
+~XrefsDialog()
+
+ +
+
+void fillRefsForAddress(RVA addr, QString name, bool whole_function)
+
+ +
+
+void fillRefsForVariable(QString nameOfVariable, RVA offset)
+

Initializes toModel and fromModel with the details about the references to the specified local variable ‘nameOfVariable’.

+
+
Parameters:
+
    +
  • nameOfVarible – Name of the local variable for which the references are being initialized.

  • +
  • offset – An offset in the function in which the specified local variable exist.

  • +
+
+
+
+ +
+
+ +
+ + +
+
+
+
+ + +
+
+ + + + + + + \ No newline at end of file diff --git a/docs/api/dialogs/structDbgBackend.html b/docs/api/dialogs/structDbgBackend.html new file mode 100644 index 000000000..60a42fa45 --- /dev/null +++ b/docs/api/dialogs/structDbgBackend.html @@ -0,0 +1,176 @@ + + + + + + + + DbgBackend — Cutter 2.4.0 documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/docs/api/dialogs/structInitialOptionsDialog_1_1AnalysisCommands.html b/docs/api/dialogs/structInitialOptionsDialog_1_1AnalysisCommands.html new file mode 100644 index 000000000..01945b58c --- /dev/null +++ b/docs/api/dialogs/structInitialOptionsDialog_1_1AnalysisCommands.html @@ -0,0 +1,176 @@ + + + + + + + + InitialOptionsDialog::AnalysisCommands — Cutter 2.4.0 documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/docs/api/dialogs/structMultitypeFileSaveDialog_1_1TypeDescription.html b/docs/api/dialogs/structMultitypeFileSaveDialog_1_1TypeDescription.html new file mode 100644 index 000000000..b8fac8249 --- /dev/null +++ b/docs/api/dialogs/structMultitypeFileSaveDialog_1_1TypeDescription.html @@ -0,0 +1,176 @@ + + + + + + + + MultitypeFileSaveDialog::TypeDescription — Cutter 2.4.0 documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/docs/api/dialogslist.html b/docs/api/dialogslist.html new file mode 100644 index 000000000..903e3d722 --- /dev/null +++ b/docs/api/dialogslist.html @@ -0,0 +1,632 @@ + + + + + + + + Dialogs — Cutter 2.4.0 documentation + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+ +
+

Dialogs

+
+ +
+
+ + +
+
+
+
+ + +
+
+ + + + + + + \ No newline at end of file diff --git a/docs/api/menus/classAddressableItemContextMenu.html b/docs/api/menus/classAddressableItemContextMenu.html new file mode 100644 index 000000000..019b2ba1c --- /dev/null +++ b/docs/api/menus/classAddressableItemContextMenu.html @@ -0,0 +1,173 @@ + + + + + + + + AddressableItemContextMenu — Cutter 2.4.0 documentation + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+ +
+

AddressableItemContextMenu

+
+
+class AddressableItemContextMenu : public QMenu
+
+

Public Functions

+
+
+AddressableItemContextMenu(QWidget *parent, MainWindow *mainWindow)
+
+ +
+
+~AddressableItemContextMenu()
+
+ +
+
+void setWholeFunction(bool wholeFunciton)
+

Configure if addressable item refers to whole function or specific address.

+
+
Parameters:
+

wholeFunciton

+
+
+
+ +
+
+

Public Slots

+
+
+void setOffset(RVA offset)
+
+ +
+
+void setTarget(RVA offset, QString name = QString())
+
+ +
+
+void clearTarget()
+
+ +
+
+

Signals

+
+
+void xrefsTriggered()
+
+ +
+
+ +
+ + +
+
+
+
+ + +
+
+ + + + + + + \ No newline at end of file diff --git a/docs/api/menus/classDecompilerContextMenu.html b/docs/api/menus/classDecompilerContextMenu.html new file mode 100644 index 000000000..dd21ac8cc --- /dev/null +++ b/docs/api/menus/classDecompilerContextMenu.html @@ -0,0 +1,187 @@ + + + + + + + + DecompilerContextMenu — Cutter 2.4.0 documentation + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+ +
+

DecompilerContextMenu

+
+
+class DecompilerContextMenu : public QMenu
+
+

Public Functions

+
+
+DecompilerContextMenu(QWidget *parent, MainWindow *mainWindow)
+
+ +
+
+~DecompilerContextMenu()
+
+ +
+
+bool getIsTogglingBreakpoints()
+
+ +
+
+void setAnnotationHere(RzCodeAnnotation *annotation)
+
+ +
+
+RVA getFirstOffsetInLine()
+
+ +
+
+

Public Slots

+
+
+void setCurHighlightedWord(QString word)
+
+ +
+
+void setOffset(RVA newOffset)
+
+ +
+
+void setDecompiledFunctionAddress(RVA functionAddr)
+
+ +
+
+void setFirstOffsetInLine(RVA firstOffset)
+
+ +
+
+void setAvailableBreakpoints(QVector<RVA> offsetList)
+
+ +
+
+

Signals

+
+
+void copy()
+
+ +
+
+ +
+ + +
+
+
+
+ + +
+
+ + + + + + + \ No newline at end of file diff --git a/docs/api/menus/classDisassemblyContextMenu.html b/docs/api/menus/classDisassemblyContextMenu.html new file mode 100644 index 000000000..49f5e4a63 --- /dev/null +++ b/docs/api/menus/classDisassemblyContextMenu.html @@ -0,0 +1,168 @@ + + + + + + + + DisassemblyContextMenu — Cutter 2.4.0 documentation + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+ +
+

DisassemblyContextMenu

+
+
+class DisassemblyContextMenu : public QMenu
+
+

Public Functions

+
+
+DisassemblyContextMenu(QWidget *parent, MainWindow *mainWindow)
+
+ +
+
+~DisassemblyContextMenu()
+
+ +
+
+

Public Slots

+
+
+void setOffset(RVA offset)
+
+ +
+
+void setCanCopy(bool enabled)
+
+ +
+
+void setCurHighlightedWord(const QString &text)
+

Sets the value of curHighlightedWord.

+
+
Parameters:
+

text – The current highlighted word

+
+
+
+ +
+
+

Signals

+
+
+void copy()
+
+ +
+
+ +
+ + +
+
+
+
+ + +
+
+ + + + + + + \ No newline at end of file diff --git a/docs/api/menus/classFlirtContextMenu.html b/docs/api/menus/classFlirtContextMenu.html new file mode 100644 index 000000000..9cda7bc20 --- /dev/null +++ b/docs/api/menus/classFlirtContextMenu.html @@ -0,0 +1,149 @@ + + + + + + + + FlirtContextMenu — Cutter 2.4.0 documentation + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+ +
+

FlirtContextMenu

+
+
+class FlirtContextMenu : public QMenu
+
+

Public Functions

+
+
+FlirtContextMenu(QWidget *parent, MainWindow *mainWindow)
+
+ +
+
+~FlirtContextMenu()
+
+ +
+
+

Public Slots

+
+
+void setTarget(const FlirtDescription &flirt)
+
+ +
+
+void clearTarget()
+
+ +
+
+ +
+ + +
+
+
+
+ + +
+
+ + + + + + + \ No newline at end of file diff --git a/docs/api/menus/structDisassemblyContextMenu_1_1DoRenameInfo.html b/docs/api/menus/structDisassemblyContextMenu_1_1DoRenameInfo.html new file mode 100644 index 000000000..cab44e179 --- /dev/null +++ b/docs/api/menus/structDisassemblyContextMenu_1_1DoRenameInfo.html @@ -0,0 +1,136 @@ + + + + + + + + DisassemblyContextMenu::DoRenameInfo — Cutter 2.4.0 documentation + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+ +
+

DisassemblyContextMenu::DoRenameInfo

+
+
+struct DoRenameInfo
+
+

Public Members

+
+
+ut64 addr
+
+ +
+
+QString name
+
+ +
+
+ +
+ + +
+
+
+
+ + +
+
+ + + + + + + \ No newline at end of file diff --git a/docs/api/menus/structDisassemblyContextMenu_1_1ThingUsedHere.html b/docs/api/menus/structDisassemblyContextMenu_1_1ThingUsedHere.html new file mode 100644 index 000000000..45bc61e97 --- /dev/null +++ b/docs/api/menus/structDisassemblyContextMenu_1_1ThingUsedHere.html @@ -0,0 +1,170 @@ + + + + + + + + DisassemblyContextMenu::ThingUsedHere — Cutter 2.4.0 documentation + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+ +
+

DisassemblyContextMenu::ThingUsedHere

+
+
+struct ThingUsedHere
+
+

Public Types

+
+
+enum class Type
+

Values:

+
+
+enumerator Var
+
+ +
+
+enumerator Function
+
+ +
+
+enumerator Flag
+
+ +
+
+enumerator Address
+
+ +
+ +
+
+

Public Members

+
+
+QString name
+
+ +
+
+RVA offset
+
+ +
+
+Type type
+
+ +
+
+ +
+ + +
+
+
+
+ + +
+
+ + + + + + + \ No newline at end of file diff --git a/docs/api/menuslist.html b/docs/api/menuslist.html new file mode 100644 index 000000000..6ca2806cf --- /dev/null +++ b/docs/api/menuslist.html @@ -0,0 +1,197 @@ + + + + + + + + Menus — Cutter 2.4.0 documentation + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+ + + + +
+
+
+
+ + +
+
+ + + + + + + \ No newline at end of file diff --git a/docs/api/plugins/classCutterPlugin.html b/docs/api/plugins/classCutterPlugin.html new file mode 100644 index 000000000..b08a76541 --- /dev/null +++ b/docs/api/plugins/classCutterPlugin.html @@ -0,0 +1,182 @@ + + + + + + + + CutterPlugin — Cutter 2.4.0 documentation + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+ +
+

CutterPlugin

+
+
+class CutterPlugin
+
+

Public Functions

+
+
+virtual ~CutterPlugin() = default
+
+ +
+
+virtual void setupPlugin() = 0
+

Initialize the Plugin.

+

called right when the plugin is loaded initially

+
+ +
+
+virtual void setupInterface(MainWindow *main) = 0
+

Setup any UI components for the Plugin.

+

+called after Cutter’s core UI has been initialized

+
+
Parameters:
+

main – the MainWindow to add any UI to

+
+
+
+ +
+
+inline virtual void registerDecompilers()
+

Register any decompiler implemented by the Plugin.

+

called during initialization of Cutter, after setupPlugin()

+
+ +
+
+inline virtual void terminate()
+

Shutdown the Plugin.

+

called just before the Plugin is deleted. This method is usually only relevant for Python Plugins where there is no direct equivalent of the destructor.

+
+ +
+
+virtual QString getName() const = 0
+
+ +
+
+virtual QString getAuthor() const = 0
+
+ +
+
+virtual QString getDescription() const = 0
+
+ +
+
+virtual QString getVersion() const = 0
+
+ +
+
+ +
+ + +
+
+
+
+ + +
+
+ + + + + + + \ No newline at end of file diff --git a/docs/api/plugins/classPluginManager.html b/docs/api/plugins/classPluginManager.html new file mode 100644 index 000000000..906f133cd --- /dev/null +++ b/docs/api/plugins/classPluginManager.html @@ -0,0 +1,194 @@ + + + + + + + + PluginManager — Cutter 2.4.0 documentation + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+ +
+

PluginManager

+
+
+class PluginManager : public QObject
+
+

Public Types

+
+
+using PluginPtr = std::unique_ptr<CutterPlugin, PluginTerminator>
+
+ +
+
+

Public Functions

+
+
+PluginManager()
+
+ +
+
+~PluginManager()
+
+ +
+
+void loadPlugins(bool enablePlugins = true)
+

Load all plugins, should be called once on application start.

+
+
Parameters:
+

enablePlugins – set to false if plugin code shouldn’t be started

+
+
+
+ +
+
+void destroyPlugins()
+

Destroy all loaded plugins, should be called once on application shutdown.

+
+ +
+
+inline const std::vector<PluginPtr> &getPlugins()
+
+ +
+
+QVector<QDir> getPluginDirectories() const
+
+ +
+
+QString getUserPluginsDirectory() const
+
+ +
+
+

Public Static Functions

+
+
+static PluginManager *getInstance()
+
+ +
+
+
+class PluginTerminator
+
+

Public Functions

+
+
+void operator()(CutterPlugin*) const
+
+ +
+
+ +
+ +
+ + +
+
+
+
+ + +
+
+ + + + + + + \ No newline at end of file diff --git a/docs/api/plugins/classPluginManager_1_1PluginTerminator.html b/docs/api/plugins/classPluginManager_1_1PluginTerminator.html new file mode 100644 index 000000000..8ea42a2a1 --- /dev/null +++ b/docs/api/plugins/classPluginManager_1_1PluginTerminator.html @@ -0,0 +1,128 @@ + + + + + + + + PluginManager::PluginTerminator — Cutter 2.4.0 documentation + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+ +
+

PluginManager::PluginTerminator

+
+
+class PluginTerminator
+
+

Public Functions

+
+
+void operator()(CutterPlugin*) const
+
+ +
+
+ +
+ + +
+
+
+
+ + +
+
+ + + + + + + \ No newline at end of file diff --git a/docs/api/pluginslist.html b/docs/api/pluginslist.html new file mode 100644 index 000000000..dabe7980f --- /dev/null +++ b/docs/api/pluginslist.html @@ -0,0 +1,159 @@ + + + + + + + + Plugins — Cutter 2.4.0 documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/docs/api/src/classCutterApplication.html b/docs/api/src/classCutterApplication.html new file mode 100644 index 000000000..85fca76cd --- /dev/null +++ b/docs/api/src/classCutterApplication.html @@ -0,0 +1,158 @@ + + + + + + + + CutterApplication — Cutter 2.4.0 documentation + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+ +
+

CutterApplication

+
+
+class CutterApplication : public QApplication
+
+

Public Functions

+
+
+CutterApplication(int &argc, char **argv)
+
+ +
+
+~CutterApplication()
+
+ +
+
+inline MainWindow *getMainWindow()
+
+ +
+
+void launchNewInstance(const QStringList &args = {})
+
+ +
+
+inline InitialOptions getInitialOptions() const
+
+ +
+
+inline void setInitialOptions(const InitialOptions &options)
+
+ +
+
+QStringList getArgs() const
+
+ +
+
+ +
+ + +
+
+
+
+ + +
+
+ + + + + + + \ No newline at end of file diff --git a/docs/api/src/classCutterProxyStyle.html b/docs/api/src/classCutterProxyStyle.html new file mode 100644 index 000000000..6adaa960d --- /dev/null +++ b/docs/api/src/classCutterProxyStyle.html @@ -0,0 +1,130 @@ + + + + + + + + CutterProxyStyle — Cutter 2.4.0 documentation + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+ +
+

CutterProxyStyle

+
+
+class CutterProxyStyle : public QProxyStyle
+

CutterProxyStyle is used to force shortcuts displaying in context menu.

+
+

Public Functions

+
+
+void polish(QWidget *widget) override
+

it is enough to get notification about QMenu polishing to force shortcut displaying

+
+ +
+
+ +
+ + +
+
+
+
+ + +
+
+ + + + + + + \ No newline at end of file diff --git a/docs/api/src/structCutterCommandLineOptions.html b/docs/api/src/structCutterCommandLineOptions.html new file mode 100644 index 000000000..95d9d6e8a --- /dev/null +++ b/docs/api/src/structCutterCommandLineOptions.html @@ -0,0 +1,158 @@ + + + + + + + + CutterCommandLineOptions — Cutter 2.4.0 documentation + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+ +
+

CutterCommandLineOptions

+
+
+struct CutterCommandLineOptions
+
+

Public Members

+
+
+QStringList args
+
+ +
+
+AutomaticAnalysisLevel analysisLevel = AutomaticAnalysisLevel::Ask
+
+ +
+
+InitialOptions fileOpenOptions
+
+ +
+
+QString pythonHome
+
+ +
+
+bool outputRedirectionEnabled = true
+
+ +
+
+bool enableCutterPlugins = true
+
+ +
+
+bool enableRizinPlugins = true
+
+ +
+
+ +
+ + +
+
+
+
+ + +
+
+ + + + + + + \ No newline at end of file diff --git a/docs/api/srclist.html b/docs/api/srclist.html new file mode 100644 index 000000000..f6d379278 --- /dev/null +++ b/docs/api/srclist.html @@ -0,0 +1,151 @@ + + + + + + + + Src — Cutter 2.4.0 documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/docs/api/widgets/classAbstractAddrDock.html b/docs/api/widgets/classAbstractAddrDock.html new file mode 100644 index 000000000..79294c99f --- /dev/null +++ b/docs/api/widgets/classAbstractAddrDock.html @@ -0,0 +1,295 @@ + + + + + + + + AbstractAddrDock — Cutter 2.4.0 documentation + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+ +
+

AbstractAddrDock

+
+
+class AbstractAddrDock : public QDockWidget
+

Subclassed by RawAddrDock, VirtualAddrDock

+
+

Public Functions

+
+
+explicit AbstractAddrDock(SectionsModel *model, QWidget *parent = nullptr)
+
+ +
+
+~AbstractAddrDock()
+
+ +
+
+virtual void updateDock()
+
+ +
+
+ +
+ + +
+
+
+
+ + +
+
+ + + + + + + \ No newline at end of file diff --git a/docs/api/widgets/classAbstractData.html b/docs/api/widgets/classAbstractData.html new file mode 100644 index 000000000..c4ade3480 --- /dev/null +++ b/docs/api/widgets/classAbstractData.html @@ -0,0 +1,310 @@ + + + + + + + + AbstractData — Cutter 2.4.0 documentation + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+ +
+

AbstractData

+
+
+class AbstractData
+

Subclassed by BufferData, MemoryData

+
+

Public Functions

+
+
+virtual ~AbstractData() = default
+
+ +
+
+virtual void fetch(uint64_t addr, int len) = 0
+
+ +
+
+virtual bool copy(void *out, uint64_t adr, size_t len) = 0
+
+ +
+
+virtual bool write(const uint8_t *in, uint64_t adr, size_t len) = 0
+
+ +
+
+virtual uint64_t maxIndex() = 0
+
+ +
+
+virtual uint64_t minIndex() = 0
+
+ +
+
+ +
+ + +
+
+
+
+ + +
+
+ + + + + + + \ No newline at end of file diff --git a/docs/api/widgets/classAddrDockScene.html b/docs/api/widgets/classAddrDockScene.html new file mode 100644 index 000000000..700505625 --- /dev/null +++ b/docs/api/widgets/classAddrDockScene.html @@ -0,0 +1,327 @@ + + + + + + + + AddrDockScene — Cutter 2.4.0 documentation + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+ +
+

AddrDockScene

+
+
+class AddrDockScene : public QGraphicsScene
+
+

Public Functions

+
+
+explicit AddrDockScene(QWidget *parent = nullptr)
+
+ +
+
+~AddrDockScene()
+
+ +
+
+

Public Members

+
+
+bool disableCenterOn
+
+ +
+
+QHash<QString, RVA> nameAddrMap
+
+ +
+
+QHash<QString, RVA> nameAddrSizeMap
+
+ +
+
+QHash<QString, RVA> seekAddrMap
+
+ +
+
+QHash<QString, RVA> seekAddrSizeMap
+
+ +
+
+QHash<QString, int> namePosYMap
+
+ +
+
+QHash<QString, int> nameHeightMap
+
+ +
+
+ +
+ + +
+
+
+
+ + +
+
+ + + + + + + \ No newline at end of file diff --git a/docs/api/widgets/classAddressableDockWidget.html b/docs/api/widgets/classAddressableDockWidget.html new file mode 100644 index 000000000..51a2ccbab --- /dev/null +++ b/docs/api/widgets/classAddressableDockWidget.html @@ -0,0 +1,338 @@ + + + + + + + + AddressableDockWidget — Cutter 2.4.0 documentation + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+ +
+

AddressableDockWidget

+
+
+class AddressableDockWidget : public CutterDockWidget
+

Subclassed by MemoryDockWidget

+
+

Public Functions

+
+
+AddressableDockWidget(MainWindow *parent)
+
+ +
+
+inline ~AddressableDockWidget() override
+
+ +
+
+CutterSeekable *getSeekable() const
+
+ +
+
+virtual QVariantMap serializeViewProprties() override
+

Serialize dock properties for saving as part of layout.

+

Override this function for saving dock specific view properties. Use in situations where it makes sense to have different properties for multiple instances of widget. Don’t use for options that are more suitable as global settings and should be applied equally to all widgets or all widgets of this kind.

+

Keep synchrononized with deserializeViewProperties. When modifying add project upgrade step in SettingsUpgrade.cpp if necessary.

+

+

+
+
Returns:
+

Dictionary of current dock properties.

+
+
+
+ +
+
+virtual void deserializeViewProperties(const QVariantMap &properties) override
+

Deserialization half of serialize view properties.

+

When a property is not specified in property map dock should reset it to default value instead of leaving it umodified. Empty map should reset all properties controlled by serializeViewProprties/deserializeViewProperties mechanism.

+

+

+
+
Parameters:
+

properties – to modify for current widget

+
+
+
+ +
+
+

Public Slots

+
+
+void updateWindowTitle()
+
+ +
+
+ +
+ + +
+
+
+
+ + +
+
+ + + + + + + \ No newline at end of file diff --git a/docs/api/widgets/classAddressableItemList.html b/docs/api/widgets/classAddressableItemList.html new file mode 100644 index 000000000..7dd6e92af --- /dev/null +++ b/docs/api/widgets/classAddressableItemList.html @@ -0,0 +1,310 @@ + + + + + + + + AddressableItemList — Cutter 2.4.0 documentation + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+ +
+

AddressableItemList

+
+
+template<class BaseListWidget = CutterTreeView>
class AddressableItemList : public CutterTreeView
+
+

Public Functions

+
+
+inline explicit AddressableItemList(QWidget *parent = nullptr)
+
+ +
+
+inline void setModel(AddressableItemModelI *addressableItemModel)
+
+ +
+
+inline void setMainWindow(MainWindow *mainWindow)
+
+ +
+
+inline AddressableItemContextMenu *getItemContextMenu()
+
+ +
+
+inline void setItemContextMenu(AddressableItemContextMenu *menu)
+
+ +
+
+inline void setShowItemContextMenuWithoutAddress(bool val)
+

If this is set to true, the context menu will also be shown if no item is currently selected.

+
+ +
+
+ +
+ + +
+
+
+
+ + +
+
+ + + + + + + \ No newline at end of file diff --git a/docs/api/widgets/classAnalysisClassesModel.html b/docs/api/widgets/classAnalysisClassesModel.html new file mode 100644 index 000000000..5f68cff4a --- /dev/null +++ b/docs/api/widgets/classAnalysisClassesModel.html @@ -0,0 +1,312 @@ + + + + + + + + AnalysisClassesModel — Cutter 2.4.0 documentation + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+ +
+

AnalysisClassesModel

+
+
+class AnalysisClassesModel : public ClassesModel
+
+

Public Functions

+
+
+explicit AnalysisClassesModel(CutterDockWidget *parent)
+
+ +
+
+

Public Slots

+
+
+void refreshAll()
+
+ +
+
+void classNew(const QString &cls)
+
+ +
+
+void classDeleted(const QString &cls)
+
+ +
+
+void classRenamed(const QString &oldName, const QString &newName)
+
+ +
+
+void classAttrsChanged(const QString &cls)
+
+ +
+
+ +
+ + +
+
+
+
+ + +
+
+ + + + + + + \ No newline at end of file diff --git a/docs/api/widgets/classBacktraceWidget.html b/docs/api/widgets/classBacktraceWidget.html new file mode 100644 index 000000000..d0e39342e --- /dev/null +++ b/docs/api/widgets/classBacktraceWidget.html @@ -0,0 +1,289 @@ + + + + + + + + BacktraceWidget — Cutter 2.4.0 documentation + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+ +
+

BacktraceWidget

+
+
+class BacktraceWidget : public CutterDockWidget
+
+

Public Functions

+
+
+explicit BacktraceWidget(MainWindow *main)
+
+ +
+
+~BacktraceWidget()
+
+ +
+
+ +
+ + +
+
+
+
+ + +
+
+ + + + + + + \ No newline at end of file diff --git a/docs/api/widgets/classBinClassesModel.html b/docs/api/widgets/classBinClassesModel.html new file mode 100644 index 000000000..f3414149b --- /dev/null +++ b/docs/api/widgets/classBinClassesModel.html @@ -0,0 +1,289 @@ + + + + + + + + BinClassesModel — Cutter 2.4.0 documentation + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+ +
+

BinClassesModel

+
+
+class BinClassesModel : public ClassesModel
+
+

Public Functions

+
+
+explicit BinClassesModel(QObject *parent = nullptr)
+
+ +
+
+void setClasses(const QList<BinClassDescription> &classes)
+
+ +
+
+ +
+ + +
+
+
+
+ + +
+
+ + + + + + + \ No newline at end of file diff --git a/docs/api/widgets/classBoolTogggleDelegate.html b/docs/api/widgets/classBoolTogggleDelegate.html new file mode 100644 index 000000000..b30285d77 --- /dev/null +++ b/docs/api/widgets/classBoolTogggleDelegate.html @@ -0,0 +1,294 @@ + + + + + + + + BoolTogggleDelegate — Cutter 2.4.0 documentation + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+ +
+

BoolTogggleDelegate

+
+
+class BoolTogggleDelegate : public QStyledItemDelegate
+
+

Public Functions

+
+
+BoolTogggleDelegate(QObject *parent = nullptr)
+
+ +
+
+QWidget *createEditor(QWidget *parent, const QStyleOptionViewItem &option, const QModelIndex &index) const override
+
+ +
+
+bool editorEvent(QEvent *event, QAbstractItemModel *model, const QStyleOptionViewItem &option, const QModelIndex &index) override
+
+ +
+
+ +
+ + +
+
+
+
+ + +
+
+ + + + + + + \ No newline at end of file diff --git a/docs/api/widgets/classBreakpointModel.html b/docs/api/widgets/classBreakpointModel.html new file mode 100644 index 000000000..987b087e9 --- /dev/null +++ b/docs/api/widgets/classBreakpointModel.html @@ -0,0 +1,379 @@ + + + + + + + + BreakpointModel — Cutter 2.4.0 documentation + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+ +
+

BreakpointModel

+
+
+class BreakpointModel : public AddressableItemModel<QAbstractListModel>
+
+

Public Types

+
+
+enum Column
+

Values:

+
+
+enumerator AddrColumn
+
+ +
+
+enumerator NameColumn
+
+ +
+
+enumerator TypeColumn
+
+ +
+
+enumerator TraceColumn
+
+ +
+
+enumerator EnabledColumn
+
+ +
+
+enumerator CommentColumn
+
+ +
+
+enumerator ColumnCount
+
+ +
+ +
+
+enum Role
+

Values:

+
+
+enumerator BreakpointDescriptionRole
+
+ +
+ +
+
+

Public Functions

+
+
+BreakpointModel(QObject *parent = nullptr)
+
+ +
+
+void refresh()
+
+ +
+
+int rowCount(const QModelIndex &parent = QModelIndex()) const override
+
+ +
+
+int columnCount(const QModelIndex &parent = QModelIndex()) const override
+
+ +
+
+QVariant data(const QModelIndex &index, int role) const override
+
+ +
+
+QVariant headerData(int section, Qt::Orientation orientation, int role = Qt::DisplayRole) const override
+
+ +
+
+bool setData(const QModelIndex &index, const QVariant &value, int role = Qt::EditRole) override
+
+ +
+
+Qt::ItemFlags flags(const QModelIndex &index) const override
+
+ +
+
+virtual RVA address(const QModelIndex &index) const override
+
+ +
+
+ +
+ + +
+
+
+
+ + +
+
+ + + + + + + \ No newline at end of file diff --git a/docs/api/widgets/classBreakpointProxyModel.html b/docs/api/widgets/classBreakpointProxyModel.html new file mode 100644 index 000000000..06b823502 --- /dev/null +++ b/docs/api/widgets/classBreakpointProxyModel.html @@ -0,0 +1,284 @@ + + + + + + + + BreakpointProxyModel — Cutter 2.4.0 documentation + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+ +
+

BreakpointProxyModel

+
+
+class BreakpointProxyModel : public AddressableFilterProxyModel
+
+

Public Functions

+
+
+BreakpointProxyModel(BreakpointModel *sourceModel, QObject *parent = nullptr)
+
+ +
+
+ +
+ + +
+
+
+
+ + +
+
+ + + + + + + \ No newline at end of file diff --git a/docs/api/widgets/classBreakpointWidget.html b/docs/api/widgets/classBreakpointWidget.html new file mode 100644 index 000000000..da98779f3 --- /dev/null +++ b/docs/api/widgets/classBreakpointWidget.html @@ -0,0 +1,289 @@ + + + + + + + + BreakpointWidget — Cutter 2.4.0 documentation + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+ +
+

BreakpointWidget

+
+
+class BreakpointWidget : public CutterDockWidget
+
+

Public Functions

+
+
+explicit BreakpointWidget(MainWindow *main)
+
+ +
+
+~BreakpointWidget()
+
+ +
+
+ +
+ + +
+
+
+
+ + +
+
+ + + + + + + \ No newline at end of file diff --git a/docs/api/widgets/classBufferData.html b/docs/api/widgets/classBufferData.html new file mode 100644 index 000000000..68bfa70e9 --- /dev/null +++ b/docs/api/widgets/classBufferData.html @@ -0,0 +1,314 @@ + + + + + + + + BufferData — Cutter 2.4.0 documentation + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+ +
+

BufferData

+
+
+class BufferData : public AbstractData
+
+

Public Functions

+
+
+inline BufferData()
+
+ +
+
+inline explicit BufferData(const QByteArray &buffer)
+
+ +
+
+~BufferData() override = default
+
+ +
+
+inline virtual void fetch(uint64_t, int) override
+
+ +
+
+inline virtual bool copy(void *out, uint64_t addr, size_t len) override
+
+ +
+
+inline virtual bool write(const uint8_t *in, uint64_t addr, size_t len) override
+
+ +
+
+inline virtual uint64_t maxIndex() override
+
+ +
+
+ +
+ + +
+
+
+
+ + +
+
+ + + + + + + \ No newline at end of file diff --git a/docs/api/widgets/classCallGraphView.html b/docs/api/widgets/classCallGraphView.html new file mode 100644 index 000000000..48a2b678a --- /dev/null +++ b/docs/api/widgets/classCallGraphView.html @@ -0,0 +1,301 @@ + + + + + + + + CallGraphView — Cutter 2.4.0 documentation + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+ +
+

CallGraphView

+
+
+class CallGraphView : public SimpleTextGraphView
+

Graphview displaying either global or function callgraph.

+
+

Public Functions

+
+
+CallGraphView(CutterDockWidget *parent, MainWindow *main, bool global)
+
+ +
+
+virtual void showExportDialog() override
+

Show the export file dialog. Override this to support rizin based export formats.

+
+ +
+
+void showAddress(RVA address)
+
+ +
+
+virtual void refreshView() override
+
+ +
+
+ +
+ + +
+
+
+
+ + +
+
+ + + + + + + \ No newline at end of file diff --git a/docs/api/widgets/classCallGraphWidget.html b/docs/api/widgets/classCallGraphWidget.html new file mode 100644 index 000000000..989a4a473 --- /dev/null +++ b/docs/api/widgets/classCallGraphWidget.html @@ -0,0 +1,294 @@ + + + + + + + + CallGraphWidget — Cutter 2.4.0 documentation + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+ +
+

CallGraphWidget

+
+
+class CallGraphWidget : public MemoryDockWidget
+
+

Public Functions

+
+
+explicit CallGraphWidget(MainWindow *main, bool global)
+
+ +
+
+~CallGraphWidget()
+
+ +
+
+QString getWidgetType() const
+
+ +
+
+ +
+ + +
+
+
+
+ + +
+
+ + + + + + + \ No newline at end of file diff --git a/docs/api/widgets/classClassesModel.html b/docs/api/widgets/classClassesModel.html new file mode 100644 index 000000000..50a2d5255 --- /dev/null +++ b/docs/api/widgets/classClassesModel.html @@ -0,0 +1,419 @@ + + + + + + + + ClassesModel — Cutter 2.4.0 documentation + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+ +
+

ClassesModel

+
+
+class ClassesModel : public AddressableItemModel<>
+

Common abstract base class for Bin and Anal classes models.

+

Subclassed by AnalysisClassesModel, BinClassesModel

+
+

Public Types

+
+
+enum Columns
+

Values:

+
+
+enumerator NAME
+
+ +
+
+enumerator REAL_NAME
+
+ +
+
+enumerator TYPE
+
+ +
+
+enumerator OFFSET
+
+ +
+
+enumerator VTABLE
+
+ +
+
+enumerator COUNT
+
+ +
+ +
+
+enum class RowType
+

values for TypeRole data

+

Values:

+
+
+enumerator Class
+
+ +
+
+enumerator Base
+
+ +
+
+enumerator VTable
+
+ +
+
+enumerator Method
+
+ +
+
+enumerator Field
+
+ +
+ +
+
+

Public Functions

+
+
+inline explicit ClassesModel(QObject *parent = nullptr)
+
+ +
+
+QVariant headerData(int section, Qt::Orientation orientation, int role = Qt::DisplayRole) const override
+
+ +
+
+virtual RVA address(const QModelIndex &index) const override
+
+ +
+
+virtual QString name(const QModelIndex &index) const override
+

Get name for item, optional.

+
+
Parameters:
+

index – item intex

+
+
Returns:
+

Item name or empty QString if item doesn’t have short descriptive name.

+
+
+
+ +
+
+

Public Static Attributes

+
+
+static const int OffsetRole = Qt::UserRole
+

Offset role of data for QModelIndex.

+

will contain values of type RVA

+
+ +
+
+static const int NameRole = Qt::UserRole + 1
+

Name role of data for QModelIndex.

+

will contain values of QString, used for sorting, as well as identifying classes and methods

+
+ +
+
+static const int TypeRole = Qt::UserRole + 2
+

Type role of data for QModelIndex.

+

will contain values of RowType

+
+ +
+
+static const int VTableRole = Qt::UserRole + 3
+

VTable role of data for QModelIndex.

+

will contain values of type long long for sorting by vtable offset

+
+ +
+
+static const int RealNameRole = Qt::UserRole + 4
+

Real Name role of data for QModelIndex.

+

will contain values of QString, used for sorting, as well as identifying classes and methods

+
+ +
+
+ +
+ + +
+
+
+
+ + +
+
+ + + + + + + \ No newline at end of file diff --git a/docs/api/widgets/classClassesSortFilterProxyModel.html b/docs/api/widgets/classClassesSortFilterProxyModel.html new file mode 100644 index 000000000..5fdbc503d --- /dev/null +++ b/docs/api/widgets/classClassesSortFilterProxyModel.html @@ -0,0 +1,284 @@ + + + + + + + + ClassesSortFilterProxyModel — Cutter 2.4.0 documentation + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+ +
+

ClassesSortFilterProxyModel

+
+
+class ClassesSortFilterProxyModel : public AddressableFilterProxyModel
+
+

Public Functions

+
+
+explicit ClassesSortFilterProxyModel(QObject *parent = nullptr)
+
+ +
+
+ +
+ + +
+
+
+
+ + +
+
+ + + + + + + \ No newline at end of file diff --git a/docs/api/widgets/classClassesWidget.html b/docs/api/widgets/classClassesWidget.html new file mode 100644 index 000000000..f9394b77a --- /dev/null +++ b/docs/api/widgets/classClassesWidget.html @@ -0,0 +1,289 @@ + + + + + + + + ClassesWidget — Cutter 2.4.0 documentation + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+ +
+

ClassesWidget

+
+
+class ClassesWidget : public ListDockWidget
+
+

Public Functions

+
+
+explicit ClassesWidget(MainWindow *main)
+
+ +
+
+~ClassesWidget()
+
+ +
+
+ +
+ + +
+
+
+
+ + +
+
+ + + + + + + \ No newline at end of file diff --git a/docs/api/widgets/classColorOptionDelegate.html b/docs/api/widgets/classColorOptionDelegate.html new file mode 100644 index 000000000..d7847250e --- /dev/null +++ b/docs/api/widgets/classColorOptionDelegate.html @@ -0,0 +1,304 @@ + + + + + + + + ColorOptionDelegate — Cutter 2.4.0 documentation + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+ +
+

ColorOptionDelegate

+
+
+class ColorOptionDelegate : public QStyledItemDelegate
+
+

Public Functions

+
+
+ColorOptionDelegate(QObject *parent = nullptr)
+
+ +
+
+inline ~ColorOptionDelegate() override
+
+ +
+
+void paint(QPainter *painter, const QStyleOptionViewItem &option, const QModelIndex &index) const override
+
+ +
+
+QSize sizeHint(const QStyleOptionViewItem &option, const QModelIndex &index) const override
+
+ +
+
+QRect getResetButtonRect() const
+
+ +
+
+ +
+ + +
+
+
+
+ + +
+
+ + + + + + + \ No newline at end of file diff --git a/docs/api/widgets/classColorPicker.html b/docs/api/widgets/classColorPicker.html new file mode 100644 index 000000000..f2d4406e8 --- /dev/null +++ b/docs/api/widgets/classColorPicker.html @@ -0,0 +1,333 @@ + + + + + + + + ColorPicker — Cutter 2.4.0 documentation + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+ +
+

ColorPicker

+
+
+class ColorPicker : public ColorPickerHelpers::ColorPickWidgetAbstract
+

The ColorPicker class provides widget that allows user to pick color from screen or from palette or type in HSV or RGB or HEX representation of color.

+
+

Public Functions

+
+
+explicit ColorPicker(QWidget *parent = nullptr)
+
+ +
+
+~ColorPicker()
+
+ +
+
+bool isPickingFromScreen() const
+

isPickingFromScreen returns true if color picker is picking from screen.

+
+ +
+
+void setAlphaEnabled(bool enabled)
+
+ +
+
+

Public Slots

+
+
+virtual void setColor(const QColor &color) override
+

setColor sets displayed color to color and emits colorChanged signal.

+
+ +
+
+void colorChannelChanged()
+
+ +
+
+void updateColor(const QColor &color)
+

updateColor sets displayed color to color.

+
+ +
+
+void startPickingFromScreen()
+

startPickingFromScreen starts process of picking from screen. Function is called automatically when “Pick from screen” button is clicked.

+
+ +
+
+void stopPickingFromScreen()
+

stopPickingFromScreen terminates process of picking from screen.

+
+ +
+
+ +
+ + +
+
+
+
+ + +
+
+ + + + + + + \ No newline at end of file diff --git a/docs/api/widgets/classColorPickerHelpers_1_1AlphaChannelBar.html b/docs/api/widgets/classColorPickerHelpers_1_1AlphaChannelBar.html new file mode 100644 index 000000000..983f1e75f --- /dev/null +++ b/docs/api/widgets/classColorPickerHelpers_1_1AlphaChannelBar.html @@ -0,0 +1,289 @@ + + + + + + + + ColorPickerHelpers::AlphaChannelBar — Cutter 2.4.0 documentation + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+ +
+

ColorPickerHelpers::AlphaChannelBar

+
+
+class AlphaChannelBar : public ColorPickerHelpers::ColorPickerWidget
+
+

Public Functions

+
+
+inline AlphaChannelBar(QWidget *parent = nullptr)
+
+ +
+
+void setColor(const QColor &c) override
+
+ +
+
+ +
+ + +
+
+
+
+ + +
+
+ + + + + + + \ No newline at end of file diff --git a/docs/api/widgets/classColorPickerHelpers_1_1ColorPickArea.html b/docs/api/widgets/classColorPickerHelpers_1_1ColorPickArea.html new file mode 100644 index 000000000..7d6228346 --- /dev/null +++ b/docs/api/widgets/classColorPickerHelpers_1_1ColorPickArea.html @@ -0,0 +1,290 @@ + + + + + + + + ColorPickerHelpers::ColorPickArea — Cutter 2.4.0 documentation + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+ +
+

ColorPickerHelpers::ColorPickArea

+
+
+class ColorPickArea : public ColorPickerHelpers::ColorPickerWidget
+

The ColorPickArea class provides widget that helps to pick Saturation and Hue of color in HSV colorspace.

+
+

Public Functions

+
+
+explicit ColorPickArea(QWidget *parent = nullptr)
+
+ +
+
+void setColor(const QColor &c) override
+
+ +
+
+ +
+ + +
+
+
+
+ + +
+
+ + + + + + + \ No newline at end of file diff --git a/docs/api/widgets/classColorPickerHelpers_1_1ColorPickWidgetAbstract.html b/docs/api/widgets/classColorPickerHelpers_1_1ColorPickWidgetAbstract.html new file mode 100644 index 000000000..390ee38bf --- /dev/null +++ b/docs/api/widgets/classColorPickerHelpers_1_1ColorPickWidgetAbstract.html @@ -0,0 +1,306 @@ + + + + + + + + ColorPickerHelpers::ColorPickWidgetAbstract — Cutter 2.4.0 documentation + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+ +
+

ColorPickerHelpers::ColorPickWidgetAbstract

+
+
+class ColorPickWidgetAbstract : public QWidget
+

Subclassed by ColorPicker

+
+

Public Functions

+
+
+inline ColorPickWidgetAbstract(QWidget *parent = nullptr)
+
+ +
+
+inline virtual ~ColorPickWidgetAbstract()
+
+ +
+
+

Public Slots

+
+
+virtual void setColor(const QColor &color) = 0
+
+ +
+
+

Signals

+
+
+void colorChanged(const QColor &color)
+
+ +
+
+ +
+ + +
+
+
+
+ + +
+
+ + + + + + + \ No newline at end of file diff --git a/docs/api/widgets/classColorPickerHelpers_1_1ColorPickerWidget.html b/docs/api/widgets/classColorPickerHelpers_1_1ColorPickerWidget.html new file mode 100644 index 000000000..4de364290 --- /dev/null +++ b/docs/api/widgets/classColorPickerHelpers_1_1ColorPickerWidget.html @@ -0,0 +1,285 @@ + + + + + + + + ColorPickerHelpers::ColorPickerWidget — Cutter 2.4.0 documentation + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+ +
+

ColorPickerHelpers::ColorPickerWidget

+
+
+class ColorPickerWidget : public ColorPickerHelpers::ColorPickWidgetAbstract
+

The ColorPickerWidget class is parent class for ColorPickArea and ColorValueBar classes.

+
+

Public Functions

+
+
+ColorPickerWidget(QWidget *parent = nullptr)
+
+ +
+
+ +
+ + +
+
+
+
+ + +
+
+ + + + + + + \ No newline at end of file diff --git a/docs/api/widgets/classColorPickerHelpers_1_1ColorShowWidget.html b/docs/api/widgets/classColorPickerHelpers_1_1ColorShowWidget.html new file mode 100644 index 000000000..c395019bf --- /dev/null +++ b/docs/api/widgets/classColorPickerHelpers_1_1ColorShowWidget.html @@ -0,0 +1,289 @@ + + + + + + + + ColorPickerHelpers::ColorShowWidget — Cutter 2.4.0 documentation + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+ +
+

ColorPickerHelpers::ColorShowWidget

+
+
+class ColorShowWidget : public ColorPickerHelpers::ColorPickWidgetAbstract
+
+

Public Functions

+
+
+explicit ColorShowWidget(QWidget *parent = nullptr)
+
+ +
+
+void setColor(const QColor &c) override
+
+ +
+
+ +
+ + +
+
+
+
+ + +
+
+ + + + + + + \ No newline at end of file diff --git a/docs/api/widgets/classColorPickerHelpers_1_1ColorValueBar.html b/docs/api/widgets/classColorPickerHelpers_1_1ColorValueBar.html new file mode 100644 index 000000000..8984c9fa7 --- /dev/null +++ b/docs/api/widgets/classColorPickerHelpers_1_1ColorValueBar.html @@ -0,0 +1,290 @@ + + + + + + + + ColorPickerHelpers::ColorValueBar — Cutter 2.4.0 documentation + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+ +
+

ColorPickerHelpers::ColorValueBar

+
+
+class ColorValueBar : public ColorPickerHelpers::ColorPickerWidget
+

The ColorValueBar class provides widget that helps to set Valuse of color in HSV colorspace.

+
+

Public Functions

+
+
+inline ColorValueBar(QWidget *parent = nullptr)
+
+ +
+
+void setColor(const QColor &c) override
+
+ +
+
+ +
+ + +
+
+
+
+ + +
+
+ + + + + + + \ No newline at end of file diff --git a/docs/api/widgets/classColorSettingsModel.html b/docs/api/widgets/classColorSettingsModel.html new file mode 100644 index 000000000..93161005a --- /dev/null +++ b/docs/api/widgets/classColorSettingsModel.html @@ -0,0 +1,314 @@ + + + + + + + + ColorSettingsModel — Cutter 2.4.0 documentation + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+ +
+

ColorSettingsModel

+
+
+class ColorSettingsModel : public QAbstractListModel
+
+

Public Functions

+
+
+ColorSettingsModel(QObject *parent = nullptr)
+
+ +
+
+inline virtual ~ColorSettingsModel() override
+
+ +
+
+QVariant data(const QModelIndex &index, int role = Qt::DisplayRole) const override
+
+ +
+
+bool setData(const QModelIndex &index, const QVariant &value, int role = Qt::EditRole) override
+
+ +
+
+inline int rowCount(const QModelIndex &parent = QModelIndex()) const override
+
+ +
+
+void updateTheme()
+
+ +
+
+QHash<QString, QColor> getTheme() const
+
+ +
+
+ +
+ + +
+
+
+
+ + +
+
+ + + + + + + \ No newline at end of file diff --git a/docs/api/widgets/classColorThemeComboBox.html b/docs/api/widgets/classColorThemeComboBox.html new file mode 100644 index 000000000..57543ae86 --- /dev/null +++ b/docs/api/widgets/classColorThemeComboBox.html @@ -0,0 +1,305 @@ + + + + + + + + ColorThemeComboBox — Cutter 2.4.0 documentation + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+ +
+

ColorThemeComboBox

+
+
+class ColorThemeComboBox : public QComboBox
+

The ColorThemeComboBox class provides combobox with Cutter color themes.

+
+

Public Functions

+
+
+explicit ColorThemeComboBox(QWidget *parent = nullptr)
+
+ +
+
+void setShowOnlyCustom(bool value)
+

setShowOnlyCustom sets whether or not combobox should contain only custom themes (created by user or imported) or custom and srandard rizin themes.

+
+ +
+
+

Public Slots

+
+
+void updateFromConfig(bool interfaceThemeChanged = false)
+

updateFromConfig updates list of themes to be shown.

+
+
Parameters:
+

interfaceThemeChanged – should be set to true if the interface theme of Cutter was changed since the last call to the function. This will preserve the selected item in the combo box.

+
+
+
+ +
+
+ +
+ + +
+
+
+
+ + +
+
+ + + + + + + \ No newline at end of file diff --git a/docs/api/widgets/classColorThemeListView.html b/docs/api/widgets/classColorThemeListView.html new file mode 100644 index 000000000..8e18b1554 --- /dev/null +++ b/docs/api/widgets/classColorThemeListView.html @@ -0,0 +1,312 @@ + + + + + + + + ColorThemeListView — Cutter 2.4.0 documentation + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+ +
+

ColorThemeListView

+
+
+class ColorThemeListView : public QListView
+
+

Public Functions

+
+
+ColorThemeListView(QWidget *parent = nullptr)
+
+ +
+
+inline virtual ~ColorThemeListView() override
+
+ +
+
+ColorSettingsModel *colorSettingsModel() const
+
+ +
+
+

Signals

+
+
+void itemChanged(const QColor &option)
+
+ +
+
+void dataChanged(const ColorOption &data)
+
+ +
+
+void blink()
+
+ +
+
+ +
+ + +
+
+
+
+ + +
+
+ + + + + + + \ No newline at end of file diff --git a/docs/api/widgets/classComboQuickFilterView.html b/docs/api/widgets/classComboQuickFilterView.html new file mode 100644 index 000000000..e96c49944 --- /dev/null +++ b/docs/api/widgets/classComboQuickFilterView.html @@ -0,0 +1,330 @@ + + + + + + + + ComboQuickFilterView — Cutter 2.4.0 documentation + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+ +
+

ComboQuickFilterView

+
+
+class ComboQuickFilterView : public QWidget
+
+

Public Functions

+
+
+explicit ComboQuickFilterView(QWidget *parent = nullptr)
+
+ +
+
+~ComboQuickFilterView()
+
+ +
+
+void setLabelText(const QString &text)
+
+ +
+
+QComboBox *comboBox()
+
+ +
+
+

Public Slots

+
+
+void showFilter()
+
+ +
+
+void closeFilter()
+
+ +
+
+void clearFilter()
+
+ +
+
+

Signals

+
+
+void filterTextChanged(const QString &text)
+
+ +
+
+void filterClosed()
+
+ +
+
+ +
+ + +
+
+
+
+ + +
+
+ + + + + + + \ No newline at end of file diff --git a/docs/api/widgets/classCommentsModel.html b/docs/api/widgets/classCommentsModel.html new file mode 100644 index 000000000..6cd642b34 --- /dev/null +++ b/docs/api/widgets/classCommentsModel.html @@ -0,0 +1,395 @@ + + + + + + + + CommentsModel — Cutter 2.4.0 documentation + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+ +
+

CommentsModel

+
+
+class CommentsModel : public AddressableItemModel<>
+
+

Public Types

+
+
+enum Column
+

Values:

+
+
+enumerator OffsetColumn
+
+ +
+
+enumerator FunctionColumn
+
+ +
+
+enumerator CommentColumn
+
+ +
+
+enumerator ColumnCount
+
+ +
+ +
+
+enum NestedColumn
+

Values:

+
+
+enumerator OffsetNestedColumn
+
+ +
+
+enumerator CommentNestedColumn
+
+ +
+
+enumerator NestedColumnCount
+
+ +
+ +
+
+enum Role
+

Values:

+
+
+enumerator CommentDescriptionRole
+
+ +
+
+enumerator FunctionRole
+
+ +
+ +
+
+

Public Functions

+
+
+CommentsModel(QList<CommentDescription> *comments, QList<CommentGroup> *nestedComments, QObject *parent = nullptr)
+
+ +
+
+QModelIndex index(int row, int column, const QModelIndex &parent = QModelIndex()) const override
+
+ +
+
+QModelIndex parent(const QModelIndex &index) const override
+
+ +
+
+int rowCount(const QModelIndex &parent = QModelIndex()) const override
+
+ +
+
+int columnCount(const QModelIndex &parent = QModelIndex()) const override
+
+ +
+
+QVariant data(const QModelIndex &index, int role) const override
+
+ +
+
+QVariant headerData(int section, Qt::Orientation orientation, int role = Qt::DisplayRole) const override
+
+ +
+
+bool isNested() const
+
+ +
+
+void setNested(bool nested)
+
+ +
+
+virtual RVA address(const QModelIndex &index) const override
+
+ +
+
+ +
+ + +
+
+
+
+ + +
+
+ + + + + + + \ No newline at end of file diff --git a/docs/api/widgets/classCommentsProxyModel.html b/docs/api/widgets/classCommentsProxyModel.html new file mode 100644 index 000000000..171bbcb6b --- /dev/null +++ b/docs/api/widgets/classCommentsProxyModel.html @@ -0,0 +1,284 @@ + + + + + + + + CommentsProxyModel — Cutter 2.4.0 documentation + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+ +
+

CommentsProxyModel

+
+
+class CommentsProxyModel : public AddressableFilterProxyModel
+
+

Public Functions

+
+
+CommentsProxyModel(CommentsModel *sourceModel, QObject *parent = nullptr)
+
+ +
+
+ +
+ + +
+
+
+
+ + +
+
+ + + + + + + \ No newline at end of file diff --git a/docs/api/widgets/classCommentsWidget.html b/docs/api/widgets/classCommentsWidget.html new file mode 100644 index 000000000..9a953a108 --- /dev/null +++ b/docs/api/widgets/classCommentsWidget.html @@ -0,0 +1,289 @@ + + + + + + + + CommentsWidget — Cutter 2.4.0 documentation + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+ +
+

CommentsWidget

+
+
+class CommentsWidget : public ListDockWidget
+
+

Public Functions

+
+
+explicit CommentsWidget(MainWindow *main)
+
+ +
+
+~CommentsWidget() override
+
+ +
+
+ +
+ + +
+
+
+
+ + +
+
+ + + + + + + \ No newline at end of file diff --git a/docs/api/widgets/classConsoleWidget.html b/docs/api/widgets/classConsoleWidget.html new file mode 100644 index 000000000..a2b00ee40 --- /dev/null +++ b/docs/api/widgets/classConsoleWidget.html @@ -0,0 +1,317 @@ + + + + + + + + ConsoleWidget — Cutter 2.4.0 documentation + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+ +
+

ConsoleWidget

+
+
+class ConsoleWidget : public CutterDockWidget
+
+

Public Functions

+
+
+explicit ConsoleWidget(MainWindow *main)
+
+ +
+
+~ConsoleWidget()
+
+ +
+
+inline void setDebugOutputEnabled(bool enabled)
+
+ +
+
+inline void setMaxHistoryEntries(int max)
+
+ +
+
+

Public Slots

+
+
+void focusInputLineEdit()
+
+ +
+
+void addOutput(const QString &msg)
+
+ +
+
+void addDebugOutput(const QString &msg)
+
+ +
+
+ +
+ + +
+
+
+
+ + +
+
+ + + + + + + \ No newline at end of file diff --git a/docs/api/widgets/classCutterDockWidget.html b/docs/api/widgets/classCutterDockWidget.html new file mode 100644 index 000000000..f5f134242 --- /dev/null +++ b/docs/api/widgets/classCutterDockWidget.html @@ -0,0 +1,408 @@ + + + + + + + + CutterDockWidget — Cutter 2.4.0 documentation + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+ +
+

CutterDockWidget

+
+
+class CutterDockWidget : public QDockWidget
+

Subclassed by AddressableDockWidget, BacktraceWidget, BreakpointWidget, ConsoleWidget, Dashboard, EntrypointWidget, FlagsWidget, FlirtWidget, GlobalsWidget, HeapDockWidget, ListDockWidget, OverviewWidget, ProcessesWidget, RegisterRefsWidget, RegistersWidget, RizinGraphWidget, SdbWidget, SearchWidget, StackWidget, StringsWidget, ThreadsWidget, TypesWidget, VTablesWidget

+
+

Public Functions

+
+
+CutterDockWidget(MainWindow *parent, QAction *action)
+
+ +
+
+explicit CutterDockWidget(MainWindow *parent)
+
+ +
+
+~CutterDockWidget() override
+
+ +
+
+bool eventFilter(QObject *object, QEvent *event) override
+
+ +
+
+inline bool isVisibleToUser()
+
+ +
+
+inline void setTransient(bool v)
+

Set whether the Widget should be deleted after it is closed. This is especially important for extra widgets.

+
+ +
+
+template<typename Func>
inline RefreshDeferrer *createRefreshDeferrer(Func refreshNowFunc)
+

Convenience method for creating and registering a RefreshDeferrer without any parameters.

+
+
Parameters:
+

refreshNowFunc – lambda taking no parameters, called when a refresh should occur

+
+
+
+ +
+
+template<class ParamResult, typename Func>
inline RefreshDeferrer *createReplacingRefreshDeferrer(bool replaceIfNull, Func refreshNowFunc)
+

Convenience method for creating and registering a RefreshDeferrer with a replacing Accumulator.

+
+
Parameters:
+
    +
  • replaceIfNull – passed to the ReplacingRefreshDeferrerAccumulator

  • +
  • refreshNowFunc – lambda taking a single parameter of type ParamResult, called when a refresh should occur

  • +
+
+
+
+ +
+
+virtual QVariantMap serializeViewProprties()
+

Serialize dock properties for saving as part of layout.

+

Override this function for saving dock specific view properties. Use in situations where it makes sense to have different properties for multiple instances of widget. Don’t use for options that are more suitable as global settings and should be applied equally to all widgets or all widgets of this kind.

+

Keep synchrononized with deserializeViewProperties. When modifying add project upgrade step in SettingsUpgrade.cpp if necessary.

+

+

+
+
Returns:
+

Dictionary of current dock properties.

+
+
+
+ +
+
+virtual void deserializeViewProperties(const QVariantMap &properties)
+

Deserialization half of serialize view properties.

+

When a property is not specified in property map dock should reset it to default value instead of leaving it umodified. Empty map should reset all properties controlled by serializeViewProprties/deserializeViewProperties mechanism.

+

+

+
+
Parameters:
+

properties – to modify for current widget

+
+
+
+ +
+
+void ignoreVisibilityStatus(bool ignored)
+

Ignore visibility status. Useful for temporary ignoring visibility changes while this information is unreliable.

+
+
Parameters:
+

ignored – - set to true for enabling ignoring mode

+
+
+
+ +
+
+void raiseMemoryWidget()
+
+ +
+
+

Public Slots

+
+
+void toggleDockWidget(bool show)
+
+ +
+
+

Signals

+
+
+void becameVisibleToUser()
+
+ +
+
+void closed()
+
+ +
+
+ +
+ + +
+
+
+
+ + +
+
+ + + + + + + \ No newline at end of file diff --git a/docs/api/widgets/classCutterGraphView.html b/docs/api/widgets/classCutterGraphView.html new file mode 100644 index 000000000..bd69f0947 --- /dev/null +++ b/docs/api/widgets/classCutterGraphView.html @@ -0,0 +1,492 @@ + + + + + + + + CutterGraphView — Cutter 2.4.0 documentation + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+ +
+

CutterGraphView

+
+
+class CutterGraphView : public GraphView
+

Common Cutter specific graph functionality.

+

Subclassed by DisassemblerGraphView, SimpleTextGraphView

+
+

Public Types

+
+
+enum class GraphExportType
+

Values:

+
+
+enumerator Png
+
+ +
+
+enumerator Jpeg
+
+ +
+
+enumerator Svg
+
+ +
+
+enumerator GVDot
+
+ +
+
+enumerator GVJson
+
+ +
+
+enumerator GVGif
+
+ +
+
+enumerator GVPng
+
+ +
+
+enumerator GVJpeg
+
+ +
+
+enumerator GVPostScript
+
+ +
+
+enumerator GVSvg
+
+ +
+
+enumerator GVPdf
+
+ +
+
+enumerator RzGml
+
+ +
+
+enumerator RzJson
+
+ +
+ +
+
+

Public Functions

+
+
+CutterGraphView(QWidget *parent)
+
+ +
+
+virtual bool event(QEvent *event) override
+
+ +
+
+void exportGraph(QString filePath, GraphExportType exportType, RzCoreGraphType graphType, RVA address = RVA_INVALID)
+

Export graph to a file in the specified format.

+
+
Parameters:
+
    +
  • filePath – - output file path

  • +
  • exportType – - export type, GV* and Rz* types require graphCommand

  • +
  • graphType – - graph type, example RZ_CORE_GRAPH_TYPE_FUNCALL or RZ_CORE_GRAPH_TYPE_IMPORT

  • +
  • address – - object address (if global set it to RVA_INVALID)

  • +
+
+
+
+ +
+
+void exportRzTextGraph(QString filePath, RzCoreGraphType type, RzCoreGraphFormat format, RVA address)
+

Export graph in one of the text formats supported by rizin json, gml, SDB key-value.

+
+
Parameters:
+
    +
  • filePath – - output file path

  • +
  • type – - graph type, example RZ_CORE_GRAPH_TYPE_FUNCALL or RZ_CORE_GRAPH_TYPE_IMPORT

  • +
  • format – - graph format, example RZ_CORE_GRAPH_FORMAT_DOT or RZ_CORE_GRAPH_FORMAT_GML

  • +
  • address – - object address (if global set it to RVA_INVALID)

  • +
+
+
+
+ +
+
+void showExportGraphDialog(QString defaultName, RzCoreGraphType type, RVA address = RVA_INVALID)
+

Show graph export dialog.

+
+
Parameters:
+
    +
  • defaultName – - default file name in the export dialog

  • +
  • type – - graph type, example RZ_CORE_GRAPH_TYPE_FUNCALL or RZ_CORE_GRAPH_TYPE_IMPORT

  • +
  • address – - object address (if global set it to RVA_INVALID)

  • +
+
+
+
+ +
+
+

Public Slots

+
+
+virtual void refreshView()
+
+ +
+
+void updateColors()
+
+ +
+
+void fontsUpdatedSlot()
+
+ +
+
+void zoom(QPointF mouseRelativePos, double velocity)
+
+ +
+
+void setZoom(QPointF mouseRelativePos, double scale)
+
+ +
+
+void zoomIn()
+
+ +
+
+void zoomOut()
+
+ +
+
+void zoomReset()
+
+ +
+
+virtual void showExportDialog()
+

Show the export file dialog. Override this to support rizin based export formats.

+
+ +
+
+

Signals

+
+
+void viewRefreshed()
+
+ +
+
+void viewZoomed()
+
+ +
+
+void graphMoved()
+
+ +
+
+void resized()
+
+ +
+
+

Public Static Functions

+
+
+static bool graphIsBitamp(GraphExportType type)
+
+ +
+
+ +
+ + +
+
+
+
+ + +
+
+ + + + + + + \ No newline at end of file diff --git a/docs/api/widgets/classCutterTreeView.html b/docs/api/widgets/classCutterTreeView.html new file mode 100644 index 000000000..d30209928 --- /dev/null +++ b/docs/api/widgets/classCutterTreeView.html @@ -0,0 +1,298 @@ + + + + + + + + CutterTreeView — Cutter 2.4.0 documentation + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+ +
+

CutterTreeView

+
+
+class CutterTreeView : public QTreeView
+

Subclassed by AddressableItemList< BaseListWidget >

+
+

Public Functions

+
+
+explicit CutterTreeView(QWidget *parent = nullptr)
+
+ +
+
+~CutterTreeView()
+
+ +
+
+

Public Static Functions

+
+
+static void applyCutterStyle(QTreeView *view)
+
+ +
+
+ +
+ + +
+
+
+
+ + +
+
+ + + + + + + \ No newline at end of file diff --git a/docs/api/widgets/classCutterTreeWidget.html b/docs/api/widgets/classCutterTreeWidget.html new file mode 100644 index 000000000..f29537bfa --- /dev/null +++ b/docs/api/widgets/classCutterTreeWidget.html @@ -0,0 +1,304 @@ + + + + + + + + CutterTreeWidget — Cutter 2.4.0 documentation + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+ +
+

CutterTreeWidget

+
+
+class CutterTreeWidget : public QObject
+
+

Public Functions

+
+
+explicit CutterTreeWidget(QObject *parent = nullptr)
+
+ +
+
+~CutterTreeWidget()
+
+ +
+
+void addStatusBar(QVBoxLayout *pos)
+
+ +
+
+void showItemsNumber(int count)
+
+ +
+
+void showStatusBar(bool show)
+
+ +
+
+ +
+ + +
+
+
+
+ + +
+
+ + + + + + + \ No newline at end of file diff --git a/docs/api/widgets/classDashboard.html b/docs/api/widgets/classDashboard.html new file mode 100644 index 000000000..68b7d84e3 --- /dev/null +++ b/docs/api/widgets/classDashboard.html @@ -0,0 +1,289 @@ + + + + + + + + Dashboard — Cutter 2.4.0 documentation + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+ +
+

Dashboard

+
+
+class Dashboard : public CutterDockWidget
+
+

Public Functions

+
+
+explicit Dashboard(MainWindow *main)
+
+ +
+
+~Dashboard()
+
+ +
+
+ +
+ + +
+
+
+
+ + +
+
+ + + + + + + \ No newline at end of file diff --git a/docs/api/widgets/classDebugActions.html b/docs/api/widgets/classDebugActions.html new file mode 100644 index 000000000..73f1c0251 --- /dev/null +++ b/docs/api/widgets/classDebugActions.html @@ -0,0 +1,442 @@ + + + + + + + + DebugActions — Cutter 2.4.0 documentation + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+ +
+

DebugActions

+
+
+class DebugActions : public QObject
+
+

Public Functions

+
+
+explicit DebugActions(QToolBar *toolBar, MainWindow *main)
+
+ +
+
+void addToToolBar(QToolBar *toolBar)
+
+ +
+
+

Public Members

+
+
+QAction *actionStart
+
+ +
+
+QAction *actionStartRemote
+
+ +
+
+QAction *actionStartEmul
+
+ +
+
+QAction *actionAttach
+
+ +
+
+QAction *actionContinue
+
+ +
+
+QAction *actionContinueUntilMain
+
+ +
+
+QAction *actionContinueUntilCall
+
+ +
+
+QAction *actionContinueUntilSyscall
+
+ +
+
+QAction *actionContinueBack
+
+ +
+
+QAction *actionStep
+
+ +
+
+QAction *actionStepOver
+
+ +
+
+QAction *actionStepOut
+
+ +
+
+QAction *actionStepBack
+
+ +
+
+QAction *actionStop
+
+ +
+
+QAction *actionAllContinues
+
+ +
+
+QAction *actionTrace
+
+ +
+
+QIcon continueIcon
+
+ +
+
+QIcon suspendIcon
+
+ +
+
+QIcon restartIcon
+
+ +
+
+QIcon startDebugIcon
+
+ +
+
+QIcon startTraceIcon
+
+ +
+
+QIcon stopTraceIcon
+
+ +
+
+QString continueLabel
+
+ +
+
+QString suspendLabel
+
+ +
+
+QString restartDebugLabel
+
+ +
+
+QString startDebugLabel
+
+ +
+
+QString startTraceLabel
+
+ +
+
+QString stopTraceLabel
+
+ +
+
+QIcon detachIcon
+
+ +
+
+QIcon stopIcon
+
+ +
+
+ +
+ + +
+
+
+
+ + +
+
+ + + + + + + \ No newline at end of file diff --git a/docs/api/widgets/classDecompilerWidget.html b/docs/api/widgets/classDecompilerWidget.html new file mode 100644 index 000000000..839d2aa6b --- /dev/null +++ b/docs/api/widgets/classDecompilerWidget.html @@ -0,0 +1,310 @@ + + + + + + + + DecompilerWidget — Cutter 2.4.0 documentation + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+ +
+

DecompilerWidget

+
+
+class DecompilerWidget : public MemoryDockWidget
+
+

Public Functions

+
+
+explicit DecompilerWidget(MainWindow *main)
+
+ +
+
+~DecompilerWidget()
+
+ +
+
+

Public Slots

+
+
+void showDecompilerContextMenu(const QPoint &pt)
+
+ +
+
+void highlightPC()
+
+ +
+
+

Public Static Functions

+
+
+static QString getWidgetType()
+
+ +
+
+ +
+ + +
+
+
+
+ + +
+
+ + + + + + + \ No newline at end of file diff --git a/docs/api/widgets/classDisassemblerGraphView.html b/docs/api/widgets/classDisassemblerGraphView.html new file mode 100644 index 000000000..cd3631b2e --- /dev/null +++ b/docs/api/widgets/classDisassemblerGraphView.html @@ -0,0 +1,437 @@ + + + + + + + + DisassemblerGraphView — Cutter 2.4.0 documentation + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+ +
+

DisassemblerGraphView

+
+
+class DisassemblerGraphView : public CutterGraphView
+
+

Public Types

+
+
+using EdgeConfigurationMapping = std::map<std::pair<ut64, ut64>, EdgeConfiguration>
+
+ +
+
+

Public Functions

+
+
+DisassemblerGraphView(QWidget *parent, CutterSeekable *seekable, MainWindow *mainWindow, QList<QAction*> additionalMenuAction)
+
+ +
+
+~DisassemblerGraphView() override
+
+ +
+
+virtual void drawBlock(QPainter &p, GraphView::GraphBlock &block, bool interactive) override
+

drawBlock

+
+
Parameters:
+
    +
  • p – painter object, not necesarily current widget

  • +
  • block

  • +
  • interactive – - can be used for disabling elemnts during export

  • +
+
+
+
+ +
+
+virtual void blockClicked(GraphView::GraphBlock &block, QMouseEvent *event, QPoint pos) override
+
+ +
+
+virtual void blockDoubleClicked(GraphView::GraphBlock &block, QMouseEvent *event, QPoint pos) override
+
+ +
+
+virtual bool helpEvent(QHelpEvent *event) override
+
+ +
+
+virtual void blockHelpEvent(GraphView::GraphBlock &block, QHelpEvent *event, QPoint pos) override
+
+ +
+
+virtual GraphView::EdgeConfiguration edgeConfiguration(GraphView::GraphBlock &from, GraphView::GraphBlock *to, bool interactive) override
+
+ +
+
+virtual void blockTransitionedTo(GraphView::GraphBlock *to) override
+
+ +
+
+void loadCurrentGraph()
+
+ +
+
+inline int getWidth()
+
+ +
+
+inline int getHeight()
+
+ +
+
+inline std::unordered_map<ut64, GraphBlock> getBlocks()
+
+ +
+
+EdgeConfigurationMapping getEdgeConfigurations()
+
+ +
+
+inline bool isGraphEmpty()
+
+ +
+
+

Public Members

+
+
+std::unordered_map<ut64, DisassemblyBlock> disassembly_blocks
+
+ +
+
+QString windowTitle
+
+ +
+
+ut64 currentFcnAddr = RVA_INVALID
+

keep the current addr of the fcn of Graph Everytime overview updates its contents, it compares this value with the one in Graph if they aren’t same, then Overview needs to update the pixmap cache.

+
+ +
+
+

Public Slots

+
+
+void refreshView() override
+
+ +
+
+void onSeekChanged(RVA addr)
+
+ +
+
+void takeTrue()
+
+ +
+
+void takeFalse()
+
+ +
+
+void nextInstr()
+
+ +
+
+void prevInstr()
+
+ +
+
+void copySelection()
+
+ +
+
+

Signals

+
+
+void nameChanged(const QString &name)
+
+ +
+
+ +
+ + +
+
+
+
+ + +
+
+ + + + + + + \ No newline at end of file diff --git a/docs/api/widgets/classDisassemblyLeftPanel.html b/docs/api/widgets/classDisassemblyLeftPanel.html new file mode 100644 index 000000000..e74156f00 --- /dev/null +++ b/docs/api/widgets/classDisassemblyLeftPanel.html @@ -0,0 +1,300 @@ + + + + + + + + DisassemblyLeftPanel — Cutter 2.4.0 documentation + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+ +
+

DisassemblyLeftPanel

+
+
+class DisassemblyLeftPanel : public QFrame
+

This class is used to draw the left pane of the disassembly widget. Its goal is to draw proper arrows for the jumps of the disassembly.

+
+

Public Functions

+
+
+DisassemblyLeftPanel(DisassemblyWidget *disas)
+
+ +
+
+void paintEvent(QPaintEvent *event) override
+
+ +
+
+void wheelEvent(QWheelEvent *event) override
+
+ +
+
+void clearArrowFrom(RVA offset)
+
+ +
+
+ +
+ + +
+
+
+
+ + +
+
+ + + + + + + \ No newline at end of file diff --git a/docs/api/widgets/classDisassemblyScrollArea.html b/docs/api/widgets/classDisassemblyScrollArea.html new file mode 100644 index 000000000..04471c608 --- /dev/null +++ b/docs/api/widgets/classDisassemblyScrollArea.html @@ -0,0 +1,297 @@ + + + + + + + + DisassemblyScrollArea — Cutter 2.4.0 documentation + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+ +
+

DisassemblyScrollArea

+
+
+class DisassemblyScrollArea : public QAbstractScrollArea
+
+

Public Functions

+
+
+explicit DisassemblyScrollArea(QWidget *parent = nullptr)
+
+ +
+
+

Signals

+
+
+void scrollLines(int lines)
+
+ +
+
+void disassemblyResized()
+
+ +
+
+ +
+ + +
+
+
+
+ + +
+
+ + + + + + + \ No newline at end of file diff --git a/docs/api/widgets/classDisassemblyTextEdit.html b/docs/api/widgets/classDisassemblyTextEdit.html new file mode 100644 index 000000000..9f97428b5 --- /dev/null +++ b/docs/api/widgets/classDisassemblyTextEdit.html @@ -0,0 +1,294 @@ + + + + + + + + DisassemblyTextEdit — Cutter 2.4.0 documentation + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+ +
+

DisassemblyTextEdit

+
+
+class DisassemblyTextEdit : public QPlainTextEdit
+
+

Public Functions

+
+
+inline explicit DisassemblyTextEdit(QWidget *parent = nullptr)
+
+ +
+
+inline void setLockScroll(bool lock)
+
+ +
+
+qreal textOffset() const
+
+ +
+
+ +
+ + +
+
+
+
+ + +
+
+ + + + + + + \ No newline at end of file diff --git a/docs/api/widgets/classDisassemblyWidget.html b/docs/api/widgets/classDisassemblyWidget.html new file mode 100644 index 000000000..b00a2ad9c --- /dev/null +++ b/docs/api/widgets/classDisassemblyWidget.html @@ -0,0 +1,352 @@ + + + + + + + + DisassemblyWidget — Cutter 2.4.0 documentation + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+ +
+

DisassemblyWidget

+
+
+class DisassemblyWidget : public MemoryDockWidget
+
+

Public Functions

+
+
+explicit DisassemblyWidget(MainWindow *main)
+
+ +
+
+QWidget *getTextWidget()
+
+ +
+
+

Public Slots

+
+
+void highlightCurrentLine()
+

Highlights the currently selected line and updates the highlighting of the same words under the cursor in the visible screen. This overrides all previous highlighting.

+
+ +
+
+void highlightPCLine()
+

Adds the PC line highlighting to the other current highlighting. This should be called after highlightCurrentLine since that function overrides all previous highlighting.

+
+ +
+
+void showDisasContextMenu(const QPoint &pt)
+
+ +
+
+void fontsUpdatedSlot()
+
+ +
+
+void colorsUpdatedSlot()
+
+ +
+
+void scrollInstructions(int count)
+
+ +
+
+void seekPrev()
+
+ +
+
+void setPreviewMode(bool previewMode)
+
+ +
+
+QFontMetrics getFontMetrics()
+
+ +
+
+QList<DisassemblyLine> getLines()
+
+ +
+
+

Public Static Functions

+
+
+static QString getWidgetType()
+
+ +
+
+ +
+ + +
+
+
+
+ + +
+
+ + + + + + + \ No newline at end of file diff --git a/docs/api/widgets/classEntrypointWidget.html b/docs/api/widgets/classEntrypointWidget.html new file mode 100644 index 000000000..0152292cb --- /dev/null +++ b/docs/api/widgets/classEntrypointWidget.html @@ -0,0 +1,289 @@ + + + + + + + + EntrypointWidget — Cutter 2.4.0 documentation + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+ +
+

EntrypointWidget

+
+
+class EntrypointWidget : public CutterDockWidget
+
+

Public Functions

+
+
+explicit EntrypointWidget(MainWindow *main)
+
+ +
+
+~EntrypointWidget()
+
+ +
+
+ +
+ + +
+
+
+
+ + +
+
+ + + + + + + \ No newline at end of file diff --git a/docs/api/widgets/classExportsModel.html b/docs/api/widgets/classExportsModel.html new file mode 100644 index 000000000..190ad836c --- /dev/null +++ b/docs/api/widgets/classExportsModel.html @@ -0,0 +1,373 @@ + + + + + + + + ExportsModel — Cutter 2.4.0 documentation + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+ +
+

ExportsModel

+
+
+class ExportsModel : public AddressableItemModel<QAbstractListModel>
+
+

Public Types

+
+
+enum Column
+

Values:

+
+
+enumerator OffsetColumn
+
+ +
+
+enumerator SizeColumn
+
+ +
+
+enumerator TypeColumn
+
+ +
+
+enumerator NameColumn
+
+ +
+
+enumerator CommentColumn
+
+ +
+
+enumerator ColumnCount
+
+ +
+ +
+
+enum Role
+

Values:

+
+
+enumerator ExportDescriptionRole
+
+ +
+ +
+
+

Public Functions

+
+
+ExportsModel(QList<ExportDescription> *exports, QObject *parent = nullptr)
+
+ +
+
+int rowCount(const QModelIndex &parent = QModelIndex()) const override
+
+ +
+
+int columnCount(const QModelIndex &parent = QModelIndex()) const override
+
+ +
+
+QVariant data(const QModelIndex &index, int role) const override
+
+ +
+
+QVariant headerData(int section, Qt::Orientation orientation, int role = Qt::DisplayRole) const override
+
+ +
+
+virtual RVA address(const QModelIndex &index) const override
+
+ +
+
+virtual QString name(const QModelIndex &index) const override
+

Get name for item, optional.

+
+
Parameters:
+

index – item intex

+
+
Returns:
+

Item name or empty QString if item doesn’t have short descriptive name.

+
+
+
+ +
+
+ +
+ + +
+
+
+
+ + +
+
+ + + + + + + \ No newline at end of file diff --git a/docs/api/widgets/classExportsProxyModel.html b/docs/api/widgets/classExportsProxyModel.html new file mode 100644 index 000000000..1aace2849 --- /dev/null +++ b/docs/api/widgets/classExportsProxyModel.html @@ -0,0 +1,284 @@ + + + + + + + + ExportsProxyModel — Cutter 2.4.0 documentation + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+ +
+

ExportsProxyModel

+
+
+class ExportsProxyModel : public AddressableFilterProxyModel
+
+

Public Functions

+
+
+ExportsProxyModel(ExportsModel *source_model, QObject *parent = nullptr)
+
+ +
+
+ +
+ + +
+
+
+
+ + +
+
+ + + + + + + \ No newline at end of file diff --git a/docs/api/widgets/classExportsWidget.html b/docs/api/widgets/classExportsWidget.html new file mode 100644 index 000000000..372a90b78 --- /dev/null +++ b/docs/api/widgets/classExportsWidget.html @@ -0,0 +1,289 @@ + + + + + + + + ExportsWidget — Cutter 2.4.0 documentation + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+ +
+

ExportsWidget

+
+
+class ExportsWidget : public ListDockWidget
+
+

Public Functions

+
+
+explicit ExportsWidget(MainWindow *main)
+
+ +
+
+~ExportsWidget()
+
+ +
+
+ +
+ + +
+
+
+
+ + +
+
+ + + + + + + \ No newline at end of file diff --git a/docs/api/widgets/classFlagsModel.html b/docs/api/widgets/classFlagsModel.html new file mode 100644 index 000000000..ffe80a895 --- /dev/null +++ b/docs/api/widgets/classFlagsModel.html @@ -0,0 +1,375 @@ + + + + + + + + FlagsModel — Cutter 2.4.0 documentation + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+ +
+

FlagsModel

+
+
+class FlagsModel : public AddressableItemModel<QAbstractListModel>
+
+

Public Types

+
+
+enum Columns
+

Values:

+
+
+enumerator OFFSET
+
+ +
+
+enumerator SIZE
+
+ +
+
+enumerator NAME
+
+ +
+
+enumerator REALNAME
+
+ +
+
+enumerator COMMENT
+
+ +
+
+enumerator COUNT
+
+ +
+ +
+
+

Public Functions

+
+
+FlagsModel(QList<FlagDescription> *flags, QObject *parent = nullptr)
+
+ +
+
+int rowCount(const QModelIndex &parent = QModelIndex()) const override
+
+ +
+
+int columnCount(const QModelIndex &parent = QModelIndex()) const override
+
+ +
+
+QVariant data(const QModelIndex &index, int role) const override
+
+ +
+
+QVariant headerData(int section, Qt::Orientation orientation, int role = Qt::DisplayRole) const override
+
+ +
+
+virtual RVA address(const QModelIndex &index) const override
+
+ +
+
+virtual QString name(const QModelIndex &index) const override
+

Get name for item, optional.

+
+
Parameters:
+

index – item intex

+
+
Returns:
+

Item name or empty QString if item doesn’t have short descriptive name.

+
+
+
+ +
+
+const FlagDescription *description(QModelIndex index) const
+
+ +
+
+

Public Static Attributes

+
+
+static const int FlagDescriptionRole = Qt::UserRole
+
+ +
+
+ +
+ + +
+
+
+
+ + +
+
+ + + + + + + \ No newline at end of file diff --git a/docs/api/widgets/classFlagsSortFilterProxyModel.html b/docs/api/widgets/classFlagsSortFilterProxyModel.html new file mode 100644 index 000000000..658c1bfe6 --- /dev/null +++ b/docs/api/widgets/classFlagsSortFilterProxyModel.html @@ -0,0 +1,284 @@ + + + + + + + + FlagsSortFilterProxyModel — Cutter 2.4.0 documentation + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+ +
+

FlagsSortFilterProxyModel

+
+
+class FlagsSortFilterProxyModel : public AddressableFilterProxyModel
+
+

Public Functions

+
+
+FlagsSortFilterProxyModel(FlagsModel *source_model, QObject *parent = nullptr)
+
+ +
+
+ +
+ + +
+
+
+
+ + +
+
+ + + + + + + \ No newline at end of file diff --git a/docs/api/widgets/classFlagsWidget.html b/docs/api/widgets/classFlagsWidget.html new file mode 100644 index 000000000..942531865 --- /dev/null +++ b/docs/api/widgets/classFlagsWidget.html @@ -0,0 +1,289 @@ + + + + + + + + FlagsWidget — Cutter 2.4.0 documentation + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+ +
+

FlagsWidget

+
+
+class FlagsWidget : public CutterDockWidget
+
+

Public Functions

+
+
+explicit FlagsWidget(MainWindow *main)
+
+ +
+
+~FlagsWidget()
+
+ +
+
+ +
+ + +
+
+
+
+ + +
+
+ + + + + + + \ No newline at end of file diff --git a/docs/api/widgets/classFlirtModel.html b/docs/api/widgets/classFlirtModel.html new file mode 100644 index 000000000..c9fcb53e8 --- /dev/null +++ b/docs/api/widgets/classFlirtModel.html @@ -0,0 +1,359 @@ + + + + + + + + FlirtModel — Cutter 2.4.0 documentation + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+ +
+

FlirtModel

+
+
+class FlirtModel : public QAbstractListModel
+
+

Public Types

+
+
+enum Column
+

Values:

+
+
+enumerator BinTypeColumn
+
+ +
+
+enumerator ArchNameColumn
+
+ +
+
+enumerator ArchBitsColumn
+
+ +
+
+enumerator NumModulesColumn
+
+ +
+
+enumerator NameColumn
+
+ +
+
+enumerator DetailsColumn
+
+ +
+
+enumerator ColumnCount
+
+ +
+ +
+
+enum Role
+

Values:

+
+
+enumerator FlirtDescriptionRole
+
+ +
+ +
+
+

Public Functions

+
+
+FlirtModel(QList<FlirtDescription> *sigdb, QObject *parent = 0)
+
+ +
+
+QVariant data(const QModelIndex &index, int role = Qt::DisplayRole) const
+
+ +
+
+QVariant headerData(int section, Qt::Orientation orientation, int role = Qt::DisplayRole) const
+
+ +
+
+int rowCount(const QModelIndex &parent = QModelIndex()) const
+
+ +
+
+int columnCount(const QModelIndex &parent = QModelIndex()) const
+
+ +
+
+ +
+ + +
+
+
+
+ + +
+
+ + + + + + + \ No newline at end of file diff --git a/docs/api/widgets/classFlirtProxyModel.html b/docs/api/widgets/classFlirtProxyModel.html new file mode 100644 index 000000000..ca5cc2536 --- /dev/null +++ b/docs/api/widgets/classFlirtProxyModel.html @@ -0,0 +1,284 @@ + + + + + + + + FlirtProxyModel — Cutter 2.4.0 documentation + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+ +
+

FlirtProxyModel

+
+
+class FlirtProxyModel : public QSortFilterProxyModel
+
+

Public Functions

+
+
+FlirtProxyModel(FlirtModel *sourceModel, QObject *parent = nullptr)
+
+ +
+
+ +
+ + +
+
+
+
+ + +
+
+ + + + + + + \ No newline at end of file diff --git a/docs/api/widgets/classFlirtWidget.html b/docs/api/widgets/classFlirtWidget.html new file mode 100644 index 000000000..1e6ecae40 --- /dev/null +++ b/docs/api/widgets/classFlirtWidget.html @@ -0,0 +1,289 @@ + + + + + + + + FlirtWidget — Cutter 2.4.0 documentation + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+ +
+

FlirtWidget

+
+
+class FlirtWidget : public CutterDockWidget
+
+

Public Functions

+
+
+explicit FlirtWidget(MainWindow *main)
+
+ +
+
+~FlirtWidget()
+
+ +
+
+ +
+ + +
+
+
+
+ + +
+
+ + + + + + + \ No newline at end of file diff --git a/docs/api/widgets/classFunctionModel.html b/docs/api/widgets/classFunctionModel.html new file mode 100644 index 000000000..73d3e95c3 --- /dev/null +++ b/docs/api/widgets/classFunctionModel.html @@ -0,0 +1,435 @@ + + + + + + + + FunctionModel — Cutter 2.4.0 documentation + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+ +
+

FunctionModel

+
+
+class FunctionModel : public AddressableItemModel<>
+
+

Public Types

+
+
+enum Column
+

Values:

+
+
+enumerator NameColumn
+
+ +
+
+enumerator SizeColumn
+
+ +
+
+enumerator ImportColumn
+
+ +
+
+enumerator OffsetColumn
+
+ +
+
+enumerator NargsColumn
+
+ +
+
+enumerator NlocalsColumn
+
+ +
+
+enumerator NbbsColumn
+
+ +
+
+enumerator CalltypeColumn
+
+ +
+
+enumerator EdgesColumn
+
+ +
+
+enumerator FrameColumn
+
+ +
+
+enumerator CommentColumn
+
+ +
+
+enumerator ColumnCount
+
+ +
+ +
+
+

Public Functions

+
+
+FunctionModel(QList<FunctionDescription> *functions, QSet<RVA> *importAddresses, ut64 *mainAdress, bool nested, QFont defaultFont, QFont highlightFont, QObject *parent = nullptr)
+
+ +
+
+QModelIndex index(int row, int column, const QModelIndex &parent = QModelIndex()) const override
+
+ +
+
+QModelIndex parent(const QModelIndex &index) const override
+
+ +
+
+int rowCount(const QModelIndex &parent = QModelIndex()) const override
+
+ +
+
+int columnCount(const QModelIndex &parent = QModelIndex()) const override
+
+ +
+
+QVariant data(const QModelIndex &index, int role) const override
+
+ +
+
+QVariant headerData(int section, Qt::Orientation orientation, int role = Qt::DisplayRole) const override
+
+ +
+
+bool updateCurrentIndex()
+
+
Returns:
+

true if the index changed

+
+
+
+ +
+
+void setNested(bool nested)
+
+ +
+
+inline bool isNested()
+
+ +
+
+virtual RVA address(const QModelIndex &index) const override
+
+ +
+
+virtual QString name(const QModelIndex &index) const override
+

Get name for item, optional.

+
+
Parameters:
+

index – item intex

+
+
Returns:
+

Item name or empty QString if item doesn’t have short descriptive name.

+
+
+
+ +
+
+

Public Static Attributes

+
+
+static const int FunctionDescriptionRole = Qt::UserRole
+
+ +
+
+static const int IsImportRole = Qt::UserRole + 1
+
+ +
+
+ +
+ + +
+
+
+
+ + +
+
+ + + + + + + \ No newline at end of file diff --git a/docs/api/widgets/classFunctionSortFilterProxyModel.html b/docs/api/widgets/classFunctionSortFilterProxyModel.html new file mode 100644 index 000000000..a7d9dc734 --- /dev/null +++ b/docs/api/widgets/classFunctionSortFilterProxyModel.html @@ -0,0 +1,284 @@ + + + + + + + + FunctionSortFilterProxyModel — Cutter 2.4.0 documentation + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+ +
+

FunctionSortFilterProxyModel

+
+
+class FunctionSortFilterProxyModel : public AddressableFilterProxyModel
+
+

Public Functions

+
+
+FunctionSortFilterProxyModel(FunctionModel *source_model, QObject *parent = nullptr)
+
+ +
+
+ +
+ + +
+
+
+
+ + +
+
+ + + + + + + \ No newline at end of file diff --git a/docs/api/widgets/classFunctionsWidget.html b/docs/api/widgets/classFunctionsWidget.html new file mode 100644 index 000000000..124d9c645 --- /dev/null +++ b/docs/api/widgets/classFunctionsWidget.html @@ -0,0 +1,294 @@ + + + + + + + + FunctionsWidget — Cutter 2.4.0 documentation + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+ +
+

FunctionsWidget

+
+
+class FunctionsWidget : public ListDockWidget
+
+

Public Functions

+
+
+explicit FunctionsWidget(MainWindow *main)
+
+ +
+
+~FunctionsWidget() override
+
+ +
+
+void changeSizePolicy(QSizePolicy::Policy hor, QSizePolicy::Policy ver)
+
+ +
+
+ +
+ + +
+
+
+
+ + +
+
+ + + + + + + \ No newline at end of file diff --git a/docs/api/widgets/classGenericRizinGraphView.html b/docs/api/widgets/classGenericRizinGraphView.html new file mode 100644 index 000000000..9b4b032d1 --- /dev/null +++ b/docs/api/widgets/classGenericRizinGraphView.html @@ -0,0 +1,307 @@ + + + + + + + + GenericRizinGraphView — Cutter 2.4.0 documentation + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+ +
+

GenericRizinGraphView

+
+
+class GenericRizinGraphView : public SimpleTextGraphView
+

Generic graph view for rizin graphs. Not all rizin graph commands output the same kind of json. Only those that have following format.

+

{ "nodes": [
+     {
+         "id": 0,
+         "tittle": "node_0_tittle",
+         "body": "".
+         "out_nodes": [1, 2, 3]
+     },
+     ...
+]}
+
+
+ Id don’t have to be sequential. Simple text label is displayed containing concatenation of label and body. No rizin builtin graph uses both. Duplicate edges and edges with target id not present in the list of nodes are removed.

+
+

Public Functions

+
+
+GenericRizinGraphView(RizinGraphWidget *parent, MainWindow *main)
+
+ +
+
+void setGraphCommand(QString cmd)
+
+ +
+
+virtual void refreshView() override
+
+ +
+
+ +
+ + +
+
+
+
+ + +
+
+ + + + + + + \ No newline at end of file diff --git a/docs/api/widgets/classGlibcHeapModel.html b/docs/api/widgets/classGlibcHeapModel.html new file mode 100644 index 000000000..df52c7a78 --- /dev/null +++ b/docs/api/widgets/classGlibcHeapModel.html @@ -0,0 +1,346 @@ + + + + + + + + GlibcHeapModel — Cutter 2.4.0 documentation + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+ +
+

GlibcHeapModel

+
+
+class GlibcHeapModel : public QAbstractTableModel
+
+

Public Types

+
+
+enum Column
+

Values:

+
+
+enumerator OffsetColumn
+
+ +
+
+enumerator SizeColumn
+
+ +
+
+enumerator StatusColumn
+
+ +
+
+enumerator ColumnCount
+
+ +
+ +
+
+

Public Functions

+
+
+explicit GlibcHeapModel(QObject *parent = nullptr)
+
+ +
+
+void reload()
+
+ +
+
+int rowCount(const QModelIndex &parent) const override
+
+ +
+
+int columnCount(const QModelIndex &parent) const override
+
+ +
+
+QVariant data(const QModelIndex &index, int role) const override
+
+ +
+
+QVariant headerData(int section, Qt::Orientation orientation, int role) const override
+
+ +
+
+

Public Members

+
+
+RVA arena_addr = 0
+
+ +
+
+ +
+ + +
+
+
+
+ + +
+
+ + + + + + + \ No newline at end of file diff --git a/docs/api/widgets/classGlibcHeapWidget.html b/docs/api/widgets/classGlibcHeapWidget.html new file mode 100644 index 000000000..53708e437 --- /dev/null +++ b/docs/api/widgets/classGlibcHeapWidget.html @@ -0,0 +1,289 @@ + + + + + + + + GlibcHeapWidget — Cutter 2.4.0 documentation + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+ +
+

GlibcHeapWidget

+
+
+class GlibcHeapWidget : public QWidget
+
+

Public Functions

+
+
+explicit GlibcHeapWidget(MainWindow *main, QWidget *parent)
+
+ +
+
+~GlibcHeapWidget()
+
+ +
+
+ +
+ + +
+
+
+
+ + +
+
+ + + + + + + \ No newline at end of file diff --git a/docs/api/widgets/classGlobalsModel.html b/docs/api/widgets/classGlobalsModel.html new file mode 100644 index 000000000..e04bcbd60 --- /dev/null +++ b/docs/api/widgets/classGlobalsModel.html @@ -0,0 +1,368 @@ + + + + + + + + GlobalsModel — Cutter 2.4.0 documentation + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+ +
+

GlobalsModel

+
+
+class GlobalsModel : public AddressableItemModel<QAbstractListModel>
+
+

Public Types

+
+
+enum Column
+

Values:

+
+
+enumerator AddressColumn
+
+ +
+
+enumerator TypeColumn
+
+ +
+
+enumerator NameColumn
+
+ +
+
+enumerator CommentColumn
+
+ +
+
+enumerator ColumnCount
+
+ +
+ +
+
+enum Role
+

Values:

+
+
+enumerator GlobalDescriptionRole
+
+ +
+ +
+
+

Public Functions

+
+
+GlobalsModel(QList<GlobalDescription> *exports, QObject *parent = nullptr)
+
+ +
+
+int rowCount(const QModelIndex &parent = QModelIndex()) const override
+
+ +
+
+int columnCount(const QModelIndex &parent = QModelIndex()) const override
+
+ +
+
+QVariant data(const QModelIndex &index, int role) const override
+
+ +
+
+QVariant headerData(int section, Qt::Orientation orientation, int role = Qt::DisplayRole) const override
+
+ +
+
+virtual RVA address(const QModelIndex &index) const override
+
+ +
+
+virtual QString name(const QModelIndex &index) const override
+

Get name for item, optional.

+
+
Parameters:
+

index – item intex

+
+
Returns:
+

Item name or empty QString if item doesn’t have short descriptive name.

+
+
+
+ +
+
+ +
+ + +
+
+
+
+ + +
+
+ + + + + + + \ No newline at end of file diff --git a/docs/api/widgets/classGlobalsProxyModel.html b/docs/api/widgets/classGlobalsProxyModel.html new file mode 100644 index 000000000..0227f8427 --- /dev/null +++ b/docs/api/widgets/classGlobalsProxyModel.html @@ -0,0 +1,284 @@ + + + + + + + + GlobalsProxyModel — Cutter 2.4.0 documentation + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+ +
+

GlobalsProxyModel

+
+
+class GlobalsProxyModel : public AddressableFilterProxyModel
+
+

Public Functions

+
+
+GlobalsProxyModel(GlobalsModel *sourceModel, QObject *parent = nullptr)
+
+ +
+
+ +
+ + +
+
+
+
+ + +
+
+ + + + + + + \ No newline at end of file diff --git a/docs/api/widgets/classGlobalsWidget.html b/docs/api/widgets/classGlobalsWidget.html new file mode 100644 index 000000000..b667e9162 --- /dev/null +++ b/docs/api/widgets/classGlobalsWidget.html @@ -0,0 +1,289 @@ + + + + + + + + GlobalsWidget — Cutter 2.4.0 documentation + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+ +
+

GlobalsWidget

+
+
+class GlobalsWidget : public CutterDockWidget
+
+

Public Functions

+
+
+explicit GlobalsWidget(MainWindow *main)
+
+ +
+
+~GlobalsWidget()
+
+ +
+
+ +
+ + +
+
+
+
+ + +
+
+ + + + + + + \ No newline at end of file diff --git a/docs/api/widgets/classGraphGridLayout.html b/docs/api/widgets/classGraphGridLayout.html new file mode 100644 index 000000000..6d307111b --- /dev/null +++ b/docs/api/widgets/classGraphGridLayout.html @@ -0,0 +1,409 @@ + + + + + + + + GraphGridLayout — Cutter 2.4.0 documentation + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+ +
+

GraphGridLayout

+
+
+class GraphGridLayout : public GraphLayout
+

Graph layout algorithm on layered graph layout approach. For simplicity all the nodes are placed in a grid.

+

Basic familiarity with graph algorithms is recommended.

+

Terms used:

+

    +
  • Vertex, node, block - see the definition of graph. Within this text vertex/node/block are used interchangeably due to the code being purposed for visualizing basic block control flow graph.

  • +
  • edge - see the definition of graph.

  • +
  • DAG - directed acyclic graph, a graph using directed edges which doesn’t have cycles. A DAG may contain loops if following them would require going in both directions of edges. Example 1->2 1->3 3->2 is a DAG, 2->1 1->3 3->2 isn’t a DAG.

  • +
  • DFS - depth first search, a graph traversal algorithm

  • +
  • toposort - topological sorting, the process of ordering a DAG vertices that results in all edges going from vertices earlier in the toposort order to vertices later in toposort order. There are multiple algorithms implementing toposort. A single DAG can have multiple valid topological orderings, a toposort algorithm can be designed to prioritize a specific one from all valid toposort orders. Example: for graph 1->4, 2->1, 2->3, 3->4 valid topological orders are [2,1,3,4] and [2,3,1,4].

  • +
+

+

High level algorithm structure

+

    +
  1. Select a subset of edges that form a DAG (remove cycles)

  2. +
  3. Toposort the DAG

  4. +
  5. Choose a subset of edges that form a tree and assign layers

  6. +
  7. Assign node positions within grid using tree structure, child subtrees are placed side by side with parent on top

  8. +
  9. Perform edge routing

  10. +
  11. Calculate column and row pixel positions based on node sizes and amount edges between the rows

  12. +
  13. [optional] Layout compacting

  14. +
+

+

Contrary to many other layered graph-drawing algorithms this implementation doesn’t perform node reordering to minimize edge crossing. This simplifies the implementation, and preserves the original control-flow structure for conditional jumps ( true jump on one side, false jump on other). Due to most of the control flow resulting from structured programming constructs like if/then/else and loops, the resulting layout is usually readable without node reordering within layers.

+

Grid

+

To simplify the layout algorithm, its initial steps assume that all nodes have the same size and that edges are zero-width. After nodes placement and edges rounting, the row/column of nodes is known as well as the amount of edges between each pair of rows. Using this information, positions are converted from grid cells to pixel coordinates. Routing zero-width edges between rows can also be interpreted as every second row and column being reserved for edges. The row numbers in code are using the first interpretation. To allow better centering of nodes one above other, each node is 2 columns wide and 1 row high.

+

../../_images/graph_grid.svg

+

1-2 Cycle removal and toposort

+

Cycle removal and toposort are done in a single DFS traversal. In case the entrypoint is part of a loop, the DFS starts from the entrypoint. This ensures that the entrypoint is at the top of resulting layout, if possible. The resulting toposort order is used in many of the following layout steps that require calculating some property of a vertex based on a child property or the other way around. Using toposort order, such operations can be implemented by array iteration in either forward/backward direction. To prevent running out of stack memory when processing large graphs, DFS is implemented non-recursively.

+

Row assignment

+

Rows are assigned in toposort order from top to bottom, with nodes row being max(predecessor.row)+1. This ensures that loop back-edges are the only edges going from lower to higher layers.

+

To further simply node placement, a subset of edges is selected which forms a tree. This turns a DAG drawing problem into a tree drawing problem. For each node in level n the following nodes with level exactly n+1 are greedily assigned as child nodes in the tree. If a node already has a parent assigned then the corresponding edge is not part of the tree.

+

Node placement

+

Since the graph has been reduced to a tree, node placement is more or less putting subtrees side by side with parent on top. There is some room for interpretation as to what exactly ‘side by side’ means and where exactly ‘on top’ is: drawing the graph either too dense or too sparse may make it less readable, so there are configuration options which allow choosing these things resulting in more or less dense layout.

+

Once the subtrees are placed side by side, the parent node can be placed either in the middle of the horizontal bounds or in the middle of its direct children. The first option results in narrower layout and more vertical columns, while the second option results in more spread out layout which may help seeing where each edge goes.

+

In compact mode two subtrees are placed side by side accounting for their shape. In wider mode the bounding box of the shorter subtree is used instead of its exact shape. This gives slightly sparser layout without being too wide.

+

../../_images/graph_parent_placement.svg

+

Edge routing

+

Edge routing can be split into: main column selection, rough routing, and segment offset calculation.

+

Transition from source to target row is done using a single vertical segment. This segment is called the ‘main column’.

+

Main columns are computed using a sweep line: blocks and edges are processed as events top to bottom based off their row (max(start row, end row) for edges). Blocked columns are tracked in a tree structure which allows searching nearest column with at least last N rows empty. The column of the starting block is favored for the main column, otherwise the target block’s column is chosen if it is not blocked. If both the source and target columns are blocked, nearest unblocked column is chosen. An empty column can always be found, in the worst case there are empty columns at the sides of drawing. If two columns are equally close, the tie is broken based on whether the edge is a true or false branch. In case of upward edges it is allowed to choose a column on the outside which is slightly further than nearest empty to reduce the chance of producing tilted figure 8 shaped crossing between two blocks.

+

Due to nodes being placed in a grid, horizontal segments of edges can’t intersect with any nodes. The path for edges is chosen so that it consists of at most 5 segments, typically resulting in sideways U shape or square Z shape:

    +
  • short vertical segment from node to horizontal line

  • +
  • move to empty column

  • +
  • vertical segment between starting row and end row

  • +
  • horizontal segment to target node column

  • +
  • short vertical segment connecting to target node

  • +
+

+

There are 3 special cases:

    +
  • source and target nodes are in the same column with no nodes between - single vertical segment

  • +
  • column bellow stating node is empty - segments 1-3 are merged

  • +
  • column above target node is empty - segments 3-5 are merged

  • +
+

+

After rough routing segment offsets are calculated relative to their corresponding edge column. This ensures that two segments don’t overlap. Segment offsets within each column are assigned greedily with some heuristics for assignment order to reduce amount of edge crossings and result in more visually pleasing output for a typical CFG graph. Each segment gets assigned an offset that is maximum of previously assigned offsets overlapping with current segment + segment spacing.

+

Assignment order is based on:

    +
  • direction of previous and last segment - helps reducing crossings and place the segments between nodes

  • +
  • segment length - reduces crossing when segment endpoints have the same structure as valid parentheses expression

  • +
  • edge length - establishes some kind of order when single node is connected to many edges, typically a block with switch statement or block after switch statement.

  • +
+

+

Layout compacting

+

Doing the layout on a grid limits the minimal spacing to the widest block within a column and tallest block within a row. One common case is a function-entry block being wider due to the function name, causing wide horizontal space between branching blocks. Another case is rows in two parallel columns being aligned.

+

../../_images/layout_compacting.svg

+

Both problems are mitigated by squishing the graph. Compressing in each of the two direction is done separately. The process is defined as liner program. Each variable represents a position of edge segment or node in the direction being optimized.

+

The following constraints are used:

    +
  • Keep the order with nearest segments.

  • +
  • If a node has two outgoing edges, one to the left and one to the right, keep them on the corresponding side of the node’s center.

  • +
  • Equality constraint to keep relative position between nodes and and segments directly connected to them.

  • +
  • For all blocks connected by forward edge, keep the vertical distance at least as big as configured block vertical spacing. This helps when vertical block-spacing is set bigger than double edge spacing and an edge shadows relationship between two blocks.

  • +
  • Equality constraint to keep a node centered when control flow merges.

  • +
+

+

In the vertical direction the objective function minimizes y positions of nodes and lengths of vertical segments. In the horizontal direction the objective function minimizes the lengths of horizontal segments.

+

In the resulting linear program all constraints besides x_i >= 0 consist of exactly two variables: either x_i - x_j <= c_k or x_i = x_j + c_k.

+

Since a perfect solution isn’t necessary and to avoid worst case performance, the current implementation isn’t using a general purpose linear solver. Instead, each variable is modified until a constraint is satisfied and afterwards variables are grouped and modified together.

+
+

Public Types

+
+
+enum class LayoutType
+

Values:

+
+
+enumerator Medium
+
+ +
+
+enumerator Wide
+
+ +
+
+enumerator Narrow
+
+ +
+ +
+
+

Public Functions

+
+
+GraphGridLayout(LayoutType layoutType = LayoutType::Medium)
+
+ +
+
+virtual void CalculateLayout(Graph &blocks, ut64 entry, int &width, int &height) const override
+
+ +
+
+inline void setTightSubtreePlacement(bool enabled)
+
+ +
+
+inline void setParentBetweenDirectChild(bool enabled)
+
+ +
+
+inline void setverticalBlockAlignmentMiddle(bool enabled)
+
+ +
+
+inline void setLayoutOptimization(bool enabled)
+
+ +
+
+ +
+ + +
+
+
+
+ + +
+
+ + + + + + + \ No newline at end of file diff --git a/docs/api/widgets/classGraphHorizontalAdapter.html b/docs/api/widgets/classGraphHorizontalAdapter.html new file mode 100644 index 000000000..5e8b03cf0 --- /dev/null +++ b/docs/api/widgets/classGraphHorizontalAdapter.html @@ -0,0 +1,295 @@ + + + + + + + + GraphHorizontalAdapter — Cutter 2.4.0 documentation + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+ +
+

GraphHorizontalAdapter

+
+
+class GraphHorizontalAdapter : public GraphLayout
+

Adapter for converting vertical graph layout into horizontal one.

+
+

Public Functions

+
+
+GraphHorizontalAdapter(std::unique_ptr<GraphLayout> layout)
+
+ +
+
+virtual void CalculateLayout(GraphLayout::Graph &blocks, ut64 entry, int &width, int &height) const override
+
+ +
+
+virtual void setLayoutConfig(const LayoutConfig &config) override
+
+ +
+
+ +
+ + +
+
+
+
+ + +
+
+ + + + + + + \ No newline at end of file diff --git a/docs/api/widgets/classGraphLayout.html b/docs/api/widgets/classGraphLayout.html new file mode 100644 index 000000000..92a1cbee9 --- /dev/null +++ b/docs/api/widgets/classGraphLayout.html @@ -0,0 +1,439 @@ + + + + + + + + GraphLayout — Cutter 2.4.0 documentation + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+ +
+

GraphLayout

+
+
+class GraphLayout
+

Subclassed by GraphGridLayout, GraphHorizontalAdapter, GraphvizLayout

+
+

Public Types

+
+
+using Graph = std::unordered_map<ut64, GraphBlock>
+
+ +
+
+

Public Functions

+
+
+inline GraphLayout(const LayoutConfig &layout_config)
+
+ +
+
+inline virtual ~GraphLayout()
+
+ +
+
+virtual void CalculateLayout(Graph &blocks, ut64 entry, int &width, int &height) const = 0
+
+ +
+
+inline virtual void setLayoutConfig(const LayoutConfig &config)
+
+ +
+
+
+struct GraphBlock
+
+

Public Members

+
+
+int x = 0
+
+ +
+
+int y = 0
+
+ +
+
+int width = 0
+
+ +
+
+int height = 0
+
+ +
+
+ut64 entry
+
+ +
+
+std::vector<GraphEdge> edges
+
+ +
+
+ +
+
+struct GraphEdge
+
+

Public Types

+
+
+enum ArrowDirection
+

Values:

+
+
+enumerator Down
+
+ +
+
+enumerator Left
+
+ +
+
+enumerator Up
+
+ +
+
+enumerator Right
+
+ +
+
+enumerator None
+
+ +
+ +
+
+

Public Functions

+
+
+inline explicit GraphEdge(ut64 target)
+
+ +
+
+

Public Members

+
+
+ut64 target
+
+ +
+
+QPolygonF polyline
+
+ +
+
+ArrowDirection arrow = ArrowDirection::Down
+
+ +
+
+ +
+
+struct LayoutConfig
+
+

Public Members

+
+
+int blockVerticalSpacing = 40
+
+ +
+
+int blockHorizontalSpacing = 20
+
+ +
+
+int edgeVerticalSpacing = 10
+
+ +
+
+int edgeHorizontalSpacing = 10
+
+ +
+
+ +
+ +
+ + +
+
+
+
+ + +
+
+ + + + + + + \ No newline at end of file diff --git a/docs/api/widgets/classGraphView.html b/docs/api/widgets/classGraphView.html new file mode 100644 index 000000000..7b173a467 --- /dev/null +++ b/docs/api/widgets/classGraphView.html @@ -0,0 +1,542 @@ + + + + + + + + GraphView — Cutter 2.4.0 documentation + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+ +
+

GraphView

+
+
+class GraphView : public QAbstractScrollArea
+

Subclassed by CutterGraphView, OverviewView

+
+

Public Types

+
+
+enum class Layout
+

Values:

+
+
+enumerator GridNarrow
+
+ +
+
+enumerator GridMedium
+
+ +
+
+enumerator GridWide
+
+ +
+
+enumerator GridAAA
+
+ +
+
+enumerator GridAAB
+
+ +
+
+enumerator GridABA
+
+ +
+
+enumerator GridABB
+
+ +
+
+enumerator GridBAA
+
+ +
+
+enumerator GridBAB
+
+ +
+
+enumerator GridBBA
+
+ +
+
+enumerator GridBBB
+
+ +
+ +
+
+using GraphBlock = GraphLayout::GraphBlock
+
+ +
+
+using GraphEdge = GraphLayout::GraphEdge
+
+ +
+
+

Public Functions

+
+
+explicit GraphView(QWidget *parent)
+
+ +
+
+~GraphView() override
+
+ +
+
+void showBlock(GraphBlock &block, bool anywhere = false)
+
+ +
+
+void showRectangle(const QRect &rect, bool anywhere = false)
+

Move view so that area is visible.

+
+
Parameters:
+
    +
  • rect – Rectangle to show

  • +
  • anywhere – - set to true for minimizing movement

  • +
+
+
+
+ +
+
+GraphView::GraphBlock *getBlockContaining(QPoint p)
+

Get block containing specified point logical coordinates.

+
+
Parameters:
+

p – positionin graph logical coordinates

+
+
Returns:
+

Block or nullptr if position is outside all blocks.

+
+
+
+ +
+
+QPoint viewToLogicalCoordinates(QPoint p)
+
+ +
+
+QPoint logicalToViewCoordinates(QPoint p)
+
+ +
+
+void setGraphLayout(std::unique_ptr<GraphLayout> layout)
+
+ +
+
+inline GraphLayout &getGraphLayout() const
+
+ +
+
+void setLayoutConfig(const GraphLayout::LayoutConfig &config)
+
+ +
+
+void paint(QPainter &p, QPoint offset, QRect area, qreal scale = 1.0, bool interactive = true)
+
+ +
+
+void saveAsBitmap(QString path, const char *format = nullptr, double scaler = 1.0, bool transparent = false)
+
+ +
+
+void saveAsSvg(QString path)
+
+ +
+
+void computeGraphPlacement()
+
+ +
+
+inline QPoint getViewOffset() const
+
+ +
+
+void setViewOffset(QPoint offset)
+
+ +
+
+inline qreal getViewScale() const
+
+ +
+
+void setViewScale(qreal scale)
+
+ +
+
+void center()
+
+ +
+
+inline void centerX()
+
+ +
+
+inline void centerY()
+
+ +
+
+

Signals

+
+
+void viewOffsetChanged(QPoint offset)
+
+ +
+
+void viewScaleChanged(qreal scale)
+
+ +
+
+

Public Static Functions

+
+
+static std::unique_ptr<GraphLayout> makeGraphLayout(Layout layout, bool horizontal = false)
+
+ +
+
+static void cleanupEdges(GraphLayout::Graph &graph)
+

Remove duplicate edges and edges without target in graph.

+
+
Parameters:
+

graph

+
+
+
+ +
+
+
+struct EdgeConfiguration
+
+

Public Members

+
+
+QColor color = QColor(128, 128, 128)
+
+ +
+
+bool start_arrow = false
+
+ +
+
+bool end_arrow = true
+
+ +
+
+qreal width_scale = 1.0
+
+ +
+
+Qt::PenStyle lineStyle = Qt::PenStyle::SolidLine
+
+ +
+
+ +
+ +
+ + +
+
+
+
+ + +
+
+ + + + + + + \ No newline at end of file diff --git a/docs/api/widgets/classGraphWidget.html b/docs/api/widgets/classGraphWidget.html new file mode 100644 index 000000000..bc782246c --- /dev/null +++ b/docs/api/widgets/classGraphWidget.html @@ -0,0 +1,310 @@ + + + + + + + + GraphWidget — Cutter 2.4.0 documentation + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+ +
+

GraphWidget

+
+
+class GraphWidget : public MemoryDockWidget
+
+

Public Functions

+
+
+explicit GraphWidget(MainWindow *main)
+
+ +
+
+inline ~GraphWidget() override
+
+ +
+
+DisassemblerGraphView *getGraphView() const
+
+ +
+
+

Signals

+
+
+void graphClosed()
+
+ +
+
+

Public Static Functions

+
+
+static QString getWidgetType()
+
+ +
+
+ +
+ + +
+
+
+
+ + +
+
+ + + + + + + \ No newline at end of file diff --git a/docs/api/widgets/classGraphvizLayout.html b/docs/api/widgets/classGraphvizLayout.html new file mode 100644 index 000000000..c4fb026fc --- /dev/null +++ b/docs/api/widgets/classGraphvizLayout.html @@ -0,0 +1,344 @@ + + + + + + + + GraphvizLayout — Cutter 2.4.0 documentation + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+ +
+

GraphvizLayout

+
+
+class GraphvizLayout : public GraphLayout
+
+

Public Types

+
+
+enum class LayoutType
+

Values:

+
+
+enumerator DotOrtho
+
+ +
+
+enumerator DotPolyline
+
+ +
+
+enumerator Sfdp
+
+ +
+
+enumerator Neato
+
+ +
+
+enumerator TwoPi
+
+ +
+
+enumerator Circo
+
+ +
+ +
+
+enum class Direction
+

Values:

+
+
+enumerator TB
+
+ +
+
+enumerator LR
+
+ +
+ +
+
+

Public Functions

+
+
+GraphvizLayout(LayoutType layoutType, Direction direction = Direction::TB)
+
+ +
+
+virtual void CalculateLayout(std::unordered_map<ut64, GraphBlock> &blocks, ut64 entry, int &width, int &height) const override
+
+ +
+
+ +
+ + +
+
+
+
+ + +
+
+ + + + + + + \ No newline at end of file diff --git a/docs/api/widgets/classHeadersModel.html b/docs/api/widgets/classHeadersModel.html new file mode 100644 index 000000000..62f68a045 --- /dev/null +++ b/docs/api/widgets/classHeadersModel.html @@ -0,0 +1,368 @@ + + + + + + + + HeadersModel — Cutter 2.4.0 documentation + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+ +
+

HeadersModel

+
+
+class HeadersModel : public AddressableItemModel<QAbstractListModel>
+
+

Public Types

+
+
+enum Column
+

Values:

+
+
+enumerator OffsetColumn
+
+ +
+
+enumerator NameColumn
+
+ +
+
+enumerator ValueColumn
+
+ +
+
+enumerator CommentColumn
+
+ +
+
+enumerator ColumnCount
+
+ +
+ +
+
+enum Role
+

Values:

+
+
+enumerator HeaderDescriptionRole
+
+ +
+ +
+
+

Public Functions

+
+
+HeadersModel(QList<HeaderDescription> *headers, QObject *parent = nullptr)
+
+ +
+
+int rowCount(const QModelIndex &parent = QModelIndex()) const override
+
+ +
+
+int columnCount(const QModelIndex &parent = QModelIndex()) const override
+
+ +
+
+QVariant data(const QModelIndex &index, int role) const override
+
+ +
+
+QVariant headerData(int section, Qt::Orientation orientation, int role = Qt::DisplayRole) const override
+
+ +
+
+virtual RVA address(const QModelIndex &index) const override
+
+ +
+
+virtual QString name(const QModelIndex &index) const override
+

Get name for item, optional.

+
+
Parameters:
+

index – item intex

+
+
Returns:
+

Item name or empty QString if item doesn’t have short descriptive name.

+
+
+
+ +
+
+ +
+ + +
+
+
+
+ + +
+
+ + + + + + + \ No newline at end of file diff --git a/docs/api/widgets/classHeadersProxyModel.html b/docs/api/widgets/classHeadersProxyModel.html new file mode 100644 index 000000000..fbd58924b --- /dev/null +++ b/docs/api/widgets/classHeadersProxyModel.html @@ -0,0 +1,284 @@ + + + + + + + + HeadersProxyModel — Cutter 2.4.0 documentation + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+ +
+

HeadersProxyModel

+
+
+class HeadersProxyModel : public AddressableFilterProxyModel
+
+

Public Functions

+
+
+HeadersProxyModel(HeadersModel *sourceModel, QObject *parent = nullptr)
+
+ +
+
+ +
+ + +
+
+
+
+ + +
+
+ + + + + + + \ No newline at end of file diff --git a/docs/api/widgets/classHeadersWidget.html b/docs/api/widgets/classHeadersWidget.html new file mode 100644 index 000000000..e3cd50f17 --- /dev/null +++ b/docs/api/widgets/classHeadersWidget.html @@ -0,0 +1,289 @@ + + + + + + + + HeadersWidget — Cutter 2.4.0 documentation + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+ +
+

HeadersWidget

+
+
+class HeadersWidget : public ListDockWidget
+
+

Public Functions

+
+
+explicit HeadersWidget(MainWindow *main)
+
+ +
+
+~HeadersWidget()
+
+ +
+
+ +
+ + +
+
+
+
+ + +
+
+ + + + + + + \ No newline at end of file diff --git a/docs/api/widgets/classHeapBinsGraphView.html b/docs/api/widgets/classHeapBinsGraphView.html new file mode 100644 index 000000000..a13d4832d --- /dev/null +++ b/docs/api/widgets/classHeapBinsGraphView.html @@ -0,0 +1,284 @@ + + + + + + + + HeapBinsGraphView — Cutter 2.4.0 documentation + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+ +
+

HeapBinsGraphView

+
+
+class HeapBinsGraphView : public SimpleTextGraphView
+
+

Public Functions

+
+
+explicit HeapBinsGraphView(QWidget *parent, RzHeapBin *bin, MainWindow *main)
+
+ +
+
+ +
+ + +
+
+
+
+ + +
+
+ + + + + + + \ No newline at end of file diff --git a/docs/api/widgets/classHeapDockWidget.html b/docs/api/widgets/classHeapDockWidget.html new file mode 100644 index 000000000..1dcc8e0f7 --- /dev/null +++ b/docs/api/widgets/classHeapDockWidget.html @@ -0,0 +1,289 @@ + + + + + + + + HeapDockWidget — Cutter 2.4.0 documentation + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+ +
+

HeapDockWidget

+
+
+class HeapDockWidget : public CutterDockWidget
+
+

Public Functions

+
+
+explicit HeapDockWidget(MainWindow *main)
+
+ +
+
+~HeapDockWidget()
+
+ +
+
+ +
+ + +
+
+
+
+ + +
+
+ + + + + + + \ No newline at end of file diff --git a/docs/api/widgets/classHexSelection.html b/docs/api/widgets/classHexSelection.html new file mode 100644 index 000000000..ddb010bb2 --- /dev/null +++ b/docs/api/widgets/classHexSelection.html @@ -0,0 +1,329 @@ + + + + + + + + HexSelection — Cutter 2.4.0 documentation + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+ +
+

HexSelection

+
+
+class HexSelection
+
+

Public Functions

+
+
+inline HexSelection()
+
+ +
+
+inline void init(BasicCursor addr)
+
+ +
+
+inline void set(uint64_t start, uint64_t end)
+
+ +
+
+inline void update(BasicCursor addr)
+
+ +
+
+inline bool intersects(uint64_t start, uint64_t end)
+
+ +
+
+inline bool contains(uint64_t pos) const
+
+ +
+
+inline uint64_t size() const
+
+ +
+
+inline bool isEmpty() const
+
+ +
+
+inline uint64_t start() const
+
+ +
+
+inline uint64_t end() const
+
+ +
+
+ +
+ + +
+
+
+
+ + +
+
+ + + + + + + \ No newline at end of file diff --git a/docs/api/widgets/classHexWidget.html b/docs/api/widgets/classHexWidget.html new file mode 100644 index 000000000..b1859a635 --- /dev/null +++ b/docs/api/widgets/classHexWidget.html @@ -0,0 +1,547 @@ + + + + + + + + HexWidget — Cutter 2.4.0 documentation + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+ +
+

HexWidget

+
+
+class HexWidget : public QScrollArea
+
+

Public Types

+
+
+enum AddrWidth
+

Values:

+
+
+enumerator AddrWidth32
+
+ +
+
+enumerator AddrWidth64
+
+ +
+ +
+
+enum ItemSize
+

Values:

+
+
+enumerator ItemSizeByte
+
+ +
+
+enumerator ItemSizeWord
+
+ +
+
+enumerator ItemSizeDword
+
+ +
+
+enumerator ItemSizeQword
+
+ +
+ +
+
+enum ItemFormat
+

Values:

+
+
+enumerator ItemFormatHex
+
+ +
+
+enumerator ItemFormatOct
+
+ +
+
+enumerator ItemFormatDec
+
+ +
+
+enumerator ItemFormatSignedDec
+
+ +
+
+enumerator ItemFormatFloat
+
+ +
+ +
+
+enum class ColumnMode
+

Values:

+
+
+enumerator Fixed
+
+ +
+
+enumerator PowerOf2
+
+ +
+ +
+
+enum class EditWordState
+

Values:

+
+
+enumerator Read
+
+ +
+
+enumerator WriteNotStarted
+
+ +
+
+enumerator WriteNotEdited
+
+ +
+
+enumerator WriteEdited
+
+ +
+ +
+
+enum class HexNavigationMode
+

Values:

+
+
+enumerator Words
+
+ +
+
+enumerator WordChar
+
+ +
+
+enumerator AnyChar
+
+ +
+ +
+
+

Public Functions

+
+
+explicit HexWidget(QWidget *parent = nullptr)
+
+ +
+
+~HexWidget() override = default
+
+ +
+
+void setMonospaceFont(const QFont &font)
+
+ +
+
+void setItemSize(int nbytes)
+
+ +
+
+void setItemFormat(ItemFormat format)
+
+ +
+
+void setItemEndianness(bool bigEndian)
+
+ +
+
+void setItemGroupSize(int size)
+
+ +
+
+void setFixedLineSize(int bytes)
+

Sets line size in bytes. Changes column mode to fixed. Command can be rejected if current item format is bigger than requested size.

+
+
Parameters:
+

bytes – line size in bytes.

+
+
+
+ +
+
+void setColumnMode(ColumnMode mode)
+
+ +
+
+void selectRange(RVA start, RVA end)
+

Select non empty inclusive range [start; end].

+
+
Parameters:
+
    +
  • start

  • +
  • end

  • +
+
+
+
+ +
+
+void clearSelection()
+
+ +
+
+Selection getSelection()
+
+ +
+
+

Public Slots

+
+
+void seek(uint64_t address)
+
+ +
+
+void refresh()
+
+ +
+
+void updateColors()
+
+ +
+
+

Signals

+
+
+void selectionChanged(HexWidget::Selection selection)
+
+ +
+
+void positionChanged(RVA start)
+
+ +
+
+
+struct Selection
+
+

Public Members

+
+
+bool empty
+
+ +
+
+RVA startAddress
+
+ +
+
+RVA endAddress
+
+ +
+
+ +
+ +
+ + +
+
+
+
+ + +
+
+ + + + + + + \ No newline at end of file diff --git a/docs/api/widgets/classHexdumpWidget.html b/docs/api/widgets/classHexdumpWidget.html new file mode 100644 index 000000000..50b2d51ff --- /dev/null +++ b/docs/api/widgets/classHexdumpWidget.html @@ -0,0 +1,313 @@ + + + + + + + + HexdumpWidget — Cutter 2.4.0 documentation + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+ +
+

HexdumpWidget

+
+
+class HexdumpWidget : public MemoryDockWidget
+
+

Public Functions

+
+
+explicit HexdumpWidget(MainWindow *main)
+
+ +
+
+~HexdumpWidget() override
+
+ +
+
+

Public Members

+
+
+Highlighter *highlighter
+
+ +
+
+

Public Slots

+
+
+void initParsing()
+
+ +
+
+

Public Static Functions

+
+
+static QString getWidgetType()
+
+ +
+
+ +
+ + +
+
+
+
+ + +
+
+ + + + + + + \ No newline at end of file diff --git a/docs/api/widgets/classImportsModel.html b/docs/api/widgets/classImportsModel.html new file mode 100644 index 000000000..35f86676f --- /dev/null +++ b/docs/api/widgets/classImportsModel.html @@ -0,0 +1,393 @@ + + + + + + + + ImportsModel — Cutter 2.4.0 documentation + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+ +
+

ImportsModel

+
+
+class ImportsModel : public AddressableItemModel<QAbstractTableModel>
+
+

Public Types

+
+
+enum Column
+

Values:

+
+
+enumerator AddressColumn
+
+ +
+
+enumerator TypeColumn
+
+ +
+
+enumerator LibraryColumn
+
+ +
+
+enumerator NameColumn
+
+ +
+
+enumerator SafetyColumn
+
+ +
+
+enumerator CommentColumn
+
+ +
+
+enumerator ColumnCount
+
+ +
+ +
+
+enum Role
+

Values:

+
+
+enumerator ImportDescriptionRole
+
+ +
+
+enumerator AddressRole
+
+ +
+ +
+
+

Public Functions

+
+
+ImportsModel(QObject *parent = nullptr)
+
+ +
+
+int rowCount(const QModelIndex &parent) const override
+
+ +
+
+int columnCount(const QModelIndex &parent) const override
+
+ +
+
+QVariant data(const QModelIndex &index, int role) const override
+
+ +
+
+QVariant headerData(int section, Qt::Orientation orientation, int role) const override
+
+ +
+
+virtual RVA address(const QModelIndex &index) const override
+
+ +
+
+virtual QString name(const QModelIndex &index) const override
+

Get name for item, optional.

+
+
Parameters:
+

index – item intex

+
+
Returns:
+

Item name or empty QString if item doesn’t have short descriptive name.

+
+
+
+ +
+
+QString libname(const QModelIndex &index) const
+
+ +
+
+void reload()
+
+ +
+
+ +
+ + +
+
+
+
+ + +
+
+ + + + + + + \ No newline at end of file diff --git a/docs/api/widgets/classImportsProxyModel.html b/docs/api/widgets/classImportsProxyModel.html new file mode 100644 index 000000000..ae15f667f --- /dev/null +++ b/docs/api/widgets/classImportsProxyModel.html @@ -0,0 +1,284 @@ + + + + + + + + ImportsProxyModel — Cutter 2.4.0 documentation + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+ +
+

ImportsProxyModel

+
+
+class ImportsProxyModel : public AddressableFilterProxyModel
+
+

Public Functions

+
+
+ImportsProxyModel(ImportsModel *sourceModel, QObject *parent = nullptr)
+
+ +
+
+ +
+ + +
+
+
+
+ + +
+
+ + + + + + + \ No newline at end of file diff --git a/docs/api/widgets/classImportsWidget.html b/docs/api/widgets/classImportsWidget.html new file mode 100644 index 000000000..5ca9616e0 --- /dev/null +++ b/docs/api/widgets/classImportsWidget.html @@ -0,0 +1,289 @@ + + + + + + + + ImportsWidget — Cutter 2.4.0 documentation + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+ +
+

ImportsWidget

+
+
+class ImportsWidget : public ListDockWidget
+
+

Public Functions

+
+
+explicit ImportsWidget(MainWindow *main)
+
+ +
+
+~ImportsWidget()
+
+ +
+
+ +
+ + +
+
+
+
+ + +
+
+ + + + + + + \ No newline at end of file diff --git a/docs/api/widgets/classListDockWidget.html b/docs/api/widgets/classListDockWidget.html new file mode 100644 index 000000000..dd48965b9 --- /dev/null +++ b/docs/api/widgets/classListDockWidget.html @@ -0,0 +1,319 @@ + + + + + + + + ListDockWidget — Cutter 2.4.0 documentation + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+ +
+

ListDockWidget

+
+
+class ListDockWidget : public CutterDockWidget
+

Subclassed by ClassesWidget, CommentsWidget, ExportsWidget, FunctionsWidget, HeadersWidget, ImportsWidget, MemoryMapWidget, RelocsWidget, ResourcesWidget, SectionsWidget, SegmentsWidget, SymbolsWidget

+
+

Public Types

+
+
+enum class SearchBarPolicy
+

Values:

+
+
+enumerator ShowByDefault
+
+ +
+
+enumerator HideByDefault
+
+ +
+
+enumerator Hide
+
+ +
+ +
+
+

Public Functions

+
+
+explicit ListDockWidget(MainWindow *main, SearchBarPolicy searchBarPolicy = SearchBarPolicy::ShowByDefault)
+
+ +
+
+~ListDockWidget() override
+
+ +
+
+void showCount(bool show)
+
+ +
+
+ +
+ + +
+
+
+
+ + +
+
+ + + + + + + \ No newline at end of file diff --git a/docs/api/widgets/classMemoryData.html b/docs/api/widgets/classMemoryData.html new file mode 100644 index 000000000..55ca570fc --- /dev/null +++ b/docs/api/widgets/classMemoryData.html @@ -0,0 +1,327 @@ + + + + + + + + MemoryData — Cutter 2.4.0 documentation + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+ +
+

MemoryData

+
+
+class MemoryData : public AbstractData
+
+

Public Functions

+
+
+MemoryData() = default
+
+ +
+
+~MemoryData() override = default
+
+ +
+
+inline virtual void fetch(uint64_t address, int length) override
+
+ +
+
+inline virtual bool copy(void *out, uint64_t addr, size_t len) override
+
+ +
+
+inline void writeToCache(const uint8_t *in, uint64_t adr, size_t len)
+
+ +
+
+inline virtual bool write(const uint8_t *in, uint64_t adr, size_t len) override
+
+ +
+
+inline virtual uint64_t maxIndex() override
+
+ +
+
+inline virtual uint64_t minIndex() override
+
+ +
+
+

Public Static Attributes

+
+
+static constexpr size_t BLOCK_SIZE = 4096
+
+ +
+
+ +
+ + +
+
+
+
+ + +
+
+ + + + + + + \ No newline at end of file diff --git a/docs/api/widgets/classMemoryDockWidget.html b/docs/api/widgets/classMemoryDockWidget.html new file mode 100644 index 000000000..61a7cd701 --- /dev/null +++ b/docs/api/widgets/classMemoryDockWidget.html @@ -0,0 +1,305 @@ + + + + + + + + MemoryDockWidget — Cutter 2.4.0 documentation + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+ +
+

MemoryDockWidget

+
+
+class MemoryDockWidget : public AddressableDockWidget
+

Subclassed by CallGraphWidget, DecompilerWidget, DisassemblyWidget, GraphWidget, HexdumpWidget

+
+

Public Functions

+
+
+MemoryDockWidget(MemoryWidgetType type, MainWindow *parent)
+
+ +
+
+inline ~MemoryDockWidget() override
+
+ +
+
+bool tryRaiseMemoryWidget()
+
+ +
+
+inline MemoryWidgetType getType() const
+
+ +
+
+bool eventFilter(QObject *object, QEvent *event) override
+
+ +
+
+ +
+ + +
+
+
+
+ + +
+
+ + + + + + + \ No newline at end of file diff --git a/docs/api/widgets/classMemoryMapModel.html b/docs/api/widgets/classMemoryMapModel.html new file mode 100644 index 000000000..e21fa08ad --- /dev/null +++ b/docs/api/widgets/classMemoryMapModel.html @@ -0,0 +1,359 @@ + + + + + + + + MemoryMapModel — Cutter 2.4.0 documentation + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+ +
+

MemoryMapModel

+
+
+class MemoryMapModel : public AddressableItemModel<QAbstractListModel>
+
+

Public Types

+
+
+enum Column
+

Values:

+
+
+enumerator AddrStartColumn
+
+ +
+
+enumerator AddrEndColumn
+
+ +
+
+enumerator NameColumn
+
+ +
+
+enumerator PermColumn
+
+ +
+
+enumerator CommentColumn
+
+ +
+
+enumerator ColumnCount
+
+ +
+ +
+
+enum Role
+

Values:

+
+
+enumerator MemoryDescriptionRole
+
+ +
+ +
+
+

Public Functions

+
+
+MemoryMapModel(QList<MemoryMapDescription> *memoryMaps, QObject *parent = nullptr)
+
+ +
+
+int rowCount(const QModelIndex &parent = QModelIndex()) const override
+
+ +
+
+int columnCount(const QModelIndex &parent = QModelIndex()) const override
+
+ +
+
+QVariant data(const QModelIndex &index, int role) const override
+
+ +
+
+QVariant headerData(int section, Qt::Orientation orientation, int role = Qt::DisplayRole) const override
+
+ +
+
+virtual RVA address(const QModelIndex &index) const override
+
+ +
+
+ +
+ + +
+
+
+
+ + +
+
+ + + + + + + \ No newline at end of file diff --git a/docs/api/widgets/classMemoryMapWidget.html b/docs/api/widgets/classMemoryMapWidget.html new file mode 100644 index 000000000..ec71f97d7 --- /dev/null +++ b/docs/api/widgets/classMemoryMapWidget.html @@ -0,0 +1,289 @@ + + + + + + + + MemoryMapWidget — Cutter 2.4.0 documentation + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+ +
+

MemoryMapWidget

+
+
+class MemoryMapWidget : public ListDockWidget
+
+

Public Functions

+
+
+explicit MemoryMapWidget(MainWindow *main)
+
+ +
+
+~MemoryMapWidget()
+
+ +
+
+ +
+ + +
+
+
+
+ + +
+
+ + + + + + + \ No newline at end of file diff --git a/docs/api/widgets/classMemoryProxyModel.html b/docs/api/widgets/classMemoryProxyModel.html new file mode 100644 index 000000000..c2a15df22 --- /dev/null +++ b/docs/api/widgets/classMemoryProxyModel.html @@ -0,0 +1,284 @@ + + + + + + + + MemoryProxyModel — Cutter 2.4.0 documentation + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+ +
+

MemoryProxyModel

+
+
+class MemoryProxyModel : public AddressableFilterProxyModel
+
+

Public Functions

+
+
+MemoryProxyModel(MemoryMapModel *sourceModel, QObject *parent = nullptr)
+
+ +
+
+ +
+ + +
+
+
+
+ + +
+
+ + + + + + + \ No newline at end of file diff --git a/docs/api/widgets/classOmnibar.html b/docs/api/widgets/classOmnibar.html new file mode 100644 index 000000000..38331d56f --- /dev/null +++ b/docs/api/widgets/classOmnibar.html @@ -0,0 +1,297 @@ + + + + + + + + Omnibar — Cutter 2.4.0 documentation + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+ +
+

Omnibar

+
+
+class Omnibar : public QLineEdit
+
+

Public Functions

+
+
+explicit Omnibar(MainWindow *main, QWidget *parent = nullptr)
+
+ +
+
+void refresh(const QStringList &flagList)
+
+ +
+
+

Public Slots

+
+
+void clear()
+
+ +
+
+ +
+ + +
+
+
+
+ + +
+
+ + + + + + + \ No newline at end of file diff --git a/docs/api/widgets/classOverviewView.html b/docs/api/widgets/classOverviewView.html new file mode 100644 index 000000000..6fc38ec10 --- /dev/null +++ b/docs/api/widgets/classOverviewView.html @@ -0,0 +1,347 @@ + + + + + + + + OverviewView — Cutter 2.4.0 documentation + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+ +
+

OverviewView

+
+
+class OverviewView : public GraphView
+
+

Public Functions

+
+
+OverviewView(QWidget *parent)
+
+ +
+
+~OverviewView() override
+
+ +
+
+void setData(int baseWidth, int baseHeight, std::unordered_map<ut64, GraphBlock> baseBlocks, DisassemblerGraphView::EdgeConfigurationMapping baseEdgeConfigurations)
+

Graph access this function to set minimum set of the data.

+
+
Parameters:
+
    +
  • baseWidth – width of Graph when it computed the blocks

  • +
  • baseHeigh – height of Graph when it computed the blocks

  • +
  • baseBlocks – computed blocks passed by Graph

  • +
  • baseEdgeConfigurations – computed by DisassamblerGraphview

  • +
+
+
+
+ +
+
+void centreRect()
+
+ +
+
+inline QRectF getRangeRect()
+
+ +
+
+void setRangeRect(QRectF rect)
+
+ +
+
+

Public Members

+
+
+ut64 currentFcnAddr = RVA_INVALID
+

keep the current addr of the fcn of Graph Everytime overview updates its contents, it compares this value with the one in Graph if they aren’t same, then Overview needs to update the pixmap cache.

+
+ +
+
+

Public Slots

+
+
+void refreshView()
+

scale and center all nodes in, then run update

+
+ +
+
+

Signals

+
+
+void mouseMoved()
+

signal when mouse is pressed or moved so that Graph can refresh its contents corresponded with Overview

+
+ +
+
+ +
+ + +
+
+
+
+ + +
+
+ + + + + + + \ No newline at end of file diff --git a/docs/api/widgets/classOverviewWidget.html b/docs/api/widgets/classOverviewWidget.html new file mode 100644 index 000000000..71546afe1 --- /dev/null +++ b/docs/api/widgets/classOverviewWidget.html @@ -0,0 +1,351 @@ + + + + + + + + OverviewWidget — Cutter 2.4.0 documentation + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+ +
+

OverviewWidget

+
+
+class OverviewWidget : public CutterDockWidget
+
+

Public Functions

+
+
+explicit OverviewWidget(MainWindow *main)
+
+ +
+
+~OverviewWidget()
+
+ +
+
+inline GraphWidget *getTargetGraphWidget()
+
+ +
+
+void setTargetGraphWidget(GraphWidget *widget)
+
+ +
+
+inline bool getIsAvailable() const
+

whether this widget makes sense to be show, i.e. the menu entry should be enabled

+
+ +
+
+inline bool getUserOpened() const
+

whether this widget is desired to be shown in general

+

Will be false when the user closed the overview explicitly. Also corresponds to the checked state of the menu entry for this widget.

+
+ +
+
+inline OverviewView *getGraphView() const
+
+ +
+
+void wheelEvent(QWheelEvent *event) override
+
+ +
+
+

Signals

+
+
+void resized()
+

emit signal to update the rect

+
+ +
+
+void isAvailableChanged(bool isAvailable)
+

+

See also

+

getIsAvailable()

+
+

+
+ +
+
+void userOpenedChanged(bool userOpened)
+

+

See also

+

getUserOpened()

+
+

+
+ +
+
+ +
+ + +
+
+
+
+ + +
+
+ + + + + + + \ No newline at end of file diff --git a/docs/api/widgets/classProcessesFilterModel.html b/docs/api/widgets/classProcessesFilterModel.html new file mode 100644 index 000000000..f891232c3 --- /dev/null +++ b/docs/api/widgets/classProcessesFilterModel.html @@ -0,0 +1,284 @@ + + + + + + + + ProcessesFilterModel — Cutter 2.4.0 documentation + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+ +
+

ProcessesFilterModel

+
+
+class ProcessesFilterModel : public QSortFilterProxyModel
+
+

Public Functions

+
+
+ProcessesFilterModel(QObject *parent = nullptr)
+
+ +
+
+ +
+ + +
+
+
+
+ + +
+
+ + + + + + + \ No newline at end of file diff --git a/docs/api/widgets/classProcessesWidget.html b/docs/api/widgets/classProcessesWidget.html new file mode 100644 index 000000000..927a72581 --- /dev/null +++ b/docs/api/widgets/classProcessesWidget.html @@ -0,0 +1,318 @@ + + + + + + + + ProcessesWidget — Cutter 2.4.0 documentation + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+ +
+

ProcessesWidget

+
+
+class ProcessesWidget : public CutterDockWidget
+
+

Public Types

+
+
+enum ColumnIndex
+

Values:

+
+
+enumerator COLUMN_PID
+
+ +
+
+enumerator COLUMN_UID
+
+ +
+
+enumerator COLUMN_STATUS
+
+ +
+
+enumerator COLUMN_PATH
+
+ +
+ +
+
+

Public Functions

+
+
+explicit ProcessesWidget(MainWindow *main)
+
+ +
+
+~ProcessesWidget()
+
+ +
+
+ +
+ + +
+
+
+
+ + +
+
+ + + + + + + \ No newline at end of file diff --git a/docs/api/widgets/classQuickFilterView.html b/docs/api/widgets/classQuickFilterView.html new file mode 100644 index 000000000..1e7e33ff2 --- /dev/null +++ b/docs/api/widgets/classQuickFilterView.html @@ -0,0 +1,320 @@ + + + + + + + + QuickFilterView — Cutter 2.4.0 documentation + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+ +
+

QuickFilterView

+
+
+class QuickFilterView : public QWidget
+
+

Public Functions

+
+
+explicit QuickFilterView(QWidget *parent = nullptr, bool defaultOn = true)
+
+ +
+
+~QuickFilterView()
+
+ +
+
+

Public Slots

+
+
+void showFilter()
+
+ +
+
+void closeFilter()
+
+ +
+
+void clearFilter()
+
+ +
+
+

Signals

+
+
+void filterTextChanged(const QString &text)
+
+ +
+
+void filterClosed()
+
+ +
+
+ +
+ + +
+
+
+
+ + +
+
+ + + + + + + \ No newline at end of file diff --git a/docs/api/widgets/classRawAddrDock.html b/docs/api/widgets/classRawAddrDock.html new file mode 100644 index 000000000..95d0a2131 --- /dev/null +++ b/docs/api/widgets/classRawAddrDock.html @@ -0,0 +1,294 @@ + + + + + + + + RawAddrDock — Cutter 2.4.0 documentation + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+ +
+

RawAddrDock

+
+
+class RawAddrDock : public AbstractAddrDock
+
+

Public Functions

+
+
+explicit RawAddrDock(SectionsModel *model, QWidget *parent = nullptr)
+
+ +
+
+~RawAddrDock() = default
+
+ +
+
+virtual void updateDock() override
+
+ +
+
+ +
+ + +
+
+
+
+ + +
+
+ + + + + + + \ No newline at end of file diff --git a/docs/api/widgets/classRegisterRefModel.html b/docs/api/widgets/classRegisterRefModel.html new file mode 100644 index 000000000..c16030377 --- /dev/null +++ b/docs/api/widgets/classRegisterRefModel.html @@ -0,0 +1,349 @@ + + + + + + + + RegisterRefModel — Cutter 2.4.0 documentation + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+ +
+

RegisterRefModel

+
+
+class RegisterRefModel : public QAbstractListModel
+
+

Public Types

+
+
+enum Column
+

Values:

+
+
+enumerator RegColumn
+
+ +
+
+enumerator ValueColumn
+
+ +
+
+enumerator RefColumn
+
+ +
+
+enumerator CommentColumn
+
+ +
+
+enumerator ColumnCount
+
+ +
+ +
+
+enum Role
+

Values:

+
+
+enumerator RegisterRefDescriptionRole
+
+ +
+ +
+
+

Public Functions

+
+
+RegisterRefModel(QList<RegisterRefDescription> *registerRefs, QObject *parent = 0)
+
+ +
+
+int rowCount(const QModelIndex &parent = QModelIndex()) const
+
+ +
+
+int columnCount(const QModelIndex &parent = QModelIndex()) const
+
+ +
+
+QVariant data(const QModelIndex &index, int role) const
+
+ +
+
+QVariant headerData(int section, Qt::Orientation orientation, int role = Qt::DisplayRole) const
+
+ +
+
+ +
+ + +
+
+
+
+ + +
+
+ + + + + + + \ No newline at end of file diff --git a/docs/api/widgets/classRegisterRefProxyModel.html b/docs/api/widgets/classRegisterRefProxyModel.html new file mode 100644 index 000000000..4a7132d86 --- /dev/null +++ b/docs/api/widgets/classRegisterRefProxyModel.html @@ -0,0 +1,284 @@ + + + + + + + + RegisterRefProxyModel — Cutter 2.4.0 documentation + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+ +
+

RegisterRefProxyModel

+
+
+class RegisterRefProxyModel : public QSortFilterProxyModel
+
+

Public Functions

+
+
+RegisterRefProxyModel(RegisterRefModel *sourceModel, QObject *parent = nullptr)
+
+ +
+
+ +
+ + +
+
+
+
+ + +
+
+ + + + + + + \ No newline at end of file diff --git a/docs/api/widgets/classRegisterRefsWidget.html b/docs/api/widgets/classRegisterRefsWidget.html new file mode 100644 index 000000000..cc7b1f313 --- /dev/null +++ b/docs/api/widgets/classRegisterRefsWidget.html @@ -0,0 +1,289 @@ + + + + + + + + RegisterRefsWidget — Cutter 2.4.0 documentation + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+ +
+

RegisterRefsWidget

+
+
+class RegisterRefsWidget : public CutterDockWidget
+
+

Public Functions

+
+
+explicit RegisterRefsWidget(MainWindow *main)
+
+ +
+
+~RegisterRefsWidget()
+
+ +
+
+ +
+ + +
+
+
+
+ + +
+
+ + + + + + + \ No newline at end of file diff --git a/docs/api/widgets/classRegistersWidget.html b/docs/api/widgets/classRegistersWidget.html new file mode 100644 index 000000000..8256bed11 --- /dev/null +++ b/docs/api/widgets/classRegistersWidget.html @@ -0,0 +1,289 @@ + + + + + + + + RegistersWidget — Cutter 2.4.0 documentation + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+ +
+

RegistersWidget

+
+
+class RegistersWidget : public CutterDockWidget
+
+

Public Functions

+
+
+explicit RegistersWidget(MainWindow *main)
+
+ +
+
+~RegistersWidget()
+
+ +
+
+ +
+ + +
+
+
+
+ + +
+
+ + + + + + + \ No newline at end of file diff --git a/docs/api/widgets/classRelocsModel.html b/docs/api/widgets/classRelocsModel.html new file mode 100644 index 000000000..f79a7d7a5 --- /dev/null +++ b/docs/api/widgets/classRelocsModel.html @@ -0,0 +1,378 @@ + + + + + + + + RelocsModel — Cutter 2.4.0 documentation + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+ +
+

RelocsModel

+
+
+class RelocsModel : public AddressableItemModel<QAbstractTableModel>
+
+

Public Types

+
+
+enum Column
+

Values:

+
+
+enumerator VAddrColumn
+
+ +
+
+enumerator TypeColumn
+
+ +
+
+enumerator NameColumn
+
+ +
+
+enumerator CommentColumn
+
+ +
+
+enumerator ColumnCount
+
+ +
+ +
+
+enum Role
+

Values:

+
+
+enumerator RelocDescriptionRole
+
+ +
+
+enumerator AddressRole
+
+ +
+ +
+
+

Public Functions

+
+
+RelocsModel(QObject *parent = nullptr)
+
+ +
+
+int rowCount(const QModelIndex &parent) const override
+
+ +
+
+int columnCount(const QModelIndex &parent) const override
+
+ +
+
+QVariant data(const QModelIndex &index, int role) const override
+
+ +
+
+QVariant headerData(int section, Qt::Orientation orientation, int role) const override
+
+ +
+
+virtual RVA address(const QModelIndex &index) const override
+
+ +
+
+virtual QString name(const QModelIndex &index) const override
+

Get name for item, optional.

+
+
Parameters:
+

index – item intex

+
+
Returns:
+

Item name or empty QString if item doesn’t have short descriptive name.

+
+
+
+ +
+
+void reload()
+
+ +
+
+ +
+ + +
+
+
+
+ + +
+
+ + + + + + + \ No newline at end of file diff --git a/docs/api/widgets/classRelocsProxyModel.html b/docs/api/widgets/classRelocsProxyModel.html new file mode 100644 index 000000000..e328ec0d4 --- /dev/null +++ b/docs/api/widgets/classRelocsProxyModel.html @@ -0,0 +1,284 @@ + + + + + + + + RelocsProxyModel — Cutter 2.4.0 documentation + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+ +
+

RelocsProxyModel

+
+
+class RelocsProxyModel : public AddressableFilterProxyModel
+
+

Public Functions

+
+
+RelocsProxyModel(RelocsModel *sourceModel, QObject *parent = nullptr)
+
+ +
+
+ +
+ + +
+
+
+
+ + +
+
+ + + + + + + \ No newline at end of file diff --git a/docs/api/widgets/classRelocsWidget.html b/docs/api/widgets/classRelocsWidget.html new file mode 100644 index 000000000..46efd2f87 --- /dev/null +++ b/docs/api/widgets/classRelocsWidget.html @@ -0,0 +1,289 @@ + + + + + + + + RelocsWidget — Cutter 2.4.0 documentation + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+ +
+

RelocsWidget

+
+
+class RelocsWidget : public ListDockWidget
+
+

Public Functions

+
+
+explicit RelocsWidget(MainWindow *main)
+
+ +
+
+~RelocsWidget()
+
+ +
+
+ +
+ + +
+
+
+
+ + +
+
+ + + + + + + \ No newline at end of file diff --git a/docs/api/widgets/classResourcesModel.html b/docs/api/widgets/classResourcesModel.html new file mode 100644 index 000000000..119ddcb6f --- /dev/null +++ b/docs/api/widgets/classResourcesModel.html @@ -0,0 +1,358 @@ + + + + + + + + ResourcesModel — Cutter 2.4.0 documentation + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+ +
+

ResourcesModel

+
+
+class ResourcesModel : public AddressableItemModel<QAbstractListModel>
+
+

Public Types

+
+
+enum Columns
+

Values:

+
+
+enumerator INDEX
+
+ +
+
+enumerator NAME
+
+ +
+
+enumerator VADDR
+
+ +
+
+enumerator TYPE
+
+ +
+
+enumerator SIZE
+
+ +
+
+enumerator LANG
+
+ +
+
+enumerator COMMENT
+
+ +
+
+enumerator COUNT
+
+ +
+ +
+
+

Public Functions

+
+
+explicit ResourcesModel(QList<ResourcesDescription> *resources, QObject *parent = nullptr)
+
+ +
+
+int rowCount(const QModelIndex &parent = QModelIndex()) const override
+
+ +
+
+int columnCount(const QModelIndex &parent = QModelIndex()) const override
+
+ +
+
+QVariant data(const QModelIndex &index, int role) const override
+
+ +
+
+QVariant headerData(int section, Qt::Orientation orientation, int role = Qt::DisplayRole) const override
+
+ +
+
+virtual RVA address(const QModelIndex &index) const override
+
+ +
+
+ +
+ + +
+
+
+
+ + +
+
+ + + + + + + \ No newline at end of file diff --git a/docs/api/widgets/classResourcesWidget.html b/docs/api/widgets/classResourcesWidget.html new file mode 100644 index 000000000..7437876e5 --- /dev/null +++ b/docs/api/widgets/classResourcesWidget.html @@ -0,0 +1,284 @@ + + + + + + + + ResourcesWidget — Cutter 2.4.0 documentation + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+ +
+

ResourcesWidget

+
+
+class ResourcesWidget : public ListDockWidget
+
+

Public Functions

+
+
+explicit ResourcesWidget(MainWindow *main)
+
+ +
+
+ +
+ + +
+
+
+
+ + +
+
+ + + + + + + \ No newline at end of file diff --git a/docs/api/widgets/classRizinGraphWidget.html b/docs/api/widgets/classRizinGraphWidget.html new file mode 100644 index 000000000..f0afba9bb --- /dev/null +++ b/docs/api/widgets/classRizinGraphWidget.html @@ -0,0 +1,289 @@ + + + + + + + + RizinGraphWidget — Cutter 2.4.0 documentation + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+ +
+

RizinGraphWidget

+
+
+class RizinGraphWidget : public CutterDockWidget
+
+

Public Functions

+
+
+explicit RizinGraphWidget(MainWindow *main)
+
+ +
+
+~RizinGraphWidget()
+
+ +
+
+ +
+ + +
+
+
+
+ + +
+
+ + + + + + + \ No newline at end of file diff --git a/docs/api/widgets/classSdbWidget.html b/docs/api/widgets/classSdbWidget.html new file mode 100644 index 000000000..2c4daf51d --- /dev/null +++ b/docs/api/widgets/classSdbWidget.html @@ -0,0 +1,289 @@ + + + + + + + + SdbWidget — Cutter 2.4.0 documentation + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+ +
+

SdbWidget

+
+
+class SdbWidget : public CutterDockWidget
+
+

Public Functions

+
+
+explicit SdbWidget(MainWindow *main)
+
+ +
+
+~SdbWidget() override
+
+ +
+
+ +
+ + +
+
+
+
+ + +
+
+ + + + + + + \ No newline at end of file diff --git a/docs/api/widgets/classSearchModel.html b/docs/api/widgets/classSearchModel.html new file mode 100644 index 000000000..cdebc3d09 --- /dev/null +++ b/docs/api/widgets/classSearchModel.html @@ -0,0 +1,356 @@ + + + + + + + + SearchModel — Cutter 2.4.0 documentation + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+ +
+

SearchModel

+
+
+class SearchModel : public AddressableItemModel<QAbstractListModel>
+
+

Public Types

+
+
+enum Columns
+

Values:

+
+
+enumerator OFFSET
+
+ +
+
+enumerator SIZE
+
+ +
+
+enumerator CODE
+
+ +
+
+enumerator DATA
+
+ +
+
+enumerator COMMENT
+
+ +
+
+enumerator COUNT
+
+ +
+ +
+
+

Public Functions

+
+
+SearchModel(QList<SearchDescription> *search, QObject *parent = nullptr)
+
+ +
+
+int rowCount(const QModelIndex &parent = QModelIndex()) const override
+
+ +
+
+int columnCount(const QModelIndex &parent = QModelIndex()) const override
+
+ +
+
+QVariant data(const QModelIndex &index, int role) const override
+
+ +
+
+QVariant headerData(int section, Qt::Orientation orientation, int role = Qt::DisplayRole) const override
+
+ +
+
+virtual RVA address(const QModelIndex &index) const override
+
+ +
+
+

Public Static Attributes

+
+
+static const int SearchDescriptionRole = Qt::UserRole
+
+ +
+
+ +
+ + +
+
+
+
+ + +
+
+ + + + + + + \ No newline at end of file diff --git a/docs/api/widgets/classSearchSortFilterProxyModel.html b/docs/api/widgets/classSearchSortFilterProxyModel.html new file mode 100644 index 000000000..77ba56661 --- /dev/null +++ b/docs/api/widgets/classSearchSortFilterProxyModel.html @@ -0,0 +1,284 @@ + + + + + + + + SearchSortFilterProxyModel — Cutter 2.4.0 documentation + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+ +
+

SearchSortFilterProxyModel

+
+
+class SearchSortFilterProxyModel : public AddressableFilterProxyModel
+
+

Public Functions

+
+
+SearchSortFilterProxyModel(SearchModel *source_model, QObject *parent = nullptr)
+
+ +
+
+ +
+ + +
+
+
+
+ + +
+
+ + + + + + + \ No newline at end of file diff --git a/docs/api/widgets/classSearchWidget.html b/docs/api/widgets/classSearchWidget.html new file mode 100644 index 000000000..b1e03f193 --- /dev/null +++ b/docs/api/widgets/classSearchWidget.html @@ -0,0 +1,289 @@ + + + + + + + + SearchWidget — Cutter 2.4.0 documentation + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+ +
+

SearchWidget

+
+
+class SearchWidget : public CutterDockWidget
+
+

Public Functions

+
+
+explicit SearchWidget(MainWindow *main)
+
+ +
+
+~SearchWidget()
+
+ +
+
+ +
+ + +
+
+
+
+ + +
+
+ + + + + + + \ No newline at end of file diff --git a/docs/api/widgets/classSectionsModel.html b/docs/api/widgets/classSectionsModel.html new file mode 100644 index 000000000..1bb2d62ad --- /dev/null +++ b/docs/api/widgets/classSectionsModel.html @@ -0,0 +1,388 @@ + + + + + + + + SectionsModel — Cutter 2.4.0 documentation + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+ +
+

SectionsModel

+
+
+class SectionsModel : public AddressableItemModel<QAbstractListModel>
+
+

Public Types

+
+
+enum Column
+

Values:

+
+
+enumerator NameColumn
+
+ +
+
+enumerator SizeColumn
+
+ +
+
+enumerator AddressColumn
+
+ +
+
+enumerator EndAddressColumn
+
+ +
+
+enumerator VirtualSizeColumn
+
+ +
+
+enumerator PermissionsColumn
+
+ +
+
+enumerator EntropyColumn
+
+ +
+
+enumerator CommentColumn
+
+ +
+
+enumerator ColumnCount
+
+ +
+ +
+
+enum Role
+

Values:

+
+
+enumerator SectionDescriptionRole
+
+ +
+ +
+
+

Public Functions

+
+
+SectionsModel(QList<SectionDescription> *sections, QObject *parent = nullptr)
+
+ +
+
+int rowCount(const QModelIndex &parent = QModelIndex()) const override
+
+ +
+
+int columnCount(const QModelIndex &parent = QModelIndex()) const override
+
+ +
+
+QVariant data(const QModelIndex &index, int role) const override
+
+ +
+
+QVariant headerData(int section, Qt::Orientation orientation, int role = Qt::DisplayRole) const override
+
+ +
+
+virtual RVA address(const QModelIndex &index) const override
+
+ +
+
+virtual QString name(const QModelIndex &index) const override
+

Get name for item, optional.

+
+
Parameters:
+

index – item intex

+
+
Returns:
+

Item name or empty QString if item doesn’t have short descriptive name.

+
+
+
+ +
+
+ +
+ + +
+
+
+
+ + +
+
+ + + + + + + \ No newline at end of file diff --git a/docs/api/widgets/classSectionsProxyModel.html b/docs/api/widgets/classSectionsProxyModel.html new file mode 100644 index 000000000..dd5eafa43 --- /dev/null +++ b/docs/api/widgets/classSectionsProxyModel.html @@ -0,0 +1,284 @@ + + + + + + + + SectionsProxyModel — Cutter 2.4.0 documentation + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+ +
+

SectionsProxyModel

+
+
+class SectionsProxyModel : public AddressableFilterProxyModel
+
+

Public Functions

+
+
+SectionsProxyModel(SectionsModel *sourceModel, QObject *parent = nullptr)
+
+ +
+
+ +
+ + +
+
+
+
+ + +
+
+ + + + + + + \ No newline at end of file diff --git a/docs/api/widgets/classSectionsWidget.html b/docs/api/widgets/classSectionsWidget.html new file mode 100644 index 000000000..c16a566f5 --- /dev/null +++ b/docs/api/widgets/classSectionsWidget.html @@ -0,0 +1,289 @@ + + + + + + + + SectionsWidget — Cutter 2.4.0 documentation + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+ +
+

SectionsWidget

+
+
+class SectionsWidget : public ListDockWidget
+
+

Public Functions

+
+
+explicit SectionsWidget(MainWindow *main)
+
+ +
+
+~SectionsWidget()
+
+ +
+
+ +
+ + +
+
+
+
+ + +
+
+ + + + + + + \ No newline at end of file diff --git a/docs/api/widgets/classSegmentsModel.html b/docs/api/widgets/classSegmentsModel.html new file mode 100644 index 000000000..dc884e26e --- /dev/null +++ b/docs/api/widgets/classSegmentsModel.html @@ -0,0 +1,378 @@ + + + + + + + + SegmentsModel — Cutter 2.4.0 documentation + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+ +
+

SegmentsModel

+
+
+class SegmentsModel : public AddressableItemModel<QAbstractListModel>
+
+

Public Types

+
+
+enum Column
+

Values:

+
+
+enumerator NameColumn
+
+ +
+
+enumerator SizeColumn
+
+ +
+
+enumerator AddressColumn
+
+ +
+
+enumerator EndAddressColumn
+
+ +
+
+enumerator PermColumn
+
+ +
+
+enumerator CommentColumn
+
+ +
+
+enumerator ColumnCount
+
+ +
+ +
+
+enum Role
+

Values:

+
+
+enumerator SegmentDescriptionRole
+
+ +
+ +
+
+

Public Functions

+
+
+SegmentsModel(QList<SegmentDescription> *segments, QObject *parent = nullptr)
+
+ +
+
+int rowCount(const QModelIndex &parent = QModelIndex()) const override
+
+ +
+
+int columnCount(const QModelIndex &parent = QModelIndex()) const override
+
+ +
+
+QVariant data(const QModelIndex &index, int role) const override
+
+ +
+
+QVariant headerData(int segment, Qt::Orientation orientation, int role = Qt::DisplayRole) const override
+
+ +
+
+virtual RVA address(const QModelIndex &index) const override
+
+ +
+
+virtual QString name(const QModelIndex &index) const override
+

Get name for item, optional.

+
+
Parameters:
+

index – item intex

+
+
Returns:
+

Item name or empty QString if item doesn’t have short descriptive name.

+
+
+
+ +
+
+ +
+ + +
+
+
+
+ + +
+
+ + + + + + + \ No newline at end of file diff --git a/docs/api/widgets/classSegmentsProxyModel.html b/docs/api/widgets/classSegmentsProxyModel.html new file mode 100644 index 000000000..34303231d --- /dev/null +++ b/docs/api/widgets/classSegmentsProxyModel.html @@ -0,0 +1,284 @@ + + + + + + + + SegmentsProxyModel — Cutter 2.4.0 documentation + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+ +
+

SegmentsProxyModel

+
+
+class SegmentsProxyModel : public AddressableFilterProxyModel
+
+

Public Functions

+
+
+SegmentsProxyModel(SegmentsModel *sourceModel, QObject *parent = nullptr)
+
+ +
+
+ +
+ + +
+
+
+
+ + +
+
+ + + + + + + \ No newline at end of file diff --git a/docs/api/widgets/classSegmentsWidget.html b/docs/api/widgets/classSegmentsWidget.html new file mode 100644 index 000000000..e2301f145 --- /dev/null +++ b/docs/api/widgets/classSegmentsWidget.html @@ -0,0 +1,289 @@ + + + + + + + + SegmentsWidget — Cutter 2.4.0 documentation + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+ +
+

SegmentsWidget

+
+
+class SegmentsWidget : public ListDockWidget
+
+

Public Functions

+
+
+explicit SegmentsWidget(MainWindow *main)
+
+ +
+
+~SegmentsWidget()
+
+ +
+
+ +
+ + +
+
+
+
+ + +
+
+ + + + + + + \ No newline at end of file diff --git a/docs/api/widgets/classSimpleTextGraphView.html b/docs/api/widgets/classSimpleTextGraphView.html new file mode 100644 index 000000000..acc0f4572 --- /dev/null +++ b/docs/api/widgets/classSimpleTextGraphView.html @@ -0,0 +1,336 @@ + + + + + + + + SimpleTextGraphView — Cutter 2.4.0 documentation + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+ +
+

SimpleTextGraphView

+
+
+class SimpleTextGraphView : public CutterGraphView
+

Graphview with nodes containing simple plaintext labels.

+

Subclassed by CallGraphView, GenericRizinGraphView, HeapBinsGraphView

+
+

Public Functions

+
+
+SimpleTextGraphView(QWidget *parent, MainWindow *mainWindow)
+
+ +
+
+~SimpleTextGraphView() override
+
+ +
+
+virtual void drawBlock(QPainter &p, GraphView::GraphBlock &block, bool interactive) override
+

drawBlock

+
+
Parameters:
+
    +
  • p – painter object, not necesarily current widget

  • +
  • block

  • +
  • interactive – - can be used for disabling elemnts during export

  • +
+
+
+
+ +
+
+virtual GraphView::EdgeConfiguration edgeConfiguration(GraphView::GraphBlock &from, GraphView::GraphBlock *to, bool interactive) override
+
+ +
+
+void setBlockSelectionEnabled(bool value)
+

Enable or disable block selection. Selecting a block highlights it and allows copying the label. Enabled by default.

+
+
Parameters:
+

value

+
+
+
+ +
+
+

Public Slots

+
+
+void refreshView() override
+
+ +
+
+void selectBlockWithId(ut64 blockId)
+

Select a given block. Requires block selection to be enabled.

+
+ +
+
+ +
+ + +
+
+
+
+ + +
+
+ + + + + + + \ No newline at end of file diff --git a/docs/api/widgets/classStackModel.html b/docs/api/widgets/classStackModel.html new file mode 100644 index 000000000..08bda01e2 --- /dev/null +++ b/docs/api/widgets/classStackModel.html @@ -0,0 +1,387 @@ + + + + + + + + StackModel — Cutter 2.4.0 documentation + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+ +
+

StackModel

+
+
+class StackModel : public QAbstractTableModel
+
+

Public Types

+
+
+enum Column
+

Values:

+
+
+enumerator OffsetColumn
+
+ +
+
+enumerator ValueColumn
+
+ +
+
+enumerator DescriptionColumn
+
+ +
+
+enumerator CommentColumn
+
+ +
+
+enumerator ColumnCount
+
+ +
+ +
+
+enum Role
+

Values:

+
+
+enumerator StackDescriptionRole
+
+ +
+ +
+
+

Public Functions

+
+
+StackModel(QObject *parent = nullptr)
+
+ +
+
+void reload()
+
+ +
+
+int rowCount(const QModelIndex &parent = QModelIndex()) const override
+
+ +
+
+int columnCount(const QModelIndex &parent = QModelIndex()) const override
+
+ +
+
+QVariant data(const QModelIndex &index, int role) const override
+
+ +
+
+QVariant headerData(int section, Qt::Orientation orientation, int role = Qt::DisplayRole) const override
+
+ +
+
+bool setData(const QModelIndex &index, const QVariant &value, int role) override
+
+ +
+
+Qt::ItemFlags flags(const QModelIndex &index) const override
+
+ +
+
+
+struct Item
+
+

Public Members

+
+
+RVA offset
+
+ +
+
+QString value
+
+ +
+
+RefDescription refDesc
+
+ +
+
+ +
+ +
+ + +
+
+
+
+ + +
+
+ + + + + + + \ No newline at end of file diff --git a/docs/api/widgets/classStackWidget.html b/docs/api/widgets/classStackWidget.html new file mode 100644 index 000000000..a7f1c7785 --- /dev/null +++ b/docs/api/widgets/classStackWidget.html @@ -0,0 +1,289 @@ + + + + + + + + StackWidget — Cutter 2.4.0 documentation + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+ +
+

StackWidget

+
+
+class StackWidget : public CutterDockWidget
+
+

Public Functions

+
+
+explicit StackWidget(MainWindow *main)
+
+ +
+
+~StackWidget()
+
+ +
+
+ +
+ + +
+
+
+
+ + +
+
+ + + + + + + \ No newline at end of file diff --git a/docs/api/widgets/classStringsModel.html b/docs/api/widgets/classStringsModel.html new file mode 100644 index 000000000..388661d23 --- /dev/null +++ b/docs/api/widgets/classStringsModel.html @@ -0,0 +1,371 @@ + + + + + + + + StringsModel — Cutter 2.4.0 documentation + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+ +
+

StringsModel

+
+
+class StringsModel : public AddressableItemModel<QAbstractListModel>
+
+

Public Types

+
+
+enum Column
+

Values:

+
+
+enumerator OffsetColumn
+
+ +
+
+enumerator StringColumn
+
+ +
+
+enumerator TypeColumn
+
+ +
+
+enumerator LengthColumn
+
+ +
+
+enumerator SizeColumn
+
+ +
+
+enumerator SectionColumn
+
+ +
+
+enumerator CommentColumn
+
+ +
+
+enumerator ColumnCount
+
+ +
+ +
+
+

Public Functions

+
+
+StringsModel(QList<StringDescription> *strings, QObject *parent = nullptr)
+
+ +
+
+int rowCount(const QModelIndex &parent = QModelIndex()) const override
+
+ +
+
+int columnCount(const QModelIndex &parent = QModelIndex()) const override
+
+ +
+
+QVariant data(const QModelIndex &index, int role) const override
+
+ +
+
+QVariant headerData(int section, Qt::Orientation orientation, int role = Qt::DisplayRole) const override
+
+ +
+
+virtual RVA address(const QModelIndex &index) const override
+
+ +
+
+const StringDescription *description(const QModelIndex &index) const
+
+ +
+
+

Public Static Attributes

+
+
+static const int StringDescriptionRole = Qt::UserRole
+
+ +
+
+ +
+ + +
+
+
+
+ + +
+
+ + + + + + + \ No newline at end of file diff --git a/docs/api/widgets/classStringsProxyModel.html b/docs/api/widgets/classStringsProxyModel.html new file mode 100644 index 000000000..d29b29cb7 --- /dev/null +++ b/docs/api/widgets/classStringsProxyModel.html @@ -0,0 +1,289 @@ + + + + + + + + StringsProxyModel — Cutter 2.4.0 documentation + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+ +
+

StringsProxyModel

+
+
+class StringsProxyModel : public AddressableFilterProxyModel
+
+

Public Functions

+
+
+StringsProxyModel(StringsModel *sourceModel, QObject *parent = nullptr)
+
+ +
+
+void setSelectedSection(QString section)
+
+ +
+
+ +
+ + +
+
+
+
+ + +
+
+ + + + + + + \ No newline at end of file diff --git a/docs/api/widgets/classStringsWidget.html b/docs/api/widgets/classStringsWidget.html new file mode 100644 index 000000000..eb583aeb6 --- /dev/null +++ b/docs/api/widgets/classStringsWidget.html @@ -0,0 +1,289 @@ + + + + + + + + StringsWidget — Cutter 2.4.0 documentation + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+ +
+

StringsWidget

+
+
+class StringsWidget : public CutterDockWidget
+
+

Public Functions

+
+
+explicit StringsWidget(MainWindow *main)
+
+ +
+
+~StringsWidget()
+
+ +
+
+ +
+ + +
+
+
+
+ + +
+
+ + + + + + + \ No newline at end of file diff --git a/docs/api/widgets/classSymbolsModel.html b/docs/api/widgets/classSymbolsModel.html new file mode 100644 index 000000000..41419e7e0 --- /dev/null +++ b/docs/api/widgets/classSymbolsModel.html @@ -0,0 +1,368 @@ + + + + + + + + SymbolsModel — Cutter 2.4.0 documentation + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+ +
+

SymbolsModel

+
+
+class SymbolsModel : public AddressableItemModel<QAbstractListModel>
+
+

Public Types

+
+
+enum Column
+

Values:

+
+
+enumerator AddressColumn
+
+ +
+
+enumerator TypeColumn
+
+ +
+
+enumerator NameColumn
+
+ +
+
+enumerator CommentColumn
+
+ +
+
+enumerator ColumnCount
+
+ +
+ +
+
+enum Role
+

Values:

+
+
+enumerator SymbolDescriptionRole
+
+ +
+ +
+
+

Public Functions

+
+
+SymbolsModel(QList<SymbolDescription> *exports, QObject *parent = nullptr)
+
+ +
+
+int rowCount(const QModelIndex &parent = QModelIndex()) const override
+
+ +
+
+int columnCount(const QModelIndex &parent = QModelIndex()) const override
+
+ +
+
+QVariant data(const QModelIndex &index, int role) const override
+
+ +
+
+QVariant headerData(int section, Qt::Orientation orientation, int role = Qt::DisplayRole) const override
+
+ +
+
+virtual RVA address(const QModelIndex &index) const override
+
+ +
+
+virtual QString name(const QModelIndex &index) const override
+

Get name for item, optional.

+
+
Parameters:
+

index – item intex

+
+
Returns:
+

Item name or empty QString if item doesn’t have short descriptive name.

+
+
+
+ +
+
+ +
+ + +
+
+
+
+ + +
+
+ + + + + + + \ No newline at end of file diff --git a/docs/api/widgets/classSymbolsProxyModel.html b/docs/api/widgets/classSymbolsProxyModel.html new file mode 100644 index 000000000..2e3efdd9d --- /dev/null +++ b/docs/api/widgets/classSymbolsProxyModel.html @@ -0,0 +1,284 @@ + + + + + + + + SymbolsProxyModel — Cutter 2.4.0 documentation + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+ +
+

SymbolsProxyModel

+
+
+class SymbolsProxyModel : public AddressableFilterProxyModel
+
+

Public Functions

+
+
+SymbolsProxyModel(SymbolsModel *sourceModel, QObject *parent = nullptr)
+
+ +
+
+ +
+ + +
+
+
+
+ + +
+
+ + + + + + + \ No newline at end of file diff --git a/docs/api/widgets/classSymbolsWidget.html b/docs/api/widgets/classSymbolsWidget.html new file mode 100644 index 000000000..59ea00cfd --- /dev/null +++ b/docs/api/widgets/classSymbolsWidget.html @@ -0,0 +1,289 @@ + + + + + + + + SymbolsWidget — Cutter 2.4.0 documentation + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+ +
+

SymbolsWidget

+
+
+class SymbolsWidget : public ListDockWidget
+
+

Public Functions

+
+
+explicit SymbolsWidget(MainWindow *main)
+
+ +
+
+~SymbolsWidget()
+
+ +
+
+ +
+ + +
+
+
+
+ + +
+
+ + + + + + + \ No newline at end of file diff --git a/docs/api/widgets/classThreadsFilterModel.html b/docs/api/widgets/classThreadsFilterModel.html new file mode 100644 index 000000000..f44c78c3c --- /dev/null +++ b/docs/api/widgets/classThreadsFilterModel.html @@ -0,0 +1,284 @@ + + + + + + + + ThreadsFilterModel — Cutter 2.4.0 documentation + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+ +
+

ThreadsFilterModel

+
+
+class ThreadsFilterModel : public QSortFilterProxyModel
+
+

Public Functions

+
+
+ThreadsFilterModel(QObject *parent = nullptr)
+
+ +
+
+ +
+ + +
+
+
+
+ + +
+
+ + + + + + + \ No newline at end of file diff --git a/docs/api/widgets/classThreadsWidget.html b/docs/api/widgets/classThreadsWidget.html new file mode 100644 index 000000000..3c047506c --- /dev/null +++ b/docs/api/widgets/classThreadsWidget.html @@ -0,0 +1,313 @@ + + + + + + + + ThreadsWidget — Cutter 2.4.0 documentation + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+ +
+

ThreadsWidget

+
+
+class ThreadsWidget : public CutterDockWidget
+
+

Public Types

+
+
+enum ColumnIndex
+

Values:

+
+
+enumerator COLUMN_PID
+
+ +
+
+enumerator COLUMN_STATUS
+
+ +
+
+enumerator COLUMN_PATH
+
+ +
+ +
+
+

Public Functions

+
+
+explicit ThreadsWidget(MainWindow *main)
+
+ +
+
+~ThreadsWidget()
+
+ +
+
+ +
+ + +
+
+
+
+ + +
+
+ + + + + + + \ No newline at end of file diff --git a/docs/api/widgets/classTypesModel.html b/docs/api/widgets/classTypesModel.html new file mode 100644 index 000000000..38654894f --- /dev/null +++ b/docs/api/widgets/classTypesModel.html @@ -0,0 +1,351 @@ + + + + + + + + TypesModel — Cutter 2.4.0 documentation + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+ +
+

TypesModel

+
+
+class TypesModel : public QAbstractListModel
+
+

Public Types

+
+
+enum Columns
+

Values:

+
+
+enumerator TYPE
+
+ +
+
+enumerator SIZE
+
+ +
+
+enumerator CATEGORY
+
+ +
+
+enumerator FORMAT
+
+ +
+
+enumerator COUNT
+
+ +
+ +
+
+

Public Functions

+
+
+TypesModel(QList<TypeDescription> *types, QObject *parent = nullptr)
+
+ +
+
+int rowCount(const QModelIndex &parent = QModelIndex()) const override
+
+ +
+
+int columnCount(const QModelIndex &parent = QModelIndex()) const override
+
+ +
+
+QVariant data(const QModelIndex &index, int role) const override
+
+ +
+
+QVariant headerData(int section, Qt::Orientation orientation, int role = Qt::DisplayRole) const override
+
+ +
+
+bool removeRows(int row, int count, const QModelIndex &parent = QModelIndex()) override
+
+ +
+
+

Public Static Attributes

+
+
+static const int TypeDescriptionRole = Qt::UserRole
+
+ +
+
+ +
+ + +
+
+
+
+ + +
+
+ + + + + + + \ No newline at end of file diff --git a/docs/api/widgets/classTypesSortFilterProxyModel.html b/docs/api/widgets/classTypesSortFilterProxyModel.html new file mode 100644 index 000000000..57a36a580 --- /dev/null +++ b/docs/api/widgets/classTypesSortFilterProxyModel.html @@ -0,0 +1,289 @@ + + + + + + + + TypesSortFilterProxyModel — Cutter 2.4.0 documentation + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+ +
+

TypesSortFilterProxyModel

+
+
+class TypesSortFilterProxyModel : public QSortFilterProxyModel
+
+

Public Functions

+
+
+TypesSortFilterProxyModel(TypesModel *source_model, QObject *parent = nullptr)
+
+ +
+
+void setCategory(QString category)
+
+ +
+
+ +
+ + +
+
+
+
+ + +
+
+ + + + + + + \ No newline at end of file diff --git a/docs/api/widgets/classTypesWidget.html b/docs/api/widgets/classTypesWidget.html new file mode 100644 index 000000000..ced511c8f --- /dev/null +++ b/docs/api/widgets/classTypesWidget.html @@ -0,0 +1,289 @@ + + + + + + + + TypesWidget — Cutter 2.4.0 documentation + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+ +
+

TypesWidget

+
+
+class TypesWidget : public CutterDockWidget
+
+

Public Functions

+
+
+explicit TypesWidget(MainWindow *main)
+
+ +
+
+~TypesWidget()
+
+ +
+
+ +
+ + +
+
+
+
+ + +
+
+ + + + + + + \ No newline at end of file diff --git a/docs/api/widgets/classVTableModel.html b/docs/api/widgets/classVTableModel.html new file mode 100644 index 000000000..2a82473a5 --- /dev/null +++ b/docs/api/widgets/classVTableModel.html @@ -0,0 +1,346 @@ + + + + + + + + VTableModel — Cutter 2.4.0 documentation + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+ +
+

VTableModel

+
+
+class VTableModel : public QAbstractItemModel
+
+

Public Types

+
+
+enum Columns
+

Values:

+
+
+enumerator NAME
+
+ +
+
+enumerator ADDRESS
+
+ +
+
+enumerator COUNT
+
+ +
+ +
+
+

Public Functions

+
+
+VTableModel(QList<VTableDescription> *vtables, QObject *parent = nullptr)
+
+ +
+
+QModelIndex index(int row, int column, const QModelIndex &parent = QModelIndex()) const
+
+ +
+
+QModelIndex parent(const QModelIndex &index) const
+
+ +
+
+int rowCount(const QModelIndex &parent = QModelIndex()) const
+
+ +
+
+int columnCount(const QModelIndex &parent = QModelIndex()) const
+
+ +
+
+QVariant data(const QModelIndex &index, int role) const
+
+ +
+
+QVariant headerData(int section, Qt::Orientation orientation, int role = Qt::DisplayRole) const
+
+ +
+
+

Public Static Attributes

+
+
+static const int VTableDescriptionRole = Qt::UserRole
+
+ +
+
+ +
+ + +
+
+
+
+ + +
+
+ + + + + + + \ No newline at end of file diff --git a/docs/api/widgets/classVTableSortFilterProxyModel.html b/docs/api/widgets/classVTableSortFilterProxyModel.html new file mode 100644 index 000000000..d31f89d0e --- /dev/null +++ b/docs/api/widgets/classVTableSortFilterProxyModel.html @@ -0,0 +1,284 @@ + + + + + + + + VTableSortFilterProxyModel — Cutter 2.4.0 documentation + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+ +
+

VTableSortFilterProxyModel

+
+
+class VTableSortFilterProxyModel : public QSortFilterProxyModel
+
+

Public Functions

+
+
+VTableSortFilterProxyModel(VTableModel *model, QObject *parent = nullptr)
+
+ +
+
+ +
+ + +
+
+
+
+ + +
+
+ + + + + + + \ No newline at end of file diff --git a/docs/api/widgets/classVTablesWidget.html b/docs/api/widgets/classVTablesWidget.html new file mode 100644 index 000000000..201cec54a --- /dev/null +++ b/docs/api/widgets/classVTablesWidget.html @@ -0,0 +1,289 @@ + + + + + + + + VTablesWidget — Cutter 2.4.0 documentation + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+ +
+

VTablesWidget

+
+
+class VTablesWidget : public CutterDockWidget
+
+

Public Functions

+
+
+explicit VTablesWidget(MainWindow *main)
+
+ +
+
+~VTablesWidget()
+
+ +
+
+ +
+ + +
+
+
+
+ + +
+
+ + + + + + + \ No newline at end of file diff --git a/docs/api/widgets/classVirtualAddrDock.html b/docs/api/widgets/classVirtualAddrDock.html new file mode 100644 index 000000000..bae29d383 --- /dev/null +++ b/docs/api/widgets/classVirtualAddrDock.html @@ -0,0 +1,294 @@ + + + + + + + + VirtualAddrDock — Cutter 2.4.0 documentation + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+ +
+

VirtualAddrDock

+
+
+class VirtualAddrDock : public AbstractAddrDock
+
+

Public Functions

+
+
+explicit VirtualAddrDock(SectionsModel *model, QWidget *parent = nullptr)
+
+ +
+
+~VirtualAddrDock() = default
+
+ +
+
+virtual void updateDock() override
+
+ +
+
+ +
+ + +
+
+
+
+ + +
+
+ + + + + + + \ No newline at end of file diff --git a/docs/api/widgets/classVisualNavbar.html b/docs/api/widgets/classVisualNavbar.html new file mode 100644 index 000000000..da068c0ad --- /dev/null +++ b/docs/api/widgets/classVisualNavbar.html @@ -0,0 +1,297 @@ + + + + + + + + VisualNavbar — Cutter 2.4.0 documentation + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+ +
+

VisualNavbar

+
+
+class VisualNavbar : public QToolBar
+
+

Public Functions

+
+
+explicit VisualNavbar(MainWindow *main, QWidget *parent = nullptr)
+
+ +
+
+

Public Slots

+
+
+void paintEvent(QPaintEvent *event) override
+
+ +
+
+void updateGraphicsScene()
+
+ +
+
+ +
+ + +
+
+
+
+ + +
+
+ + + + + + + \ No newline at end of file diff --git a/docs/api/widgets/structAnalysisClassesModel_1_1Attribute.html b/docs/api/widgets/structAnalysisClassesModel_1_1Attribute.html new file mode 100644 index 000000000..234211458 --- /dev/null +++ b/docs/api/widgets/structAnalysisClassesModel_1_1Attribute.html @@ -0,0 +1,328 @@ + + + + + + + + AnalysisClassesModel::Attribute — Cutter 2.4.0 documentation + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+ +
+

AnalysisClassesModel::Attribute

+
+
+struct Attribute
+

List entry below a class.

+

This roughly corresponds to attributes of Rizin analysis classes, which means it is not an attribute in the sense of a class member variable, but any kind of sub-info associated with the class. This struct in particular is used to provide a model for the list entries below a class.

+
+

Public Types

+
+
+enum class Type
+

Values:

+
+
+enumerator VTable
+
+ +
+
+enumerator Base
+
+ +
+
+enumerator Method
+
+ +
+ +
+
+

Public Functions

+
+
+Attribute() = default
+
+ +
+
+inline Attribute(Type type, const QVariant &data)
+
+ +
+
+

Public Members

+
+
+Type type
+
+ +
+
+QVariant data
+
+ +
+
+ +
+ + +
+
+
+
+ + +
+
+ + + + + + + \ No newline at end of file diff --git a/docs/api/widgets/structBasicCursor.html b/docs/api/widgets/structBasicCursor.html new file mode 100644 index 000000000..03947fb1b --- /dev/null +++ b/docs/api/widgets/structBasicCursor.html @@ -0,0 +1,327 @@ + + + + + + + + BasicCursor — Cutter 2.4.0 documentation + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+ +
+

BasicCursor

+
+
+struct BasicCursor
+
+

Public Functions

+
+
+inline explicit BasicCursor(uint64_t pos)
+
+ +
+
+inline BasicCursor()
+
+ +
+
+inline BasicCursor &operator+=(int64_t offset)
+
+ +
+
+inline BasicCursor &operator+=(int offset)
+
+ +
+
+inline bool moveChecked(int offset)
+
+ +
+
+inline BasicCursor &operator+=(uint64_t offset)
+
+ +
+
+inline bool operator<(const BasicCursor &r) const
+
+ +
+
+

Public Members

+
+
+uint64_t address
+
+ +
+
+bool pastEnd
+
+ +
+
+ +
+ + +
+
+
+
+ + +
+
+ + + + + + + \ No newline at end of file diff --git a/docs/api/widgets/structColorOption.html b/docs/api/widgets/structColorOption.html new file mode 100644 index 000000000..dd532e216 --- /dev/null +++ b/docs/api/widgets/structColorOption.html @@ -0,0 +1,294 @@ + + + + + + + + ColorOption — Cutter 2.4.0 documentation + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+ +
+

ColorOption

+
+
+struct ColorOption
+
+

Public Members

+
+
+QString optionName
+
+ +
+
+QColor color
+
+ +
+
+bool changed
+
+ +
+
+ +
+ + +
+
+
+
+ + +
+
+ + + + + + + \ No newline at end of file diff --git a/docs/api/widgets/structCommentGroup.html b/docs/api/widgets/structCommentGroup.html new file mode 100644 index 000000000..8a647bacd --- /dev/null +++ b/docs/api/widgets/structCommentGroup.html @@ -0,0 +1,294 @@ + + + + + + + + CommentGroup — Cutter 2.4.0 documentation + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+ +
+

CommentGroup

+
+
+struct CommentGroup
+
+

Public Members

+
+
+QString name
+
+ +
+
+RVA offset
+
+ +
+
+QList<CommentDescription> comments
+
+ +
+
+ +
+ + +
+
+
+
+ + +
+
+ + + + + + + \ No newline at end of file diff --git a/docs/api/widgets/structDisassemblerGraphView_1_1DisassemblyBlock.html b/docs/api/widgets/structDisassemblerGraphView_1_1DisassemblyBlock.html new file mode 100644 index 000000000..02a183cd4 --- /dev/null +++ b/docs/api/widgets/structDisassemblerGraphView_1_1DisassemblyBlock.html @@ -0,0 +1,314 @@ + + + + + + + + DisassemblerGraphView::DisassemblyBlock — Cutter 2.4.0 documentation + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+ +
+

DisassemblerGraphView::DisassemblyBlock

+
+
+struct DisassemblyBlock
+
+

Public Members

+
+
+Text header_text
+
+ +
+
+std::vector<Instr> instrs
+
+ +
+
+ut64 entry = 0
+
+ +
+
+ut64 true_path = 0
+
+ +
+
+ut64 false_path = 0
+
+ +
+
+bool terminal = false
+
+ +
+
+bool indirectcall = false
+
+ +
+
+ +
+ + +
+
+
+
+ + +
+
+ + + + + + + \ No newline at end of file diff --git a/docs/api/widgets/structDisassemblerGraphView_1_1Instr.html b/docs/api/widgets/structDisassemblerGraphView_1_1Instr.html new file mode 100644 index 000000000..cc9e72a82 --- /dev/null +++ b/docs/api/widgets/structDisassemblerGraphView_1_1Instr.html @@ -0,0 +1,322 @@ + + + + + + + + DisassemblerGraphView::Instr — Cutter 2.4.0 documentation + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+ +
+

DisassemblerGraphView::Instr

+
+
+struct Instr
+
+

Public Functions

+
+
+inline bool empty() const
+
+ +
+
+bool contains(ut64 addr) const
+
+ +
+
+

Public Members

+
+
+ut64 addr = 0
+
+ +
+
+ut64 size = 0
+
+ +
+
+Text text
+
+ +
+
+Text fullText
+
+ +
+
+QString plainText
+
+ +
+
+std::vector<unsigned char> opcode
+
+ +
+
+ +
+ + +
+
+
+
+ + +
+
+ + + + + + + \ No newline at end of file diff --git a/docs/api/widgets/structDisassemblerGraphView_1_1Text.html b/docs/api/widgets/structDisassemblerGraphView_1_1Text.html new file mode 100644 index 000000000..b0028a747 --- /dev/null +++ b/docs/api/widgets/structDisassemblerGraphView_1_1Text.html @@ -0,0 +1,307 @@ + + + + + + + + DisassemblerGraphView::Text — Cutter 2.4.0 documentation + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+ +
+

DisassemblerGraphView::Text

+
+
+struct Text
+
+

Public Functions

+
+
+inline Text()
+
+ +
+
+inline Text(const QString &text, QColor color, QColor background)
+
+ +
+
+inline Text(const RichTextPainter::List &richText)
+
+ +
+
+inline QString ToQString() const
+
+ +
+
+

Public Members

+
+
+std::vector<RichTextPainter::List> lines
+
+ +
+
+ +
+ + +
+
+
+
+ + +
+
+ + + + + + + \ No newline at end of file diff --git a/docs/api/widgets/structDisassemblerGraphView_1_1Token.html b/docs/api/widgets/structDisassemblerGraphView_1_1Token.html new file mode 100644 index 000000000..b1f02e882 --- /dev/null +++ b/docs/api/widgets/structDisassemblerGraphView_1_1Token.html @@ -0,0 +1,309 @@ + + + + + + + + DisassemblerGraphView::Token — Cutter 2.4.0 documentation + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+ +
+

DisassemblerGraphView::Token

+
+
+struct Token
+
+

Public Members

+
+
+int start
+
+ +
+
+int length
+
+ +
+
+QString type
+
+ +
+
+Instr *instr
+
+ +
+
+QString name
+
+ +
+
+QString content
+
+ +
+
+ +
+ + +
+
+
+
+ + +
+
+ + + + + + + \ No newline at end of file diff --git a/docs/api/widgets/structDisassemblyLeftPanel_1_1Arrow.html b/docs/api/widgets/structDisassemblyLeftPanel_1_1Arrow.html new file mode 100644 index 000000000..59798bc2a --- /dev/null +++ b/docs/api/widgets/structDisassemblyLeftPanel_1_1Arrow.html @@ -0,0 +1,332 @@ + + + + + + + + DisassemblyLeftPanel::Arrow — Cutter 2.4.0 documentation + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+ +
+

DisassemblyLeftPanel::Arrow

+
+
+struct Arrow
+
+

Public Functions

+
+
+inline Arrow(RVA v1, RVA v2)
+
+ +
+
+inline bool contains(RVA point) const
+
+ +
+
+inline bool intersects(const Arrow &other) const
+
+ +
+
+inline ut64 length() const
+
+ +
+
+inline RVA jmpFromOffset() const
+
+ +
+
+inline RVA jmpToffset() const
+
+ +
+
+

Public Members

+
+
+RVA min
+
+ +
+
+RVA max
+
+ +
+
+uint32_t level
+
+ +
+
+bool up
+
+ +
+
+ +
+ + +
+
+
+
+ + +
+
+ + + + + + + \ No newline at end of file diff --git a/docs/api/widgets/structGraphGridLayout_1_1GridBlock.html b/docs/api/widgets/structGraphGridLayout_1_1GridBlock.html new file mode 100644 index 000000000..8db619b55 --- /dev/null +++ b/docs/api/widgets/structGraphGridLayout_1_1GridBlock.html @@ -0,0 +1,368 @@ + + + + + + + + GraphGridLayout::GridBlock — Cutter 2.4.0 documentation + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+ +
+

GraphGridLayout::GridBlock

+
+
+struct GridBlock
+
+

Public Members

+
+
+ut64 id
+
+ +
+
+std::vector<ut64> tree_edge
+

subset of outgoing edges that form a tree

+
+ +
+
+std::vector<ut64> dag_edge
+

subset of outgoing edges that form a dag

+
+ +
+
+std::size_t has_parent = false
+
+ +
+
+int inputCount = 0
+
+ +
+
+int outputCount = 0
+
+ +
+
+int row_count = 0
+

Number of rows in subtree.

+
+ +
+
+int col = 0
+

Column in which the block is.

+
+ +
+
+int row = 0
+

Row in which the block is.

+
+ +
+
+ut64 mergeBlock = 0
+
+ +
+
+int lastRowLeft
+

left side of subtree last row

+
+ +
+
+int lastRowRight
+

right side of subtree last row

+
+ +
+
+int leftPosition
+

left side of subtree

+
+ +
+
+int rightPosition
+

right side of subtree

+
+ +
+
+LinkedListPool<int>::List leftSideShape
+
+ +
+
+LinkedListPool<int>::List rightSideShape
+
+ +
+
+ +
+ + +
+
+
+
+ + +
+
+ + + + + + + \ No newline at end of file diff --git a/docs/api/widgets/structGraphGridLayout_1_1GridEdge.html b/docs/api/widgets/structGraphGridLayout_1_1GridEdge.html new file mode 100644 index 000000000..f72ab4233 --- /dev/null +++ b/docs/api/widgets/structGraphGridLayout_1_1GridEdge.html @@ -0,0 +1,307 @@ + + + + + + + + GraphGridLayout::GridEdge — Cutter 2.4.0 documentation + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+ +
+

GraphGridLayout::GridEdge

+
+
+struct GridEdge
+
+

Public Functions

+
+
+inline void addPoint(int row, int col, int16_t kind = 0)
+
+ +
+
+

Public Members

+
+
+ut64 dest
+
+ +
+
+int mainColumn = -1
+
+ +
+
+std::vector<Point> points
+
+ +
+
+int secondaryPriority
+
+ +
+
+ +
+ + +
+
+
+
+ + +
+
+ + + + + + + \ No newline at end of file diff --git a/docs/api/widgets/structGraphGridLayout_1_1LayoutState.html b/docs/api/widgets/structGraphGridLayout_1_1LayoutState.html new file mode 100644 index 000000000..fdf44743d --- /dev/null +++ b/docs/api/widgets/structGraphGridLayout_1_1LayoutState.html @@ -0,0 +1,344 @@ + + + + + + + + GraphGridLayout::LayoutState — Cutter 2.4.0 documentation + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+ +
+

GraphGridLayout::LayoutState

+
+
+struct LayoutState
+
+

Public Members

+
+
+std::unordered_map<ut64, GridBlock> grid_blocks
+
+ +
+
+std::unordered_map<ut64, GraphBlock> *blocks = nullptr
+
+ +
+
+std::unordered_map<ut64, std::vector<GridEdge>> edge
+
+ +
+
+size_t rows = -1
+
+ +
+
+size_t columns = -1
+
+ +
+
+std::vector<int> columnWidth
+
+ +
+
+std::vector<int> rowHeight
+
+ +
+
+std::vector<int> edgeColumnWidth
+
+ +
+
+std::vector<int> edgeRowHeight
+
+ +
+
+std::vector<int> columnOffset
+
+ +
+
+std::vector<int> rowOffset
+
+ +
+
+std::vector<int> edgeColumnOffset
+
+ +
+
+std::vector<int> edgeRowOffset
+
+ +
+
+ +
+ + +
+
+
+
+ + +
+
+ + + + + + + \ No newline at end of file diff --git a/docs/api/widgets/structGraphGridLayout_1_1Point.html b/docs/api/widgets/structGraphGridLayout_1_1Point.html new file mode 100644 index 000000000..be7208c73 --- /dev/null +++ b/docs/api/widgets/structGraphGridLayout_1_1Point.html @@ -0,0 +1,304 @@ + + + + + + + + GraphGridLayout::Point — Cutter 2.4.0 documentation + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+ +
+

GraphGridLayout::Point

+
+
+struct Point
+
+

Public Members

+
+
+int row
+
+ +
+
+int col
+
+ +
+
+int offset
+
+ +
+
+int16_t kind
+
+ +
+
+int16_t spacingOverride
+
+ +
+
+ +
+ + +
+
+
+
+ + +
+
+ + + + + + + \ No newline at end of file diff --git a/docs/api/widgets/structGraphLayout_1_1GraphBlock.html b/docs/api/widgets/structGraphLayout_1_1GraphBlock.html new file mode 100644 index 000000000..961014e5d --- /dev/null +++ b/docs/api/widgets/structGraphLayout_1_1GraphBlock.html @@ -0,0 +1,309 @@ + + + + + + + + GraphLayout::GraphBlock — Cutter 2.4.0 documentation + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+ +
+

GraphLayout::GraphBlock

+
+
+struct GraphBlock
+
+

Public Members

+
+
+int x = 0
+
+ +
+
+int y = 0
+
+ +
+
+int width = 0
+
+ +
+
+int height = 0
+
+ +
+
+ut64 entry
+
+ +
+
+std::vector<GraphEdge> edges
+
+ +
+
+ +
+ + +
+
+
+
+ + +
+
+ + + + + + + \ No newline at end of file diff --git a/docs/api/widgets/structGraphLayout_1_1GraphEdge.html b/docs/api/widgets/structGraphLayout_1_1GraphEdge.html new file mode 100644 index 000000000..d0f366785 --- /dev/null +++ b/docs/api/widgets/structGraphLayout_1_1GraphEdge.html @@ -0,0 +1,336 @@ + + + + + + + + GraphLayout::GraphEdge — Cutter 2.4.0 documentation + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+ +
+

GraphLayout::GraphEdge

+
+
+struct GraphEdge
+
+

Public Types

+
+
+enum ArrowDirection
+

Values:

+
+
+enumerator Down
+
+ +
+
+enumerator Left
+
+ +
+
+enumerator Up
+
+ +
+
+enumerator Right
+
+ +
+
+enumerator None
+
+ +
+ +
+
+

Public Functions

+
+
+inline explicit GraphEdge(ut64 target)
+
+ +
+
+

Public Members

+
+
+ut64 target
+
+ +
+
+QPolygonF polyline
+
+ +
+
+ArrowDirection arrow = ArrowDirection::Down
+
+ +
+
+ +
+ + +
+
+
+
+ + +
+
+ + + + + + + \ No newline at end of file diff --git a/docs/api/widgets/structGraphLayout_1_1LayoutConfig.html b/docs/api/widgets/structGraphLayout_1_1LayoutConfig.html new file mode 100644 index 000000000..20eeea443 --- /dev/null +++ b/docs/api/widgets/structGraphLayout_1_1LayoutConfig.html @@ -0,0 +1,299 @@ + + + + + + + + GraphLayout::LayoutConfig — Cutter 2.4.0 documentation + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+ +
+

GraphLayout::LayoutConfig

+
+
+struct LayoutConfig
+
+

Public Members

+
+
+int blockVerticalSpacing = 40
+
+ +
+
+int blockHorizontalSpacing = 20
+
+ +
+
+int edgeVerticalSpacing = 10
+
+ +
+
+int edgeHorizontalSpacing = 10
+
+ +
+
+ +
+ + +
+
+
+
+ + +
+
+ + + + + + + \ No newline at end of file diff --git a/docs/api/widgets/structGraphView_1_1EdgeConfiguration.html b/docs/api/widgets/structGraphView_1_1EdgeConfiguration.html new file mode 100644 index 000000000..a2a92fdc0 --- /dev/null +++ b/docs/api/widgets/structGraphView_1_1EdgeConfiguration.html @@ -0,0 +1,304 @@ + + + + + + + + GraphView::EdgeConfiguration — Cutter 2.4.0 documentation + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+ +
+

GraphView::EdgeConfiguration

+
+
+struct EdgeConfiguration
+
+

Public Members

+
+
+QColor color = QColor(128, 128, 128)
+
+ +
+
+bool start_arrow = false
+
+ +
+
+bool end_arrow = true
+
+ +
+
+qreal width_scale = 1.0
+
+ +
+
+Qt::PenStyle lineStyle = Qt::PenStyle::SolidLine
+
+ +
+
+ +
+ + +
+
+
+
+ + +
+
+ + + + + + + \ No newline at end of file diff --git a/docs/api/widgets/structHeapBinsGraphView_1_1GraphHeapChunk.html b/docs/api/widgets/structHeapBinsGraphView_1_1GraphHeapChunk.html new file mode 100644 index 000000000..9a8c48463 --- /dev/null +++ b/docs/api/widgets/structHeapBinsGraphView_1_1GraphHeapChunk.html @@ -0,0 +1,299 @@ + + + + + + + + HeapBinsGraphView::GraphHeapChunk — Cutter 2.4.0 documentation + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+ +
+

HeapBinsGraphView::GraphHeapChunk

+
+
+struct GraphHeapChunk
+
+

Public Members

+
+
+QString content
+
+ +
+
+ut64 addr
+
+ +
+
+ut64 fd
+
+ +
+
+ut64 bk
+
+ +
+
+ +
+ + +
+
+
+
+ + +
+
+ + + + + + + \ No newline at end of file diff --git a/docs/api/widgets/structHexCursor.html b/docs/api/widgets/structHexCursor.html new file mode 100644 index 000000000..01387e116 --- /dev/null +++ b/docs/api/widgets/structHexCursor.html @@ -0,0 +1,342 @@ + + + + + + + + HexCursor — Cutter 2.4.0 documentation + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+ +
+

HexCursor

+
+
+struct HexCursor
+
+

Public Functions

+
+
+inline HexCursor()
+
+ +
+
+inline void blink()
+
+ +
+
+inline void setBlinkPeriod(int msec)
+
+ +
+
+inline void startBlinking()
+
+ +
+
+inline void stopBlinking()
+
+ +
+
+

Public Members

+
+
+bool isVisible
+
+ +
+
+bool onAsciiArea
+
+ +
+
+QTimer blinkTimer
+
+ +
+
+QRectF screenPos
+
+ +
+
+uint64_t address
+
+ +
+
+QString cachedChar
+
+ +
+
+QColor cachedColor
+
+ +
+
+ +
+ + +
+
+
+
+ + +
+
+ + + + + + + \ No newline at end of file diff --git a/docs/api/widgets/structHexWidget_1_1Selection.html b/docs/api/widgets/structHexWidget_1_1Selection.html new file mode 100644 index 000000000..fab9bf96a --- /dev/null +++ b/docs/api/widgets/structHexWidget_1_1Selection.html @@ -0,0 +1,294 @@ + + + + + + + + HexWidget::Selection — Cutter 2.4.0 documentation + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+ +
+

HexWidget::Selection

+
+
+struct Selection
+
+

Public Members

+
+
+bool empty
+
+ +
+
+RVA startAddress
+
+ +
+
+RVA endAddress
+
+ +
+
+ +
+ + +
+
+
+
+ + +
+
+ + + + + + + \ No newline at end of file diff --git a/docs/api/widgets/structOptionInfo.html b/docs/api/widgets/structOptionInfo.html new file mode 100644 index 000000000..45392b0c2 --- /dev/null +++ b/docs/api/widgets/structOptionInfo.html @@ -0,0 +1,289 @@ + + + + + + + + OptionInfo — Cutter 2.4.0 documentation + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+ +
+

OptionInfo

+
+
+struct OptionInfo
+
+

Public Members

+
+
+QString info
+
+ +
+
+QString displayingtext
+
+ +
+
+ +
+ + +
+
+
+
+ + +
+
+ + + + + + + \ No newline at end of file diff --git a/docs/api/widgets/structRegisterRefDescription.html b/docs/api/widgets/structRegisterRefDescription.html new file mode 100644 index 000000000..b61d15bd0 --- /dev/null +++ b/docs/api/widgets/structRegisterRefDescription.html @@ -0,0 +1,294 @@ + + + + + + + + RegisterRefDescription — Cutter 2.4.0 documentation + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+ +
+

RegisterRefDescription

+
+
+struct RegisterRefDescription
+
+

Public Members

+
+
+QString reg
+
+ +
+
+QString value
+
+ +
+
+RefDescription refDesc
+
+ +
+
+ +
+ + +
+
+
+
+ + +
+
+ + + + + + + \ No newline at end of file diff --git a/docs/api/widgets/structSimpleTextGraphView_1_1BlockContent.html b/docs/api/widgets/structSimpleTextGraphView_1_1BlockContent.html new file mode 100644 index 000000000..91e2b0c35 --- /dev/null +++ b/docs/api/widgets/structSimpleTextGraphView_1_1BlockContent.html @@ -0,0 +1,289 @@ + + + + + + + + SimpleTextGraphView::BlockContent — Cutter 2.4.0 documentation + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+ +
+

SimpleTextGraphView::BlockContent

+
+
+struct BlockContent
+
+

Public Members

+
+
+QString text
+
+ +
+
+RVA address
+
+ +
+
+ +
+ + +
+
+
+
+ + +
+
+ + + + + + + \ No newline at end of file diff --git a/docs/api/widgets/structStackModel_1_1Item.html b/docs/api/widgets/structStackModel_1_1Item.html new file mode 100644 index 000000000..0dc4cb849 --- /dev/null +++ b/docs/api/widgets/structStackModel_1_1Item.html @@ -0,0 +1,294 @@ + + + + + + + + StackModel::Item — Cutter 2.4.0 documentation + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+ +
+

StackModel::Item

+
+
+struct Item
+
+

Public Members

+
+
+RVA offset
+
+ +
+
+QString value
+
+ +
+
+RefDescription refDesc
+
+ +
+
+ +
+ + +
+
+
+
+ + +
+
+ + + + + + + \ No newline at end of file diff --git a/docs/api/widgets/structVisualNavbar_1_1XToAddress.html b/docs/api/widgets/structVisualNavbar_1_1XToAddress.html new file mode 100644 index 000000000..42fb943fb --- /dev/null +++ b/docs/api/widgets/structVisualNavbar_1_1XToAddress.html @@ -0,0 +1,295 @@ + + + + + + + + VisualNavbar::XToAddress — Cutter 2.4.0 documentation + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+ +
+

VisualNavbar::XToAddress

+
+
+struct XToAddress
+
+

Public Members

+
+
+double x_start
+
+ +
+
+double x_end
+
+ +
+
+RVA address_from
+
+ +
+
+RVA address_to
+
+ +
+
+ +
+ + +
+
+
+
+ + +
+
+ + + + + + + \ No newline at end of file diff --git a/docs/api/widgetslist.html b/docs/api/widgetslist.html new file mode 100644 index 000000000..0a834525f --- /dev/null +++ b/docs/api/widgetslist.html @@ -0,0 +1,2484 @@ + + + + + + + + Widgets — Cutter 2.4.0 documentation + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+ +
+

Widgets

+
+ +
+
+ + +
+
+
+
+ + +
+
+ + + + + + + \ No newline at end of file diff --git a/docs/building.html b/docs/building.html new file mode 100644 index 000000000..31239e8df --- /dev/null +++ b/docs/building.html @@ -0,0 +1,413 @@ + + + + + + + + Building — Cutter 2.4.0 documentation + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+ +
+

Building

+
+

Note

+

If you just want to use the latest Release version of Cutter, please note +that we provide pre-compiled binaries for Windows, Linux, and macOS on +our release page and +CI page for latest development builds.

+
+

This page describes how to do a basic build from the command line. If you are planning to modify Cutter it is recommended to also read our development environment setup.

+
+

Getting the Source

+

Make sure you’ve git installed in your system (Installation guide) and do the following:

+
git clone --recurse-submodules https://github.com/rizinorg/cutter
+
+
+

This will clone the Cutter source and its dependencies(rizin, etc.) +under cutter and you should see the following dir structure:

+
cutter/-|
+        |-docs/     # Cutter Documentation
+        |-rizin/    # Rizin submodule
+        |-src/      # Cutter Source Code
+
+
+

Following sections assume that cutter is your working dir. (if not, do cd cutter)

+
+
+

Building on Linux

+
+

Requirements

+

On Linux, you will need:

+
    +
  • build-essential

  • +
  • cmake

  • +
  • meson

  • +
  • libzip-dev

  • +
  • libzlib-dev

  • +
  • qt6

  • +
  • qt6-svg

  • +
  • pkgconf

  • +
  • curl*

  • +
  • python-setuptools*

  • +
  • KSyntaxHighlighter**

  • +
  • graphviz**

  • +
  • shiboken6**

  • +
  • pyside6**

  • +
+
+

* Recommended while building with make/Cmake.

+

** Optional. If present, these add extra features to Cutter. See CMake Building Options.

+
+

On Debian-based Linux distributions, all of these essential packages can be installed with this single command:

+
sudo apt install build-essential cmake meson pkgconf libzip-dev zlib1g-dev qt6-base-dev qt6-tools-dev qt6-tools-dev-tools libqt6svg6-dev libqt6core5compat6-dev libqt6svgwidgets6 qt6-l10n-tools
+
+
+

Depending on your configuration you’ll might also need the following:

+
# When building with CUTTER_ENABLE_GRAPHVIZ (Default)
+sudo apt install libgraphviz-dev
+
+
+
+

Note

+

For Ubuntu 20.04 and lower (or in any case you get an error Meson version is x but project requires >=y), meson should be installed with pip install --upgrade --user meson.

+
+

On Arch-based Linux distributions:

+
sudo pacman -Syu --needed base-devel cmake meson qt6-base qt6-svg qt6-tools
+
+# When building with CUTTER_ENABLE_KSYNTAXHIGHLIGHTING (Default)
+sudo pacman -Syu --needed syntax-highlighting
+# When building with CUTTER_ENABLE_GRAPHVIZ (Default)
+sudo pacman -Syu --needed graphviz
+# When building with CUTTER_ENABLE_PYTHON and CUTTER_ENABLE_PYTHON_BINDINGS
+sudo pacman -Syu --needed pyside6 shiboken6
+
+
+

On dnf/yum based distributions:

+
sudo dnf install -y gcc gcc-c++ make cmake meson qt6-qtbase-devel qt6-qtsvg-devel qt6-qttools-devel qt6-qt5compat-devel
+# Optional packages
+sudo dnf install -y graphviz-devel kf6-syntax-highlighting-devel python3-devel shiboken6 python3-pyside6-devel clang
+
+
+

On older Linux systems not supported by QT6 you can use Qt 5.15. Use of Qt5 on operating systems other than Linux is untested.

+
+
+

Building Steps

+

The recommended way to build Cutter on Linux is by using CMake. Simply invoke CMake to build Cutter and its dependency Rizin.

+
mkdir build && cd build
+cmake ..
+cmake --build .
+
+
+

If your operating system has a newer version of CMake (> v3.12) you can use this cleaner solution:

+
cmake -B build
+cmake --build build
+
+
+

If you want to use Cutter with another version of Rizin you can set -DCUTTER_USE_BUNDLED_RIZIN=OFF. Note that using a version of Rizin which isn’t the version Cutter is using can cause issues and the compilation might fail.

+
+

Note

+

If you are interested in building Cutter with support for Python plugins, +Syntax Highlighting and more, please look at the full list of CMake Building Options.

+
+

After the build process is complete, you should have the Cutter executable in the build dir. +You can now execute Cutter like this:

+
./build/cutter
+
+
+
+
+

Making Linux distribution specific packages

+

When making a distribution specific package, the default install target should give you a good starting point. +It uses CMake built-in functionality and GNUInstallDirs for +installing the executable, desktop file, headers and other files required for plugin compilation. See CMake documentation for adjusting installed file locations and properties. +It shouldn’t be necessary to manually copy files from plain build.

+

It is recommended to build and package rizin as a separate package so that it can be used with or without Cutter. Doing that will also give more control over the way rizin dependencies are handled. We are trying to maintain +compatibility with latest rizin release at the time of Cutter release and making a new Cutter release when new rizin version is released.

+

If you are packaging Cutter, users will appreciate it if you also package rz-ghidra and jsdec decompilers as optional packages. +It should be possible to compile Cutter plugins against proper Cutter installation without having direct access to Cutter source code.

+

If the names “Cutter” or “cutter” conflict with other packages or their content, “rz-cutter” can be used.

+
+
Configuration for packaging:
+

+
+
    +
  • -DCMAKE_BUILD_TYPE=Release turn on release optimizations, unless your distro has more specific guidelines for common compiler options.

  • +
  • CUTTER_USE_BUNDLED_RIZIN=OFF turn off use of rizin from submodule to use previously packaged rizin. Note that keeping it on doesn’t install rizin in a way suitable for linux packaging without doing additional manual steps making packaging process more complex. Bundled rizin will also likely conflict with standalone rizin package.

  • +
  • Correct install prefix. By default CMake will install to /usr/local suitable for user builds. Change it according to your distro packaging guidelines.

  • +
  • CUTTER_ENABLE_PYTHON and CUTTER_ENABLE_PYTHON_BINDINGS it is recommended to turn on for complete user experience. May require manual path specification on distros with multiple python versions.

  • +
  • CUTTER_ENABLE_GRAPHVIZ and CUTTER_ENABLE_KSYNTAXHIGHLIGHTING optional but nice to have since they are available on most distros.

  • +
  • CUTTER_EXTRA_PLUGIN_DIRS use it to specify additional plugin search locations if distro packaging guidelines require you placing them in locations Cutter doesn’t use by default.

  • +
+
+
+
+

Building on Windows

+
+

Requirements

+

Cutter works on Windows 10 or newer. +To compile Cutter it is necessary to have the following installed:

+ +
+
+

Building Steps

+

To build Cutter on Windows machines using CMake, +you will have to make sure that the executables are available +in your %PATH% environment variable.

+

You can check if the binaries are available by opening PowerShell and +executing the following commands.

+
ninja --version
+meson --version
+cmake --version
+
+
+

If they are not available, you can use PowerShell to add them to your PATH one by one:

+
$Env:Path += ";C:\enter\path\here"
+
+
+

Note that the paths below may vary depending on your version of Qt and Visual Studio.

+
# Add the following directory to your PATH
+$Env:Path += ";C:\Qt\6.7.2\msvc2019_64\bin"
+
+# Build Cutter
+cmake -B build
+cmake --build build
+
+
+

After the compilation completes, the cutter.exe binary will be available in .\build\Debug\cutter.exe.

+
+
+
+

Building on macOS

+
+

Requirements

+
    +
  • XCode

  • +
  • CMake

  • +
  • Qt

  • +
  • meson

  • +
  • ninja

  • +
+

For basic build all dependencies except XCode can be installed using homebrew:

+
brew install cmake qt6 meson ninja
+
+
+
+ +
+
+
+

CMake Building Options

+

Note that there are some major building options available:

+
    +
  • CUTTER_USE_BUNDLED_RIZIN automatically compile Rizin from submodule (Enabled by default).

  • +
  • CUTTER_ENABLE_PYTHON compile with Python support, required for Python plugins.

  • +
  • CUTTER_ENABLE_PYTHON_BINDINGS automatically generate Python Bindings with Shiboken, required for Python plugins!

  • +
  • CUTTER_ENABLE_KSYNTAXHIGHLIGHTING use KSyntaxHighlighting for code highlighting.

  • +
  • CUTTER_ENABLE_GRAPHVIZ enable Graphviz for graph layouts.

  • +
  • CUTTER_EXTRA_PLUGIN_DIRS List of addition plugin locations. Useful when preparing package for Linux distros that have strict package layout rules.

  • +
  • CUTTER_QT Qt major version to use. Defaults to 6. Allowed values: 5, 6.

  • +
+

Cutter binary release options, not needed for most users and might not work easily outside CI environment:

+
    +
  • CUTTER_ENABLE_DEPENDENCY_DOWNLOADS Enable downloading of dependencies. Setting to OFF doesn’t affect any downloads done by Rizin build. This option is used for preparing Cutter binary release packges. Turned off by default.

  • +
  • CUTTER_PACKAGE_DEPENDENCIES During install step include the third party dependencies. This option is used for preparing Cutter binary release packages.

  • +
+

For full list of Cutter specific build options and their description see CMakeCache.txt after configuring the project or use a graphical CMake configurator if your IDE provides one.

+

These options can be enabled or disabled from the command line arguments passed to CMake. +For example, to build Cutter with support for Python plugins, you can run this command:

+
cmake -B build -DCUTTER_ENABLE_PYTHON=ON -DCUTTER_ENABLE_PYTHON_BINDINGS=ON
+
+
+

Or if one wants to explicitly disable an option:

+
cmake -B build -DCUTTER_ENABLE_PYTHON=OFF
+
+
+
+
+
+

Troubleshooting

+
    +
  • Cmake can’t find Qt

    +
    +

    Cmake: qt development package not found

    +
    +
  • +
+

Depending on how Qt installed (Distribution packages or using the Qt +installer application), CMake may not be able to find it by itself if it +is not in a common place. If that is the case, double-check that the +correct Qt version is installed. Locate its prefix (a directory +containing bin/, lib/, include/, etc.) and specify it to CMake using +CMAKE_PREFIX_PATH in the above process, e.g.:

+
rm CMakeCache.txt # the cache may be polluted with unwanted libraries found before
+cmake -DCMAKE_PREFIX_PATH=/opt/Qt/5.9.1/gcc_64 ..
+
+
+
    +
  • Rizin’s librz_*.so cannot be found when running Cutter

    +
    +

    ./cutter: error while loading shared libraries: librz_lang.so: cannot open shared object file: No such file or directory

    +
    +
  • +
+

The exact Rizin .so file that cannot be found may vary. On some systems, the linker by default uses RUNPATH instead of RPATH which is incompatible with the way Rizin is currently compiled. It results in some of the Rizin libraries not being found when running cutter. You can verify if this is the problem by running ldd ./cutter. If all the Rizin libraries are missing you have a different problem. +The workaround is to either add the –disable-new-dtags linker flag when compiling Cutter or add the Rizin installation path to LD_LIBRARY_PATH environment variable.

+
cmake -DCMAKE_EXE_LINKER_FLAGS="-Wl,--disable-new-dtags"  ..
+
+
+
    +
  • rz_*.h: No such file or directory

    +
    +

    Eg: rz_util/rz_annotated_code.h: No such file or directory

    +
    +
  • +
+

If you face an error where some header file starting with rz_ is missing, you should check the rizin submodule and +make sure it is in sync with upstream Cutter repo. Simply run:

+
git submodule update --init --recursive
+
+
+
    +
  • rz_core development package not found

  • +
+

If you installed Rizin and still encounter this error, it could be that your +PATH environment variable is set improperly (doesn’t contain +/usr/local/bin). You can fix this by adding the Rizin installation dir to +your PATH variable.

+

macOS specific solutions:

+

On macOS, that can also be, for example, due to Qt Creator.app +being copied over to /Applications. To fix this, append +:/usr/local/bin to the PATH variable within the Build +Environment section in Qt Creator. See the screenshot below should you +encounter any problems.

+

You can also try:

+
    +
  • PKG_CONFIG_PATH=$HOME/bin/prefix/rizin/lib/pkgconfig cmake ...

  • +
+_images/cutter_path_settings.png +

You can also install Rizin into /usr/lib/pkgconfig/ and then +add a variable PKG_CONFIG_PATH with the value /usr/lib/pkgconfig/.

+
+
+ + +
+
+
+
+ + +
+
+ + + + + + + \ No newline at end of file diff --git a/docs/contributing.html b/docs/contributing.html new file mode 100644 index 000000000..0f24304cf --- /dev/null +++ b/docs/contributing.html @@ -0,0 +1,134 @@ + + + + + + + + Contributing to Cutter — Cutter 2.4.0 documentation + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+ +
+

Contributing to Cutter

+

So you like Cutter and want to get involved? Great! This part of the documentation will help and guide you through everything you need to know when contributing to Cutter. Welcome, we’re delighted to see you!

+
+

Tip

+

Need help? Our community strives to be friendly, open, and accessible for new contributors. If you have any difficulties getting involved or finding answers to you questions, please come and ask your questions on our Telegram or IRC groups.

+

We know that set up to work on Cutter and finding issues that are a good fit for your skills can be a challenge. We’re always looking for ways to improve this process: making Cutter more open, accessible, and easier to participate with. If you’re having any trouble following this documentation or hit a barrier you can’t get around, please contact us.

+
+

How do you want to help?

+Code +Documentation +Plugins +Translations
+ +
+ + +
+
+
+
+ + +
+
+ + + + + + + \ No newline at end of file diff --git a/docs/contributing/code.html b/docs/contributing/code.html new file mode 100644 index 000000000..e3a1a6aee --- /dev/null +++ b/docs/contributing/code.html @@ -0,0 +1,145 @@ + + + + + + + + Developer Documentation — Cutter 2.4.0 documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/docs/contributing/code/development-guidelines.html b/docs/contributing/code/development-guidelines.html new file mode 100644 index 000000000..ae6c3e5b0 --- /dev/null +++ b/docs/contributing/code/development-guidelines.html @@ -0,0 +1,309 @@ + + + + + + + + Cutter Development Guidelines — Cutter 2.4.0 documentation + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+ +
+

Cutter Development Guidelines

+
+

Note

+

New to Cutter development? Check out our tutorial for new developers.

+
+
+

Common Usage

+
+

CutterCore Class

+

This is the main class where every link with Rizin is made. It is unique +across the whole process. To access it, simply call Core().

+

Example:

+
Core()->getOffset();
+
+
+
+
+

Seek the Current File

+

To modify Rizin seek use CutterCore::seek(const RVA offset). This +is important because it will emit a +CutterCore::seekChanged(RVA offset) signal. Never ever call +cmd("s offset");

+

Example:

+
Core()->seek(0x00C0FFEE);
+
+
+
+

Note

+

Cutter also supports a silent seek which doesn’t trigger the seekChanged event and doesn’t add new entries to the seek history.

+
+
+
+

Creating a Widget

+

Make sure to connect the CutterCore::seekChanged(RVA offset) signal +so your widget refreshes its output when Rizin seek is modified +(switching to another function, etc.).

+
+
+
+

Coding Style

+

In general, we follow a slightly customized version of the official Qt guidelines +to format the code. Before sending a pull request, you will need to use clang-format (version 8 or newer) +to format the code. The command line for formatting the code according +to the style is:

+
clang-format -style=file -i src/filename.cpp
+
+
+

If your changes were done on many files across the codebase, you can use this oneliner to tun clang-format on the entire ‘src’ directory:

+
find ./src -regex '.*\.\(cpp\|h\)' -exec clang-format -style=file -i {} \;
+
+
+

In contrast to the official guidelines of Qt, in Cutter we always use curly braces in conditional statements, even if the body of a conditional statement contains only one line.

+
// Wrong
+if (address.isEmpty())
+   return false;
+
+// Correct
+if (address.isEmpty()) {
+   return false;
+}
+
+// Wrong
+for (int i = 0; i < 10; ++i)
+   qDebug("%i", i);
+
+// Correct
+for (int i = 0; i < 10; ++i) {
+   qDebug("%i", i);
+}
+
+
+
+

Includes

+

Strive to include only required definitions inside header files. +This will avoid triggering additional unnecessary compilations.

+

If you only need to know that a class exists but don’t need the prototype, +you can declare the class like this:

+
class MyClassThatExists;
+
+/** ... **/
+
+private:
+    MyClassThatExists *classInstance;
+
+
+

And then include the class header inside your .cpp so you can use that class.

+

If you need something in the source file (.cpp) that is not a class member, +then add the include in the source file.

+

The includes must be ordered from local to global. That is, first include +any local header file (with double quotes like #include “common/Helpers.h”. +Then, after an empty newline, include Qt definitions like +#include <QShortcut>. +Finally, include the standard C++ headers you need.

+

Includes must be sorted by alphabetical order.

+
+
+

Docstrings

+

Our API reference is generated using Doxygen, so when it comes to +function documentation, please use the following format:

+
/**
+ * @brief Add a new param to the accumulator
+ */
+virtual void accumulate(RefreshDeferrerParams params) =0;
+
+
+
+
+

Loops

+

We use the C++11 foreach loop style, which means any “foreach” loop should +look like:

+
for (QJsonValue value : importsArray) {
+    doSomething(value);
+}
+
+
+
+
+

nullptr

+

Please do not use 0 nor Q_NULLPTR, only use nullptr.

+

Example:

+
QObject *object = nullptr;
+
+
+
+
+

Connecting Qt Signals

+

Use one of the following methods for connecting signals to slots:

+
// typically you will make connection in the constructor to a member of current class
+connect(this->ui->button1, &QPushButton::clicked,
+        this, &MyObject::buttonClicked); // Good
+
+// you can also connect directly other object slots
+connect(checkbox, &QCheckBox::toggled, widget, &QWidget::setEnabled); // Good
+
+// use lambda for passing extra arguments
+connect(button1, &QPushButton::clicked, this, [this](){ foo(getBar()); }); // Good
+
+
+

This syntax performs compile-time type checks and allows the use of lambda +functions. Other approaches for connecting signals can silently break at runtime.

+

Don’t use the older macro based syntax or automatic name based connections.

+
// SIGNAL and SLOT macros
+connect(sender, SIGNAL(clicked), this, SLOT(buttonClicked)); // BAD
+
+// automatic name based connection
+slot:
+   void on_actionNew_triggered(); // BAD
+
+// 3 argument connect without receiver object
+connect(sender, &SomeObject::signal, [this](){ this->foo(getBar()); }); // BAD
+
+
+
+
+
+

General Coding Advices

+
+

Functions Documentation

+

You can find the class documentation in the API Reference menu item.

+
+
+

Updating the Git Submodules

+

Git submodules play a major part in Cutter. This, because Cutter is powered +by Rizin, its parent project, and it tries to stay up-to-date with its +recent version, which allows us to implement new features, and enjoy bug +fixes and performance improvements on Rizin. Often, we need to update +the Rizin submodule or the others, to push their most recent +version to Cutter.

+

You can view the list of all the submodules from the cutter root folder with:

+
git config --file .gitmodules --get-regexp path | awk '{ print $2 }'
+
+
+

To update all the submodules at once, run these commands from the +cutter root folder:

+
git submodule foreach git pull origin master
+git add submodule_name_1 submodule_name_2
+git commit -m "Update submodules"
+
+
+

More likely, you’ll only need to update the rizin submodule. +In order to update one submodule individually, use the following code:

+
cd rizin
+git checkout dev && git pull
+cd ..
+git add rizin
+git commit -m "Update rizin submodule"
+
+
+
+
+

Useful Resources (Qt Development)

+ +
+
+
+ + +
+
+
+
+ + +
+
+ + + + + + + \ No newline at end of file diff --git a/docs/contributing/code/getting-started.html b/docs/contributing/code/getting-started.html new file mode 100644 index 000000000..e2dcd559a --- /dev/null +++ b/docs/contributing/code/getting-started.html @@ -0,0 +1,193 @@ + + + + + + + + Contributing code to Cutter — Cutter 2.4.0 documentation + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+ +
+

Contributing code to Cutter

+

Thank you so much for your interest in contributing to Cutter! Contributors like you are a treasured resource for Cutter and their contributions have made the project what it is. And so, we appreciate everyone who gives the community the gift of their time <3.

+

The following section in our documentation is not intended to be comprehensive but rather a quick guide to walk you through the basic flow of contributing to Cutter. For more thorough documentation, follow the links on this page and read our Development Guidelines.

+
+

Clone and compile Cutter

+

The first step before starting to add code to Cutter is to build it on your environment. Whether it is Linux, Windows, or macOS, we have you covered and detailed the instructions to compile Cutter on our Building. Once you are done and Cutter is built successfully, test that it works correctly and continue to the next steps.

+
+

Tip

+

If you are facing issues with building Cutter on your environment, make sure you didn’t miss anything in the documentation. Specifically, check the Troubleshooting section.

+
+
+

Tip

+

If you need help configuring your development environment, make sure to read our instructions, recommendations and tips for setting up a Cutter development environment for popular IDEs.

+
+
+
+

Find something to work on

+

Some will reach this page with a clear idea of what issue they want to fix or what feature they wish to implement. But some would simply want to help Cutter getting better while doing open-source, without having a specific thing in mind. If you already have something in mind - great! Move forward to the next section. If you don’t have anything specific, stick with us a little bit more.

+

The issues and the feature-requests of Cutter are listed and tracked on our Github Issues page. Don’t get scared by the number of issues open, we will learn how to filter them to find those which fit you best.

+
+

Tip

+

Fix your pet peeve! Anything specific that annoys you about Cutter? Fantastic! This can be a great place to start.

+
+
+

Organizing issues

+

In order to organize the hundreds of Issues opened on Cutter, we use several features of Github for project management. Get yourself familiar with the following features, it will help you filter the issues.

+
+

Labels

+

Tagging issues and pull requests with labels allows us to quickly search for them later. We use labels to describe the type of the issue, the feature it belongs to, the difficulty, and even its priority. We recommend you to start from issues labeled as good-first-issue. These issues were tagged by us as suitable for new contributors.

+
+
+

Projects

+

We use project boards to gather together tasks and issues for specific features or problems. For example, we have dedicated project boards for Debugger, Hexdump widget, Decompiler widget, and High DPI support. If you are interested to take part in developing a major feature, or you want to get a broader look at a progress of a specific part in Cutter, this can be a good place to visit.

+
+
+

Milestones

+

When starting working on a new release, we gather together the bug and feature-requests that we consider of high-priority into a Milestone. If you want to work on a feature or fix a bug that is needed and prioritized for the next release, then check out the open Milestone,.

+
+
+

Assigning Issues

+

Before choosing an issue to work on, make sure it is not assigned to anyone. If it is, you can comment and ask if this person is intended to work on the issue. Some assigned issues are abandoned by their assignee and can be picked up by other contributors.

+
+
+
+
+

Get familiar with the current situation

+

Run Cutter and get familiar with how the functionality you want to modify works currently. For example, if it is a dialog, make sure you understand its role and how our users are using it. If it is a bug, try to repeat it using the instructions from the bug report.

+
+

Tip

+

If you are inexperienced with binary analysis tasks, you can always ask other developers in the team about the feature and how it should be used. The team and the community will be happy to help and instruct you with everything you need to know.

+
+

Find the source files implementing the feature you want to work on. By doing this, practice searching code in your editor, this is an important skill. We suggest searching for files with the name of the feature. For example, if you are interested in improving the “Sections” widget, you can find the source code of this feature in SectionsWidget.cpp and SectionsWidget.h. Alternatively, you can try and look for specific unique strings that exist in the dialog, widget, or feature you want to improve. Usually, when searching the entire code base for these strings, you’ll land on a file related to this feature, whether it is a .cpp file or a .ui file. From there it will be easy to navigate your way to the right place.

+
+
+

Work on your feature or bug-fix

+

If you are experienced with such tasks, go ahead - we leave this in your hands. Otherwise, we recommend you come up with a plan for things that need to be done to solve this bug or implement this feature. Discuss your plan in the relevant issue on GitHub.

+
+

Important

+

Before starting coding, make sure to get yourself familiar with our comprehensive documentation for our coding style, conventions, and guidelines.

+
+

If you don’t know how to implement something, check if any of the existing code implements similar behavior in the same widget or similar widgets. If you do copy an existing code consider why it did things the way it did, the same factors might not apply in your case or the old code was poorly written from the first place.

+
+
+

Open a Pull request

+

When you are done, and the additions and modifications to the code are in place, commit your changes, and get your code reviewed by opening a new Pull Request. Please remember to follow the Pull Request template.

+

In the Pull Request template you will be required to add a “Test plan”. For example, if you performed GUI changes, demonstrate it by posting a screenshot. Make a list of steps to be taken by the reviewers to verify that the changes are working as expected. This is also a good point to consider any potential edge-cases or different kinds of inputs if you didn’t already do it while writing the code. Perform the steps you described when making the PR even if they seem trivial and you did them during development, it helps to catch any mistakes done during the final cleanup and making sure you didn’t forget anything.

+
+
+

Repeat

+

Thank you! You’ve made your very first contribution, and Cutter is better for it. But don’t stop now. Go back to the first steps, as there is plenty more to do. A mentor or other developers might suggest a new issue for you to work on.

+
+
+

More Information

+
+

Important

+

We’re always in the process of improving the information on this page for newcomers to the Cutter. Please help us by suggesting improvements and tell us about the information that this page lacks.

+
+
+
+ + +
+
+
+
+ + +
+
+ + + + + + + \ No newline at end of file diff --git a/docs/contributing/code/ide-setup.html b/docs/contributing/code/ide-setup.html new file mode 100644 index 000000000..77731dbb9 --- /dev/null +++ b/docs/contributing/code/ide-setup.html @@ -0,0 +1,310 @@ + + + + + + + + Development environment setup — Cutter 2.4.0 documentation + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+ +
+

Development environment setup

+

This page contains recommendations and tips on how to better setup different IDEs for Cutter development.

+
+

General advice

+

Everyone has their own preferences for their favorite IDE or code editor. +There are no strict requirements for using a specific one for Cutter development. +Any IDE with good CMake integration should work well.

+

For most development builds, unless you are working on packaging issues, it is recommended to build Cutter with the bundled version of Rizin. It is the default configuration and the easiest way to ensure that a compatible Rizin version is used and helps you deal with different versions of Rizin when working with multiple Cutter branches. In case you want to build Cutter with a different version of Rizin installed on your system, you can set CUTTER_USE_BUNDLED_RIZIN=OFF. On Linux, in case you have multiple Rizin versions without CUTTER_USE_BUNDLED_RIZIN, the PKG_CONFIG_PATH environment variable can be used to select the desired Rizin installation.

+

While Qt Creator has a builtin visual form and widget editor, not having it in other IDEs is not a major problem. It is also available as a standalone tool called Qt Designer and you can configure the file associations so that .ui files are opened using it. Depending on the .ui file and changes you want to make, it is sometimes easier to perform them by editing the .ui file as a text file. Essentially, .ui files are XML files. Most code editors should have some support for XML highlighting and possibly block folding.

+

The following instructions and recommendations assume that you have already download Cutter source and obtained required dependencies as described in Building.

+
+
+

Linux

+

On a rolling-release distribution or a somewhat recent version of traditional distributions like Ubuntu 18.04, it should be possible to get all the dependencies from the official repository. There might be some problems with PySide2 and Shiboken2 but it can be easily disabled and isn’t necessary for most work on Cutter. Don’t try to install PySide using pip.

+
+
+

Windows

+

Assuming you have a sufficiently powerful computer, a nice way of getting and configuring Qt for Cutter is to use vcpkg. +For a quick test, the exact versions of libraries used by Cutter release packages can be obtained from cutter-deps but they don’t contain debug +versions of libraries so they are not suitable for more serious Cutter development on Windows.

+
+
+

Qt Creator

+

QT Creator is an open-source IDE made by the same developers as Qt.

+
+

Pros and Cons

+
    +
  • builtin help for Qt API

  • +
  • builtin .ui file editor (Qt Designer - visual form editor)

  • +
  • builtin helper for displaying Qt types in the debugger

  • +
  • Viewing source files that are not directly part of the project (Rizin source code) is somewhat inconvenient.

  • +
  • The simplest way of installing on non-Linux operating systems require login with Qt account

  • +
+
+
+

Project setup

+

The following instructions were made based on version 4.12.4 of Qt Creator. The steps might slightly differ between the versions.

+
    +
  • Go to File ‣ Open File or Project.. and select cutter/CMakeList.txt

  • +
  • Select kit and press Configure Project

  • +
+
+
+

Formatting using clang-format

+

To configure clang-format for formatting a file you will need to use the built-in Beautifier plugin. Follow the instructions on Qt Creator’s website to enable the plugin and configure it to run clang-format when saving a file. In the clang-format options page choose “Use predefined style: File”.

+
+
+

Changing CMake configuration

+

Click on the “Projects” button on the left side of the screen and then select “Build”. All the project CMake options are listed and can be edited there in a graphical editor.

+
+
+

Editing Qt .ui files

+

Double-clicking a .ui file in a file list opens it inside a visual editor. If you want to make changes that are easier to do by editing .ui file as text - right-click the file and select Open With ‣ Plain Text Editor. Switching from visual form editor back to code editor mode will open the .ui file in read-only mode with the following warning “This file can only be edited in Design mode”. To edit use the same steps as described before.

+
+
+
+

VS Code

+

VS Code is an open-source code editor made by Microsoft.

+
+

Pros and Cons

+
    +
  • A large number of plugins

  • +
  • A good fallback mechanism for files that are not directly part of a project.

  • +
+
+ +
+

Project setup

+
    +
  • File ‣ Open Folder… and select the folder in which you cloned Cutter

  • +
  • Install the recommended plugins.

  • +
  • Once the CMake Tools plugin is installed, in the corner you will see a popup asking you “Would you like to configure project ‘cutter’? Source: CMake Tools (Extension)”. Click Yes.

  • +
  • In the kit selection popup, choose [Unspecified] unless you have more specific needs.

  • +
  • If you initially dismissed the configuration window or didn’t have the plugins installed yet - open command-palette using Ctrl-Shift-P and select Cmake: Configure

  • +
+
+
+

Changing CMake configuration

+

After the first configuration Ctrl-Shift-P/CMake: Edit CMake Cache opens a text editor with all CMake options. Cutter specific ones mostly start with “CUTTER”.

+
+
+

Formatting using clang-format

+

The C/C++ extension we recommended earlier supports source code formatting using clang-format which is included with the extension. Use Ctrl-Shift-I to format the document or Ctrl-K Ctrl-F to only format the selection. We recommend to configure auto-formatting via the settings. Follow the instructions on VS Code’s website.

+
+
+

Building, Running, Debugging

+

Build and running commands are available in the status bar at the bottom and in the Command Palette menu (Ctrl-Shift-P) named CMake: Build F7, CMake: Run Without Debugging Shift+F5, and CMake Debug Ctrl + F5. +Shortcuts can be viewed in the Ctrl-Shift-P menu. They don’t match default VS Code ones since those depend on tasks.json`.

+

Running and debugging launches the executable without any arguments. Command-line arguments can be passed to the debug +executable by creating a .vscode/launch.json configuration. Read the documentation for more information. Instead of creating launch.json manually it can be created from template: Ctrl-Shift-P/Debug: Select and Start Debugging ‣ Add configuration.. ‣ C,C++: (gdb) Launch.

+

To setup gdb pretty printers for Qt types on Linux, download the scripts from Kdevelop. In the ~/.gdbinit file add the following code:

+
python
+import sys
+
+sys.path.insert(0, '/path/to/folder/with/pretty_printer_scripts')
+from qt import register_qt_printers
+register_qt_printers (None)
+
+end
+set print pretty 1
+
+
+
+
+
+

CLion

+

CLion is a C and C++ IDE from the popular software development tool maker - JetBrains.

+
+

Pros and Cons

+
    +
  • Medium amount of plugins, many first-party plugins made by JetBrains for their IntelliJ based IDE family

  • +
  • There is no free version

  • +
  • Takes some time to analyze the files after opening a project. Switching between .cpp and corresponding .h file may for the first time may take a few seconds.

  • +
+
+
+

Project setup

+
    +
  • Go to File ‣ Open and select the folder in which you cloned Cutter

  • +
  • Open cutter/CMakeLists.txt using the project file list on the left side of the screen

  • +
  • A yellow bar with a message CMake project is not loaded should appear, click Load CMake project

  • +
+
+
+

Changing CMake configuration

+

Go to File ‣ Settings ‣ Build,Execution,Deployment ‣ CMake. CMake options are specified the same way as on command-line -DOPTION_NAME=VALUE.

+
+
+

Formatting using clang-format

+

Clion provides you with an easy way to format files with clang-format. Follow the documentation on their website to learn how to enable formatting with clang-format.

+
+
+

Building, Running, Debugging

+

Follow the Clion documentation for how to configure Qt type debugger renderers. If you are using the MSVC toolchain +it can use qt5.natvis. In rest of the cases you can use .gdbinit or ..ldbinit based approach similar to one described for VSCode setup

+
+
+

Editing Qt .ui files

+

Default CLion behavior for opening .ui files is somewhat buggy. Double-clicking the file does nothing, but it can be opened by dragging it to the text editor side. +This can be somewhat improved by changing file association. Open File ‣ Settings ‣ Editor ‣ File Types and change type association of *.ui files from Qt UI Designer Form to either “XML” or Files Opened in Associated Applications. +The first one will open it within CLion as an XML file and the second will use the operating system configuration.

+
+
+
+

Visual Studio

+

Visual Studio Community edition is available for free and can be used for contributing to open source projects.

+

It is recommended to use the latest Visual Studio version 2019 because it has the best CMake integration. +Older VS versions can be used but CMake integration isn’t as good. With those, it might be better to generate Visual Studio +project from CMake project using the command-line or cmake-gui and opening the generated Visual Studio project instead of opening the +CMake project directly.

+

Visual Studio supports many different languages and use-cases. Full installation takes a lot of space. To keep the size minimal during installation +select only component called “Desktop development with C++”. Don’t worry too much about missing something. +Additional components can be later added or removed through the VS installer which also serves as an updater and package manager for Visual Studio components.

+
+

Pros and Cons

+
    +
  • good debugger

  • +
  • medium amount of plugins

  • +
  • completely closed source

  • +
  • Windows only

  • +
+
+
+

Project setup

+
    +
  • Open folder in which you cloned Cutter source using Visual Studio

  • +
  • Open CMake settings configurator using either Project ‣ CMake Settings or by clicking Open the CMake Settings Editor in the overview page.

  • +
  • Check options that you want Cutter to be built with, or leave it as-is for the default options.

  • +
  • If you are using vcpkg, Visual Studio should detect it automatically. The list of CMake options in the configurator should have some referring to vcpkg. If they are not there, specify the path to vcpkg toolchain file in the CMake toolchain file field.

  • +
  • If you are not using vcpkg, configure the path to Qt as mentioned in windows CMake instructions. You can specify the CMake flag in CMake command arguments: field.

  • +
  • To Ensure that VS debugger can display Qt types in a readable way, it is recommended to install Qt Visual Studio Tools plugin. It will create a Documents/Visual Studio 2019/Visualizers/qt6.natvis file. Once qt6.natvis has been created you can uninstall the plugin.

  • +
+
+
+

Changing CMake configuration

+

Open Project ‣ CMake Settings. CMake options can be modified either in graphical table editor, as a command-line flag or by switching to the JSON view.

+
+
+

Formatting using clang-format

+

Visual Studio supports clang-format by default so you should not do anything special. It will simple use the existing _clang-format file from Cutter’s root directory. If you wish to configure how and when Visual Studio will use clang-format, you can do this from Tools ‣ Options ‣ Text Editor ‣ C/C++ ‣ Formatting.

+
+
+

Editing Qt .ui files and Qt integration

+

By default Visual Studio will open .ui files as XML text documents. You can configure to open it using Qt Designer by right-clicking and selecting Open With….

+

There is a Qt plugin for Visual Studio from Qt. It isn’t very useful for Cutter development since it is aimed more at helping with Qt integration into Visual Studio projects. +It doesn’t do much for CMake based projects. The biggest benefit is that it automatically installs qt6.natvis file for more readable displaying of Qt types in the debugger.

+
+
+
+ + +
+
+
+
+ + +
+
+ + + + + + + \ No newline at end of file diff --git a/docs/contributing/code/release-procedure.html b/docs/contributing/code/release-procedure.html new file mode 100644 index 000000000..5f9d685fb --- /dev/null +++ b/docs/contributing/code/release-procedure.html @@ -0,0 +1,191 @@ + + + + + + + + Release Procedure — Cutter 2.4.0 documentation + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+ +
+

Release Procedure

+
    +
  1. +
    Update translations submodule https://github.com/rizinorg/cutter-translations
      +
    1. The latest archive from Crowdin should already be in the repository, if not make sure to merge any automated Pull Request from Crowdin (e.g. https://github.com/rizinorg/cutter-translations/pull/9)

    2. +
    3. Update submodule in cutter

    4. +
    +
    +
    +
  2. +
  3. Merge the current state of dev into stable. This can happen even earlier in order to feature-freeze the release while keeping development on dev alive. The rizin submodule on stable should point to a commit of stable in rizin and dev to a commit in dev.

  4. +
  5. Lock rzghidra and rzdec versions downloaded by packaging scripts. Specify a tag or commit hash.

  6. +
  7. +
    Update version
      +
    1. appveyor.yml

    2. +
    3. docs/sourc/conf.py

    4. +
    5. docs/source/index.rst

    6. +
    7. CMakeLists.txt

    8. +
    9. Cutter.appdata.xml

    10. +
    11. To be safe, search the code base for the previous version number.

    12. +
    +
    +
    +
  8. +
  9. +
    Create a tag for the release candidate. For example, for the v1.11.0 release you’d do something like this:
      +
    1. git tag v1.11.0-rc1

    2. +
    3. git tag push origin v1.11.0-rc1

    4. +
    +
    +
    +
  10. +
  11. Create a GitHub release, mark it as pre-release save draft, set the tag to v1.11.0-rc1

  12. +
  13. Wait for packages to build

  14. +
  15. On all operating systems do the Basic testing procedure to ensure nothing badly broken.

  16. +
  17. If any major problems are found, open an issue and fix them in dev and cherry pick into release branch. If the amount of changes is sufficiently large repeat from step 3. increasing rc number by one.

  18. +
  19. Update version to 1.11.0

  20. +
  21. Create tag

  22. +
  23. Create release +* Fill the release notes in the Release description. Preparing release notes can begin earlier. Compare current dev branch against previous release to find all the changes. Choose the most important ones. Don’t duplicate the commit log. Release notes should be a summary for people who don’t want to read whole commit log. Group related changes together under titles such as “New features”, “Bug Fixes”, “Decompiler”, “Rizin” and similar.

  24. +
  25. Prepare announcement tweets and messages to send in the Telegram group, reddit, and others.

  26. +
  27. Close milestone if there was one

  28. +
+
+

Bugfix Release

+

The process for bugfix release is similar no normal release procedure described above with some differences.

+
    +
  • Cherry pick required bugfixes from dev into the stable.

  • +
  • Increase the third version number x.y.n into x.y.(n+1) .

  • +
+
+
+

Basic testing procedure

+

This isn’t intended as exhaustive testing process, just some simple steps to make sure nothing is badly broken. +If it makes sense repeat the step multiple times at different offsets and click around increase the chance of noticing common problems that doesn’t happen 100% of time.

+
    +
  • Open a simple executable like /bin/ls or calc.exe

  • +
  • Make sure that the upgraded layout isn’t completely broken

  • +
  • The Disassembly widget shows proper disassembly.

  • +
  • +
    Bundled plugins work
      +
    • Open decompiler and select ghidra, it shows some C code at least for some functions

    • +
    • Open rzdec in decompiler widget, make sure it shows code

    • +
    +
    +
    +
  • +
  • Test that sample python plugin works

  • +
  • +
    Try debugger
      +
    • Insert breakpoint in main

    • +
    • Start debugging

    • +
    • Go to main using function widget, make sure relocation was done correctly and you see code instead of unmapped memory and breakpoint is where you placed

    • +
    • Click continue until you hit breakpoint in main

    • +
    +
    +
    +
  • +
  • Delete cutter settings file, and test that clean start works and layout isn’t broken

  • +
+
+
+ + +
+
+
+
+ + +
+
+ + + + + + + \ No newline at end of file diff --git a/docs/contributing/docs.html b/docs/contributing/docs.html new file mode 100644 index 000000000..f8b480b84 --- /dev/null +++ b/docs/contributing/docs.html @@ -0,0 +1,122 @@ + + + + + + + + Contributing Documentation — Cutter 2.4.0 documentation + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+ +
+

Contributing Documentation

+ +
+ + +
+
+
+
+ + +
+
+ + + + + + + \ No newline at end of file diff --git a/docs/contributing/docs/building-docs.html b/docs/contributing/docs/building-docs.html new file mode 100644 index 000000000..fc2b12f20 --- /dev/null +++ b/docs/contributing/docs/building-docs.html @@ -0,0 +1,142 @@ + + + + + + + + Building docs — Cutter 2.4.0 documentation + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+ +
+

Building docs

+

This page explains the steps that are needed to build Cutter’s documentation.

+
+

Requirements

+

You will need:

+
    +
  • doxygen

  • +
  • python3

  • +
  • pip3

    +
      +
    • sphinx

    • +
    • breathe

    • +
    • recommonmark

    • +
    +
  • +
+

On Debian-based Linux distributions, the packages above can be installed with the following command.

+
sudo apt install make doxygen python3-pip doxygen
+sudo pip3 install sphinx breathe recommonmark
+
+
+

Then, you can build the documentation with the following commands:

+
cd cutter/docs/
+make html
+
+
+
+

Tip

+

If you do not need API documentation, type make quick instead of make html.

+
+

You can find the generated html files at cutter/docs/build. Open cutter/docs/build/html/index.html with your browser to visit the index file of your local copy of the documentation.

+
+
+ + +
+
+
+
+ + +
+
+ + + + + + + \ No newline at end of file diff --git a/docs/contributing/docs/getting-started.html b/docs/contributing/docs/getting-started.html new file mode 100644 index 000000000..8c2ba5f73 --- /dev/null +++ b/docs/contributing/docs/getting-started.html @@ -0,0 +1,148 @@ + + + + + + + + Contributing documentation to Cutter — Cutter 2.4.0 documentation + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+ +
+

Contributing documentation to Cutter

+

If you reached this place you were probably looking to help and improve Cutter’s documentation - Fantastic, welcome aboard!

+

As many other young projects, Cutter has a problem - it lacks comprehensive documentation and written content. Thankfully, contributing to Cutter’s documentation doesn’t require you to have a deep knowledge about the internals of the project. Writing, reviewing, and editing the documentation are great ways to learn about Cutter.

+

Don’t like the way something reads? Discover some information that wasn’t documented? Your pull request will be gleefully embraced.

+
+

Note

+

The documentation of Cutter is written using Sphinx and reStructuredText. The syntax is quite straight forward and very similar to Markdown. In the future, we hope to move completely to Markdown as it is more popular.

+
+
+

How can you help?

+

The following sections suggest ways you can contribute to Cutter’s documentation. The list isn’t complete as the possibilities are limitless.

+

The source for this documentation is available in the docs directory on Cutter’s repository. This source can be generated according to the steps described in the building docs page. When the docs are updated, they are generated and pushed directly to the website at <https://cutter.re/docs>. The source for the website and blog are available on the cutter.re’s repository and are served from the gh-pages branch.

+
+

Tip

+

Document what you wished to see. If you are a user of Cutter, try to think what things you would want to see documented when you started using the project. Sometimes, the best contributions are coming from your own needs.

+
+
+

User documentation

+

The documentation for users describes how to use Cutter and what the different features in Cutter do. The possibilities for contributing are endless since there are so many features that weren’t even described on our docs yet. To contribute to our user documentation, all you need to do is pick a subject, widget, or functionality and document it. Describe the different visual components, how to use them, and what this feature even does.

+
+
+

Common Errors and Troubleshooting

+

As our community gets bigger, more and more people are using, installing or building Cutter on different setups. Naturally, different environments might cause different issues. The common issues section in our docs aims to go over the most popular issues that you might face while using Cutter and the building errors troubleshooting section goes over common errors that you might face while building Cutter from sources. These docs sections also explain what causes these issues and how to solve them.

+

If you know of such a common issue, whether you faced it yourself or noticed it on our community chats, it will be very helpful if you could document it and possible solutions for it.

+
+
+

Developers documentation

+

The documentation for Cutter developers aims to instruct new contributors on how to get started with developing to Cutter’s codebase. It also describes best practices and development guidelines for all developers in the project. Think you have something to add to the developers’ docs? We would love you to contribute.

+
+
+

API documentation

+

The documentation for Cutter’s API is an important reference for Cutter developers as well as Plugin developers. It thoroughly describes for developers how some functions and features work. While some of the functions are thoroughly documented, most of them aren’t. Any help with improving these documentations will be blessed.

+
+
+

Blog posts

+

We would love to see people writing and sharing their experiences with Cutter. Whether you are solving CTF challenges with Cutter, analyzing malware, finding vulnerabilities, or working on personal projects - we would love to see these published. If you have a personal blog, we would be proud to share and retweet your Cutter-related publications on our profiles, bringing you more engagement and followers. If you don’t have a personal blog, we would love to host your publication on our community blog over at https://cutter.re/blog.

+
+
+
+ + +
+
+
+
+ + +
+
+ + + + + + + \ No newline at end of file diff --git a/docs/contributing/plugins/getting-started.html b/docs/contributing/plugins/getting-started.html new file mode 100644 index 000000000..4c21c95ed --- /dev/null +++ b/docs/contributing/plugins/getting-started.html @@ -0,0 +1,341 @@ + + + + + + + + Getting Started with Python Plugins — Cutter 2.4.0 documentation + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+ +
+

Getting Started with Python Plugins

+

This article provides a step-by-step guide on how to write a simple Python plugin for Cutter.

+

Create a python file, called myplugin.py for example, and add the following contents:

+
import cutter
+
+class MyCutterPlugin(cutter.CutterPlugin):
+    name = "My Plugin"
+    description = "This plugin does awesome things!"
+    version = "1.0"
+    author = "1337 h4x0r"
+
+    def setupPlugin(self):
+        pass
+
+    def setupInterface(self, main):
+        pass
+
+    def terminate(self):
+        pass
+
+def create_cutter_plugin():
+    return MyCutterPlugin()
+
+
+

This is the most basic code that makes up a plugin. +Python plugins in Cutter are regular Python modules that are imported automatically on startup. +In order to load the plugin, Cutter will call the function create_cutter_plugin() located +in the root of the module and expects it to return an instance of cutter.CutterPlugin. +Normally, you shouldn’t have to do anything else in this function.

+
+

Note

+

The Cutter API is exposed through the cutter module. +This consists mostly of direct bindings of the original C++ classes, generated with Shiboken2. +For more detail about this API, see the Cutter C++ code or API Reference.

+
+

The CutterPlugin subclass contains some meta-info and two callback methods:

+
    +
  • setupPlugin() is called right after the plugin is loaded and can be used to initialize the plugin itself.

  • +
  • setupInterface() is called with the instance of MainWindow as an argument and should create and register any UI components.

  • +
  • terminate() is called on shutdown and should clean up any resources used by the plugin.

  • +
+

Copy this file into the python subdirectory located under the plugins directory of Cutter and start the application. +You should see an entry for your plugin in the list under Edit -> Preferences -> Plugins. +Here, the absolute path to the plugins directory is shown too if you are unsure where to put your plugin:

+../../_images/preferences-plugins.png +
+

Note

+

As mentioned, plugins are Python modules. This means, instead of only a single .py file, you can also +use a directory containing multiple python files and an __init__.py file that defines or imports the +create_cutter_plugin() function.

+
+
+

Note

+

If you are working on a Unix-like system, instead of copying, you can also symlink your plugin into the plugins +directory, which lets you store the plugin somewhere else without having to copy the files over and over again.

+
+
+

Creating a Widget

+

Next, we are going to add a simple dock widget. Extend the code as follows:

+
import cutter
+
+from PySide2.QtWidgets import QAction, QLabel
+
+class MyDockWidget(cutter.CutterDockWidget):
+    def __init__(self, parent, action):
+        super(MyDockWidget, self).__init__(parent, action)
+        self.setObjectName("MyDockWidget")
+        self.setWindowTitle("My cool DockWidget")
+
+        label = QLabel(self)
+        self.setWidget(label)
+        label.setText("Hello World")
+
+class MyCutterPlugin(cutter.CutterPlugin):
+    # ...
+
+    def setupInterface(self, main):
+        action = QAction("My Plugin", main)
+        action.setCheckable(True)
+        widget = MyDockWidget(main, action)
+        main.addPluginDockWidget(widget, action)
+
+# ...
+
+
+

We are subclassing cutter.CutterDockWidget, which is the base class for all dock widgets in Cutter, +and adding a label to it.

+
+

Note

+

You can access the whole Qt5 API from Python, which is exposed by PySide2. For more information about this, refer to the +Documentation of Qt and PySide2.

+
+

In our setupInterface() method, we create an instance of our dock widget and an action to be +added to the menu for showing and hiding the widget. +MainWindow provides a helper method called addPluginDockWidget() to easily register these.

+

When running Cutter now, you should see the widget:

+../../_images/mydockwidget.png +

… as well as the action:

+../../_images/mydockwidget-action.png +
+
+

Fetching Data

+

Next, we want to show some actual data from the binary in our widget. +As an example, we will display the instruction and instruction size at the current position. +Extend the code as follows:

+
# ...
+
+class MyDockWidget(cutter.CutterDockWidget):
+    def __init__(self, parent, action):
+        # ...
+
+        label = QLabel(self)
+        self.setWidget(label)
+
+        disasm = cutter.cmd("pd 1").strip()
+
+        instruction = cutter.cmdj("pdj 1")
+        size = instruction[0]["size"]
+
+        label.setText("Current disassembly:\n{}\nwith size {}".format(disasm, size))
+
+# ...
+
+
+

We can access the data by calling Rizin commands and utilizing their output. +This is done by using the two functions cmd() and cmdj(), which behave just as they +do in rz-pipe.

+

Many commands in Rizin can be suffixed with a j to return JSON output. +cmdj() will automatically deserialize the JSON into python dicts and lists, so the +information can be easily accessed.

+
+

Warning

+

When fetching data that is not meant to be used only as readable text, always use the JSON variant of a command! +Regular command output is not meant to be parsed and is subject to change at any time, which will break your code.

+
+

In our case, we use the two commands pd (Print Disassembly) and pdj (Print Disassembly as JSON) +with a parameter of 1 to fetch a single line of disassembly.

+
+

Note

+

To try out commands, you can use the Console widget in Cutter. Almost all commands support a ? suffix, like in +pd?, to show help and available sub-commands. +To get a general overview, enter a single ?.

+
+

The result will look like the following:

+../../_images/disasm-static.png +

Of course, since we only fetch the info once during the creation of the widget, the content never updates. +We are going to change that in the next section.

+
+
+

Reacting to Events

+

We want to update the content of our widget on every seek. +This can be done like the following:

+
# ...
+
+from PySide2.QtCore import QObject, SIGNAL
+
+# ...
+
+class MyDockWidget(cutter.CutterDockWidget):
+    def __init__(self, parent, action):
+        # ...
+
+        self._label = QLabel(self)
+        self.setWidget(self._label)
+
+        QObject.connect(cutter.core(), SIGNAL("seekChanged(RVA)"), self.update_contents)
+        self.update_contents()
+
+    def update_contents(self):
+        disasm = cutter.cmd("pd 1").strip()
+
+        instruction = cutter.cmdj("pdj 1")
+        size = instruction[0]["size"]
+
+        self._label.setText("Current disassembly:\n{}\nwith size {}".format(disasm, size))
+
+
+

First, we move the update code to a separate method. +Then we call cutter.core(), which returns the global instance of CutterCore. +This class provides the Qt signal seekChanged(RVA), which is emitted every time the current seek changes. +We can simply connect this signal to our method and our widget will update as we expect it to:

+../../_images/disasm-dynamic.png +

For more information about Qt signals and slots, refer to https://doc.qt.io/qt-5/signalsandslots.html.

+
+
+

Full Code

+
import cutter
+
+from PySide2.QtCore import QObject, SIGNAL
+from PySide2.QtWidgets import QAction, QLabel
+
+class MyDockWidget(cutter.CutterDockWidget):
+    def __init__(self, parent, action):
+        super(MyDockWidget, self).__init__(parent, action)
+        self.setObjectName("MyDockWidget")
+        self.setWindowTitle("My cool DockWidget")
+
+        self._label = QLabel(self)
+        self.setWidget(self._label)
+
+        QObject.connect(cutter.core(), SIGNAL("seekChanged(RVA)"), self.update_contents)
+        self.update_contents()
+
+    def update_contents(self):
+        disasm = cutter.cmd("pd 1").strip()
+
+        instruction = cutter.cmdj("pdj 1")
+        size = instruction[0]["size"]
+
+        self._label.setText("Current disassembly:\n{}\nwith size {}".format(disasm, size))
+
+
+class MyCutterPlugin(cutter.CutterPlugin):
+    name = "My Plugin"
+    description = "This plugin does awesome things!"
+    version = "1.0"
+    author = "1337 h4x0r"
+
+    def setupPlugin(self):
+        pass
+
+    def setupInterface(self, main):
+        action = QAction("My Plugin", main)
+        action.setCheckable(True)
+        widget = MyDockWidget(main, action)
+        main.addPluginDockWidget(widget, action)
+
+    def terminate(self):
+        pass
+
+def create_cutter_plugin():
+    return MyCutterPlugin()
+
+
+
+
+ + +
+
+
+
+ + +
+
+ + + + + + + \ No newline at end of file diff --git a/docs/contributing/translations/getting-started.html b/docs/contributing/translations/getting-started.html new file mode 100644 index 000000000..f2b83f691 --- /dev/null +++ b/docs/contributing/translations/getting-started.html @@ -0,0 +1,112 @@ + + + + + + + + Translate Cutter — Cutter 2.4.0 documentation + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+ +
+

Translate Cutter

+

Help Cutter by adding translations to the project!

+

Cutter is a global project with users from all around the world. We believe that Cutter should be as accessible as possible, and want our users to feel comfortable while using its interface. Providing our community an interface with their own language makes the experience of using Cutter better. Thus, Cutter supports a translation and localization mechanism powered by the Crowdin platform. We invite you to contribute and add translations to the project.

+
+

Important

+

We currently support more than 15 languages. If you need to add a language that isn’t available yet, ask any developer from the team and they will happily assist you.

+
+
+ + +
+
+
+
+ + +
+
+ + + + + + + \ No newline at end of file diff --git a/docs/genindex.html b/docs/genindex.html new file mode 100644 index 000000000..952db3aeb --- /dev/null +++ b/docs/genindex.html @@ -0,0 +1,6069 @@ + + + + + + + Index — Cutter 2.4.0 documentation + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+ + +

Index

+ +
+ Symbols + | A + | B + | C + | D + | E + | F + | G + | H + | I + | L + | M + | N + | O + | P + | Q + | R + | S + | T + | U + | V + | W + | X + +
+

Symbols

+ + + +
+ +

A

+ + + +
+ +

B

+ + + +
+ +

C

+ + + +
+ +

D

+ + + +
+ +

E

+ + + +
+ +

F

+ + + +
+ +

G

+ + + +
+ +

H

+ + + +
+ +

I

+ + + +
+ +

L

+ + + +
+ +

M

+ + + +
+ +

N

+ + + +
+ +

O

+ + + +
+ +

P

+ + + +
+ +

Q

+ + + +
+ +

R

+ + + +
+ +

S

+ + + +
+ +

T

+ + + +
+ +

U

+ + + +
+ +

V

+ + + +
+ +

W

+ + + +
+ +

X

+ + + +
+ + + +
+
+
+
+ + +
+
+ + + + + + + \ No newline at end of file diff --git a/docs/index.html b/docs/index.html new file mode 100644 index 000000000..7d95e4a8d --- /dev/null +++ b/docs/index.html @@ -0,0 +1,616 @@ + + + + + + + + Cutter — Cutter 2.4.0 documentation + + + + + + + + + + + + + + + + + +
+ + + +
+
+
+
+ +
+

Cutter

+

Cutter is a Qt and C++ GUI for Rizin. Its goal is to provide an advanced, +customizable and FOSS reverse-engineering platform while keeping the +user experience in mind. Cutter was created by reverse engineers for +reverse engineers.

+_images/screenshot.png +
+

Getting Cutter

+

Cutter is available for all major platforms. You can +download the latest release from +here.

+
    +
  • macOS: Download the .dmg file and install it.

  • +
  • Windows: Download the .zip archive and extract it.

  • +
  • Linux: Download the .AppImage file and make it executable by doing:

  • +
+
chmod +x Cutter*.AppImage
+
+
+
+
+

Building from Sources

+

To build Cutter on your machine, please follow this guide: Building from Source.

+
+
+

Need help?

+

You can contact the Cutter developers and community on:

+ +
+
+

Want to help the project?

+

If you want to contribute to Cutter, take a look at our Contribution Guidelines to learn how you can help improve the project!

+
+

Contents:

+ +
+
+
+ + +
+
+
+
+ + +
+
+ + + +
+ + + \ No newline at end of file diff --git a/docs/objects.inv b/docs/objects.inv new file mode 100644 index 000000000..4ea1a65bd Binary files /dev/null and b/docs/objects.inv differ diff --git a/docs/plugins.html b/docs/plugins.html new file mode 100644 index 000000000..3051f98ab --- /dev/null +++ b/docs/plugins.html @@ -0,0 +1,139 @@ + + + + + + + + Plugins — Cutter 2.4.0 documentation + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+ +
+

Plugins

+

Cutter supports writing plugins in both C++ and Python. +If you are unsure of which language to choose, starting with Python is strongly suggested as +it provides a faster and simpler workflow.

+

If you plan to implement support for a new file format or architecture, Cutter plugins are not the correct approach. +Instead, you will want to implement a Rizin plugin, which is documented here.

+
+

Loading and Overview

+

Plugins are loaded from an OS-dependent user-level directory. +To get the location of this directory and a list of currently loaded plugins, navigate to Edit -> Preferences -> Plugins.

+_images/preferences-plugins.png +

The plugins directory contains two subdirectories, native and python for C++ and Python plugins respectively, +which will be created automatically by Cutter.

+
+

Note

+

The support for Python plugins is only available if Cutter was built with the options CUTTER_ENABLE_PYTHON +and CUTTER_ENABLE_PYTHON_BINDINGS enabled. +This is the case for all official builds from GitHub Releases starting with version 1.8.0.

+
+
+
+

Creating Plugins

+ +
+
+ + +
+
+
+
+ + +
+
+ + + + + + + \ No newline at end of file diff --git a/docs/search.html b/docs/search.html new file mode 100644 index 000000000..58463eaec --- /dev/null +++ b/docs/search.html @@ -0,0 +1,110 @@ + + + + + + + Search — Cutter 2.4.0 documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+ +

Search

+ + + + +

+ Searching for multiple words only shows matches that contain + all words. +

+ + +
+ + + +
+ + +
+ + +
+
+
+
+ + +
+
+ + + + + + + \ No newline at end of file diff --git a/docs/searchindex.js b/docs/searchindex.js new file mode 100644 index 000000000..54c39158a --- /dev/null +++ b/docs/searchindex.js @@ -0,0 +1 @@ +Search.setIndex({"alltitles": {"API Reference": [[0, null]], "API documentation": [[351, "api-documentation"]], "About": [[380, "about"]], "AboutDialog": [[125, null]], "AbstractAddrDock": [[182, null]], "AbstractData": [[183, null]], "Add Comment": [[364, "add-comment"]], "Add Flag": [[364, "add-flag"]], "Add a new instance of the Decompiler Widget": [[383, "add-a-new-instance-of-the-decompiler-widget"]], "Add a new instance of the Disassembly Widget": [[383, "add-a-new-instance-of-the-disassembly-widget"]], "Add a new instance of the Graph Widget": [[383, "add-a-new-instance-of-the-graph-widget"]], "Add a new instance of the Hexdump Widget": [[383, "add-a-new-instance-of-the-hexdump-widget"]], "Add and Edit Comment": [[363, "add-and-edit-comment"]], "Add or Remove Breakpoint": [[363, "add-or-remove-breakpoint"]], "Add or Remove a Breakpoint": [[366, "add-or-remove-a-breakpoint"]], "AddrDockScene": [[184, null]], "AddrRefs": [[78, null]], "AddressableDockWidget": [[185, null]], "AddressableFilterProxyModel": [[1, null]], "AddressableItemContextMenu": [[167, null]], "AddressableItemList": [[186, null]], "AddressableItemModel": [[2, null]], "AddressableItemModelI": [[3, null]], "Advanced Breakpoint Dialog": [[363, "advanced-breakpoint-dialog"], [366, "advanced-breakpoint-dialog"]], "Analysis Dialog": [[389, "analysis-dialog"]], "Analysis Options": [[389, null]], "AnalysisBaseClassDescription": [[79, null]], "AnalysisClassesModel": [[187, null]], "AnalysisClassesModel::Attribute": [[316, null]], "AnalysisMethodDescription": [[80, null]], "AnalysisTask": [[4, null]], "AnalysisVTableDescription": [[81, null]], "Analyze jump tables in switch statements": [[389, "analyze-jump-tables-in-switch-statements"]], "Analyze push + ret as jmp": [[389, "analyze-push-ret-as-jmp"]], "AppImage Crashes": [[358, "appimage-crashes"]], "Arena": [[82, null]], "ArenaInfoDialog": [[126, null]], "Assigning Issues": [[346, "assigning-issues"]], "AsyncTask": [[5, null]], "AsyncTaskDialog": [[127, null]], "AsyncTaskManager": [[6, null]], "Attach to Process": [[376, "attach-to-process"]], "AttachProcDialog": [[128, null]], "BacktraceWidget": [[188, null]], "Base64EnDecodedWriteDialog": [[129, null]], "Basefind": [[64, null]], "BasefindCoreStatusDescription": [[83, null]], "BasefindResultDescription": [[84, null]], "Basic testing procedure": [[348, "basic-testing-procedure"]], "BasicBlockHighlighter": [[7, null]], "BasicBlockHighlighter::BasicBlock": [[47, null]], "BasicCursor": [[317, null]], "BasicInstruction": [[48, null]], "BasicInstructionHighlighter": [[8, null]], "BinClassBaseClassDescription": [[85, null]], "BinClassDescription": [[86, null]], "BinClassFieldDescription": [[87, null]], "BinClassMethodDescription": [[88, null]], "BinClassesModel": [[189, null]], "BinsModel": [[130, null]], "BlockDescription": [[89, null]], "BlockStatistics": [[90, null]], "Blog posts": [[351, "blog-posts"]], "BoolTogggleDelegate": [[190, null]], "BreakpointDescription": [[91, null]], "BreakpointModel": [[191, null]], "BreakpointProxyModel": [[192, null]], "BreakpointWidget": [[193, null]], "Breakpoints Widget Context Menu": [[361, null]], "BreakpointsDialog": [[131, null]], "BufferData": [[194, null]], "Bugfix Release": [[348, "bugfix-release"]], "Building": [[342, null]], "Building Steps": [[342, "building-steps"], [342, "id2"]], "Building docs": [[350, null]], "Building from Sources": [[354, "building-from-sources"]], "Building on Linux": [[342, "building-on-linux"]], "Building on Windows": [[342, "building-on-windows"]], "Building on macOS": [[342, "building-on-macos"]], "Building, Running, Debugging": [[347, "building-running-debugging"], [347, "id13"]], "Bytes Per Row": [[373, "bytes-per-row"]], "CLion": [[347, "clion"]], "CMake Building Options": [[342, "cmake-building-options"]], "CachedFontMetrics": [[9, null]], "CallGraphView": [[195, null]], "CallGraphWidget": [[196, null]], "Changing CMake configuration": [[347, "changing-cmake-configuration"], [347, "id4"], [347, "id10"], [347, "id17"]], "Choose Graph Layout": [[371, "choose-graph-layout"]], "Chunk": [[92, null]], "ClassesModel": [[197, null]], "ClassesSortFilterProxyModel": [[198, null]], "ClassesWidget": [[199, null]], "Clone and compile Cutter": [[346, "clone-and-compile-cutter"]], "Coding Style": [[345, "coding-style"]], "ColorOption": [[318, null]], "ColorOptionDelegate": [[200, null]], "ColorPicker": [[201, null]], "ColorPickerHelpers::AlphaChannelBar": [[202, null]], "ColorPickerHelpers::ColorPickArea": [[203, null]], "ColorPickerHelpers::ColorPickWidgetAbstract": [[204, null]], "ColorPickerHelpers::ColorPickerWidget": [[205, null]], "ColorPickerHelpers::ColorShowWidget": [[206, null]], "ColorPickerHelpers::ColorValueBar": [[207, null]], "ColorSettingsModel": [[208, null]], "ColorThemeComboBox": [[209, null]], "ColorThemeListView": [[210, null]], "ColorThemeWorker": [[10, null]], "Colors": [[11, null]], "ComboQuickFilterView": [[211, null]], "Command-line Options": [[357, null]], "CommandDescription": [[49, null]], "CommandTask": [[12, null]], "CommentDescription": [[93, null]], "CommentGroup": [[319, null]], "CommentsDialog": [[132, null]], "CommentsModel": [[212, null]], "CommentsProxyModel": [[213, null]], "CommentsWidget": [[214, null]], "Commit Changes from Cache": [[379, "commit-changes-from-cache"]], "Common": [[63, null]], "Common Errors and Troubleshooting": [[351, "common-errors-and-troubleshooting"]], "Common Issues": [[358, null]], "Common Usage": [[345, "common-usage"]], "Configuration": [[13, null], [388, null]], "Connect to a Remote Debugger": [[376, "connect-to-a-remote-debugger"]], "Connecting Qt Signals": [[345, "connecting-qt-signals"]], "ConsoleWidget": [[215, null]], "Contents:": [[354, null]], "Continue": [[376, "continue"]], "Continue Until Call": [[376, "continue-until-call"]], "Continue Until Line": [[363, "continue-until-line"], [365, "continue-until-line"]], "Continue Until Syscall": [[376, "continue-until-syscall"]], "Continue until Call": [[362, "continue-until-call"]], "Continue until Main": [[362, "continue-until-main"]], "Continue until Syscall": [[362, "continue-until-syscall"]], "Contributing Documentation": [[349, null]], "Contributing code to Cutter": [[346, null]], "Contributing documentation to Cutter": [[351, null]], "Contributing to Cutter": [[343, null]], "Copy": [[363, "copy"], [364, "copy"]], "Copy Address": [[364, "copy-address"]], "Copy Address of Reference": [[363, "copy-address-of-reference"]], "Copy Instruction Address": [[363, "copy-instruction-address"]], "Copy Register Reference": [[384, "copy-register-reference"]], "Copy Register Value": [[384, "copy-register-value"]], "Core": [[124, null]], "Create references for unconditional jumps": [[389, "create-references-for-unconditional-jumps"]], "Creating Plugins": [[355, "creating-plugins"]], "Creating a Widget": [[345, "creating-a-widget"], [352, "creating-a-widget"]], "Cutter": [[354, null]], "Cutter Development Guidelines": [[345, null]], "Cutter::CutterLayout": [[51, null]], "CutterApplication": [[178, null]], "CutterCommandLineOptions": [[180, null]], "CutterCore": [[65, null]], "CutterCore Class": [[345, "cuttercore-class"]], "CutterCore::SeekReturn": [[66, null]], "CutterDockWidget": [[216, null]], "CutterGraphView": [[217, null]], "CutterInterfaceTheme": [[50, null]], "CutterJson": [[67, null]], "CutterJson::iterator": [[69, null]], "CutterJsonOwner": [[68, null]], "CutterPVector": [[70, null]], "CutterPVector::iterator": [[71, null]], "CutterPlugin": [[174, null]], "CutterProxyStyle": [[179, null]], "CutterRzIter": [[72, null]], "CutterRzList": [[73, null]], "CutterRzList::iterator": [[74, null]], "CutterSeekable": [[14, null]], "CutterTreeView": [[218, null]], "CutterTreeWidget": [[219, null]], "Dashboard": [[220, null]], "DbgBackend": [[163, null]], "Debug -> View Menu": [[377, null]], "Debug Buttons Toolbar": [[362, null]], "Debug Context Menu": [[363, "debug-context-menu"], [365, null]], "Debug Menu": [[376, null]], "Debug Shortcuts": [[392, "debug-shortcuts"]], "DebugActions": [[221, null]], "Decompiler": [[15, null], [359, "decompiler"]], "Decompiler Context Menu": [[363, null]], "DecompilerContextMenu": [[168, null]], "DecompilerHighlighter": [[16, null]], "DecompilerWidget": [[222, null]], "Define a function": [[364, "define-a-function"]], "Delete Breakpoint": [[361, "delete-breakpoint"]], "Delete a Comment": [[363, "delete-a-comment"], [364, "delete-a-comment"]], "Delete a Flag": [[364, "delete-a-flag"]], "Delete the name of a global variable": [[363, "delete-the-name-of-a-global-variable"]], "Developer Documentation": [[344, null]], "Developers documentation": [[351, "developers-documentation"]], "Development environment setup": [[347, null]], "Dialogs": [[166, null]], "DirectionalComboBox": [[17, null]], "DisassemblerGraphView": [[223, null]], "DisassemblerGraphView::DisassemblyBlock": [[320, null]], "DisassemblerGraphView::Instr": [[321, null]], "DisassemblerGraphView::Text": [[322, null]], "DisassemblerGraphView::Token": [[323, null]], "Disassembly Context Menu": [[364, null]], "Disassembly View Shortcuts": [[392, "disassembly-view-shortcuts"]], "DisassemblyContextMenu": [[169, null]], "DisassemblyContextMenu::DoRenameInfo": [[171, null]], "DisassemblyContextMenu::ThingUsedHere": [[172, null]], "DisassemblyLeftPanel": [[224, null]], "DisassemblyLeftPanel::Arrow": [[324, null]], "DisassemblyLine": [[94, null]], "DisassemblyScrollArea": [[225, null]], "DisassemblyTextBlockUserData": [[18, null]], "DisassemblyTextEdit": [[226, null]], "DisassemblyWidget": [[227, null]], "Docstrings": [[345, "docstrings"]], "Documentation": [[380, "documentation"]], "Duplicate Bytes From Offset": [[372, "duplicate-bytes-from-offset"]], "DuplicateFromOffsetDialog": [[133, null]], "Edit Bytes": [[367, "edit-bytes"]], "Edit Function": [[364, "edit-function"]], "Edit Instruction": [[367, "edit-instruction"]], "Edit Local Variables and Arguments": [[363, "edit-local-variables-and-arguments"]], "Edit Menu": [[378, null]], "Edit Stack Value": [[386, "edit-stack-value"]], "Edit a Breakpoint": [[361, "edit-a-breakpoint"]], "EditFunctionDialog": [[134, null]], "EditInstructionDialog": [[135, null]], "EditMethodDialog": [[136, null]], "EditStringDialog": [[137, null]], "EditVariablesDialog": [[138, null]], "Editing Qt .ui files": [[347, "editing-qt-ui-files"], [347, "id14"]], "Editing Qt .ui files and Qt integration": [[347, "editing-qt-ui-files-and-qt-integration"]], "Enable Cache Mode": [[379, "enable-cache-mode"]], "Enable Read-Only Mode": [[379, "enable-read-only-mode"]], "Enable Write Mode": [[379, "enable-write-mode"]], "EntrypointDescription": [[95, null]], "EntrypointWidget": [[228, null]], "Export Graph": [[371, "export-graph"]], "Export to Code": [[379, "export-to-code"]], "ExportDescription": [[96, null]], "ExportsModel": [[229, null]], "ExportsProxyModel": [[230, null]], "ExportsWidget": [[231, null]], "FallbackSyntaxHighlighter": [[19, null]], "FallbackSyntaxHighlighter::HighlightingRule": [[52, null]], "Features": [[359, null]], "Fetching Data": [[352, "fetching-data"]], "File Menu": [[379, null]], "Find something to work on": [[346, "find-something-to-work-on"]], "FlagDescription": [[97, null]], "FlagDialog": [[139, null]], "FlagsModel": [[232, null]], "FlagsSortFilterProxyModel": [[233, null]], "FlagsWidget": [[234, null]], "FlagspaceDescription": [[98, null]], "FlirtContextMenu": [[170, null]], "FlirtDescription": [[99, null]], "FlirtModel": [[235, null]], "FlirtProxyModel": [[236, null]], "FlirtWidget": [[237, null]], "Formatting using clang-format": [[347, "formatting-using-clang-format"], [347, "vscode-debug-setup"], [347, "id11"], [347, "id18"]], "FreeBinder": [[75, null]], "Full Code": [[352, "full-code"]], "FunctionDescription": [[100, null]], "FunctionModel": [[238, null]], "FunctionSortFilterProxyModel": [[239, null]], "Functions Documentation": [[345, "functions-documentation"]], "Functions prelude": [[389, "functions-prelude"]], "FunctionsTask": [[20, null]], "FunctionsWidget": [[240, null]], "General Coding Advices": [[345, "general-coding-advices"]], "General advice": [[347, "general-advice"]], "GenericRizinGraphView": [[241, null]], "Get familiar with the current situation": [[346, "get-familiar-with-the-current-situation"]], "Getting Cutter": [[354, "getting-cutter"]], "Getting Started with Python Plugins": [[352, null]], "Getting the Source": [[342, "getting-the-source"]], "Give a name or rename global variables": [[363, "give-a-name-or-rename-global-variables"]], "GlibcHeapBinsDialog": [[140, null]], "GlibcHeapInfoDialog": [[141, null]], "GlibcHeapModel": [[242, null]], "GlibcHeapWidget": [[243, null]], "Global Shortcuts": [[392, "global-shortcuts"]], "GlobalDescription": [[101, null]], "GlobalVariableDialog": [[142, null]], "GlobalsModel": [[244, null]], "GlobalsProxyModel": [[245, null]], "GlobalsWidget": [[246, null]], "Go Back": [[378, "go-back"]], "Graph Layout Direction": [[371, "graph-layout-direction"]], "Graph Overview": [[383, "graph-overview"]], "Graph View Shortcuts": [[392, "graph-view-shortcuts"]], "Graph Widget Context Menu": [[371, null]], "GraphGridLayout": [[247, null]], "GraphGridLayout::GridBlock": [[325, null]], "GraphGridLayout::GridEdge": [[326, null]], "GraphGridLayout::LayoutState": [[327, null]], "GraphGridLayout::Point": [[328, null]], "GraphHorizontalAdapter": [[248, null]], "GraphLayout": [[249, null]], "GraphLayout::GraphBlock": [[329, null]], "GraphLayout::GraphEdge": [[330, null]], "GraphLayout::LayoutConfig": [[331, null]], "GraphView": [[250, null]], "GraphView::EdgeConfiguration": [[332, null]], "GraphWidget": [[251, null]], "GraphvizLayout": [[252, null]], "Grouped Dock Dragging": [[382, "grouped-dock-dragging"]], "HeaderDescription": [[102, null]], "HeadersModel": [[253, null]], "HeadersProxyModel": [[254, null]], "HeadersWidget": [[255, null]], "HeapBinsGraphView": [[256, null]], "HeapBinsGraphView::GraphHeapChunk": [[333, null]], "HeapDockWidget": [[257, null]], "Help Menu": [[380, null]], "HexCursor": [[334, null]], "HexSelection": [[258, null]], "HexWidget": [[259, null]], "HexWidget::Selection": [[335, null]], "Hexdump Widget Context Menu": [[373, null]], "HexdumpRangeDialog": [[143, null]], "HexdumpWidget": [[260, null]], "HighDpiPixmap": [[21, null]], "Highlight Block": [[371, "highlight-block"]], "Highlight Instruction": [[371, "highlight-instruction"]], "Highlighter": [[22, null]], "Highlighter::HighlightingRule": [[53, null]], "How can you help?": [[351, "how-can-you-help"]], "IOModesController": [[23, null]], "Import a PDB File": [[379, "import-a-pdb-file"]], "ImportDescription": [[103, null]], "ImportsModel": [[261, null]], "ImportsProxyModel": [[262, null]], "ImportsWidget": [[263, null]], "Includes": [[345, "includes"]], "Increment/Decrement Bytes": [[372, "increment-decrement-bytes"]], "IncrementDecrementDialog": [[144, null]], "Info sub-menu": [[374, "info-sub-menu"]], "Information Windows Menu": [[374, null]], "Initial Analysis takes a long time or Cutter UI freezes": [[358, "initial-analysis-takes-a-long-time-or-cutter-ui-freezes"]], "InitialOptions": [[54, null]], "InitialOptionsDialog": [[145, null]], "InitialOptionsDialog::AnalysisCommands": [[164, null]], "Initialization Script": [[390, null]], "Initialization Script Editor": [[390, "initialization-script-editor"]], "Keyboard Layout Issue": [[358, "keyboard-layout-issue"]], "Labels": [[346, "labels"]], "Layout": [[391, null]], "Layout Manager": [[391, "layout-manager"]], "LayoutManager": [[146, null]], "Layouts": [[382, "layouts"]], "LazySegmentTreeBase": [[24, null]], "LinkedListPool": [[25, null]], "LinkedListPool::Item": [[55, null]], "LinkedListPool::List": [[26, null]], "LinkedListPool::ListIterator": [[27, null]], "Linux": [[347, "linux"]], "ListDockWidget": [[264, null]], "Loading and Overview": [[355, "loading-and-overview"]], "Lock and Unlock Panels": [[382, "lock-and-unlock-panels"]], "Loops": [[345, "loops"]], "MainWindow": [[76, null]], "Making Linux distribution specific packages": [[342, "making-linux-distribution-specific-packages"]], "Manage Breakpoints Context Menu": [[366, null]], "Manage Layouts": [[382, "manage-layouts"]], "Map a New File": [[379, "map-a-new-file"]], "MapFileDialog": [[147, null]], "MdHighlighter": [[28, null]], "MdHighlighter::HighlightingRule": [[56, null]], "MemoryData": [[265, null]], "MemoryDockWidget": [[266, null]], "MemoryMapDescription": [[104, null]], "MemoryMapModel": [[267, null]], "MemoryMapWidget": [[268, null]], "MemoryProxyModel": [[269, null]], "Menu Bar": [[375, null]], "Menus": [[173, null], [360, null]], "Metrics": [[57, null]], "Metrics< int >": [[58, null]], "Metrics< qreal >": [[59, null]], "Milestones": [[346, "milestones"]], "MinMaxAccumulateTree": [[29, null]], "More Information": [[346, "more-information"]], "MultitypeFileSaveDialog": [[148, null]], "MultitypeFileSaveDialog::TypeDescription": [[165, null]], "NOP Instruction": [[367, "nop-instruction"]], "NativeDebugDialog": [[149, null]], "Need help?": [[354, "need-help"]], "New Instance of Cutter": [[379, "new-instance-of-cutter"]], "NewFileDialog": [[150, null]], "Omnibar": [[270, null]], "Open a Pull request": [[346, "open-a-pull-request"]], "OptionInfo": [[336, null]], "Options": [[357, "options"]], "Organizing issues": [[346, "organizing-issues"]], "OverviewView": [[271, null]], "OverviewWidget": [[272, null]], "Patching": [[367, null], [372, null]], "PluginManager": [[175, null]], "PluginManager::PluginTerminator": [[176, null]], "Plugins": [[177, null], [355, null]], "Plugins Menu": [[381, null]], "Plugins Sub-Menu": [[381, "plugins-sub-menu"]], "PointSetMinTree": [[30, null]], "PointSetSegmentTree": [[31, null]], "Pointer depth": [[389, "pointer-depth"]], "Preferences": [[378, "preferences"]], "ProcessBeingAnalysedProxyModel": [[151, null]], "ProcessDescription": [[105, null]], "ProcessModel": [[152, null]], "ProcessProxyModel": [[153, null]], "ProcessesFilterModel": [[273, null]], "ProcessesWidget": [[274, null]], "ProgressIndicator": [[32, null]], "Project setup": [[347, "project-setup"], [347, "id3"], [347, "id9"], [347, "id16"]], "Projects": [[346, "projects"]], "Pros and Cons": [[347, "pros-and-cons"], [347, "id2"], [347, "id8"], [347, "id15"]], "Qt Creator": [[347, "qt-creator"]], "QuickFilterView": [[275, null]], "Quit Cutter": [[379, "quit-cutter"]], "RangeAssignMaxTree": [[33, null]], "RawAddrDock": [[276, null]], "Re-type Local Variables": [[364, "re-type-local-variables"]], "Reacting to Events": [[352, "reacting-to-events"]], "Recommended Way for dev builds": [[342, "recommended-way-for-dev-builds"]], "Recommended plugins": [[347, "recommended-plugins"]], "Redo Seek": [[378, "redo-seek"]], "RefDescription": [[106, null]], "Refresh Contents": [[382, "refresh-contents"]], "RefreshDeferrer": [[34, null]], "RefreshDeferrerAccumulator": [[35, null]], "RegisterRef": [[107, null]], "RegisterRefDescription": [[337, null]], "RegisterRefModel": [[277, null]], "RegisterRefProxyModel": [[278, null]], "RegisterRefValueDescription": [[108, null]], "RegisterRefsWidget": [[279, null]], "Registers Widget Context Menu": [[384, null]], "RegistersWidget": [[280, null]], "Release Procedure": [[348, null]], "RelocDescription": [[109, null]], "RelocsModel": [[281, null]], "RelocsProxyModel": [[282, null]], "RelocsWidget": [[283, null]], "RemoteDebugDialog": [[154, null]], "Remove string definition": [[368, "remove-string-definition"]], "Rename": [[364, "rename"]], "Rename Function Variable": [[363, "rename-function-variable"]], "Rename function": [[363, "rename-function"]], "Repeat": [[346, "repeat"]], "ReplacingRefreshDeferrerAccumulator": [[36, null]], "Report an Issue": [[380, "report-an-issue"]], "Requirements": [[342, "requirements"], [342, "id1"], [342, "id3"], [350, "requirements"]], "Reset Zoom": [[382, "reset-zoom"]], "Reset to Default Layout": [[382, "reset-to-default-layout"]], "Reset to Default Settings": [[382, "reset-to-default-settings"]], "ResourcesDescription": [[110, null]], "ResourcesModel": [[284, null]], "ResourcesWidget": [[285, null]], "Reverse Jump": [[367, "reverse-jump"]], "RichTextPainter": [[37, null]], "RichTextPainter::CustomRichText_t": [[60, null]], "RizinCmdTask": [[38, null]], "RizinFunctionTask": [[39, null]], "RizinGraphWidget": [[286, null]], "RizinPluginsDialog": [[155, null]], "RizinTask": [[40, null]], "RizinTaskDialog": [[156, null]], "Run a Rizin Script": [[379, "run-a-rizin-script"]], "RunScriptTask": [[41, null]], "RzAsmPluginDescription": [[111, null]], "RzBinPluginDescription": [[112, null]], "RzCoreLocked": [[77, null]], "RzCorePluginDescription": [[113, null]], "RzIOPluginDescription": [[114, null]], "Save Layout": [[382, "save-layout"]], "Save Project": [[379, "save-project"]], "Save Project as\u2026": [[379, "save-project-as"]], "SdbWidget": [[287, null]], "Search boundaries for analysis": [[389, "search-boundaries-for-analysis"]], "Search for new functions following already defined functions": [[389, "search-for-new-functions-following-already-defined-functions"]], "SearchDescription": [[115, null]], "SearchModel": [[288, null]], "SearchSortFilterProxyModel": [[289, null]], "SearchWidget": [[290, null]], "SectionDescription": [[116, null]], "SectionsModel": [[291, null]], "SectionsProxyModel": [[292, null]], "SectionsWidget": [[293, null]], "Seek the Current File": [[345, "seek-the-current-file"]], "SegmentDescription": [[117, null]], "SegmentTreeBase": [[42, null]], "SegmentsModel": [[294, null]], "SegmentsProxyModel": [[295, null]], "SegmentsWidget": [[296, null]], "Set Current Bits": [[369, null]], "Set Current Bits to 16": [[369, "set-current-bits-to-16"]], "Set Current Bits to 32": [[369, "set-current-bits-to-32"]], "Set Current Bits to 64": [[369, "set-current-bits-to-64"]], "Set Immediate Base": [[370, null]], "Set Immediate Base to Binary": [[370, "set-immediate-base-to-binary"]], "Set Immediate Base to Decimal": [[370, "set-immediate-base-to-decimal"]], "Set Immediate Base to Hexadecimal": [[370, "set-immediate-base-to-hexadecimal"]], "Set Immediate Base to IP Address": [[370, "set-immediate-base-to-ip-address"]], "Set Immediate Base to Network Port": [[370, "set-immediate-base-to-network-port"]], "Set Immediate Base to Octal": [[370, "set-immediate-base-to-octal"]], "Set Immediate Base to String": [[370, "set-immediate-base-to-string"]], "Set Immediate Base to Syscall": [[370, "set-immediate-base-to-syscall"]], "Set Program Counter (PC)": [[363, "set-program-counter-pc"], [365, "set-program-counter-pc"]], "Set Structure Offset": [[364, "set-structure-offset"]], "Set Table Layout": [[385, null]], "Set Table Layout to Horizontal": [[385, "set-table-layout-to-horizontal"]], "Set Table Layout to Vertical": [[385, "set-table-layout-to-vertical"]], "Set as Code": [[368, "set-as-code"]], "Set as CodeDataString": [[368, null]], "Set as String (Advance dialog)": [[368, "set-as-string-advance-dialog"]], "Set as String (auto-detect length)": [[368, "set-as-string-auto-detect-length"]], "Set as data (Advanced)": [[368, "set-as-data-advanced"]], "Set as data (Dword)": [[368, "set-as-data-dword"]], "Set as data (Qword)": [[368, "set-as-data-qword"]], "Set as data (Word)": [[368, "set-as-data-word"]], "Set as data (bytes)": [[368, "set-as-data-bytes"]], "SetToDataDialog": [[157, null]], "Shortcuts": [[392, null]], "Show Backtrace": [[377, "show-backtrace"]], "Show Breakpoints": [[377, "show-breakpoints"]], "Show Classes": [[374, "show-classes"]], "Show Comments": [[383, "show-comments"]], "Show Console": [[383, "show-console"]], "Show Cross References": [[363, "show-cross-references"], [364, "show-cross-references"]], "Show Dashboard": [[383, "show-dashboard"]], "Show Decompiler": [[383, "show-decompiler"]], "Show Entry Points": [[374, "show-entry-points"]], "Show Exports": [[374, "show-exports"]], "Show Flags": [[374, "show-flags"]], "Show Functions": [[383, "show-functions"]], "Show Headers": [[374, "show-headers"]], "Show Imports": [[374, "show-imports"]], "Show Memory Map": [[377, "show-memory-map"]], "Show Processes": [[377, "show-processes"]], "Show Register References": [[377, "show-register-references"]], "Show Registers": [[377, "show-registers"]], "Show Relocations": [[374, "show-relocations"]], "Show Resources": [[374, "show-resources"]], "Show SDB Browser": [[374, "show-sdb-browser"]], "Show Search": [[383, "show-search"]], "Show Search Widget": [[378, "show-search-widget"]], "Show Sections": [[374, "show-sections"]], "Show Segments": [[374, "show-segments"]], "Show Signatures": [[374, "show-signatures"]], "Show Stack": [[377, "show-stack"]], "Show Strings": [[383, "show-strings"]], "Show Symbols": [[374, "show-symbols"]], "Show Tabs at the Top": [[382, "show-tabs-at-the-top"]], "Show Threads": [[377, "show-threads"]], "Show Types": [[383, "show-types"]], "Show VTables": [[374, "show-vtables"]], "Show address in another widget": [[364, "show-address-in-another-widget"]], "Show the code in another widget": [[363, "show-the-code-in-another-widget"]], "Show the selected item in another widget": [[363, "show-the-selected-item-in-another-widget"]], "Show verbose information when performing analysis": [[389, "show-verbose-information-when-performing-analysis"]], "SimpleTextGraphView": [[297, null]], "SimpleTextGraphView::BlockContent": [[338, null]], "Speculatively set a name for the functions": [[389, "speculatively-set-a-name-for-the-functions"]], "Src": [[181, null]], "Stack Widget Context Menu": [[386, null]], "StackModel": [[298, null]], "StackModel::Item": [[339, null]], "StackWidget": [[299, null]], "Start Debugging": [[376, "start-debugging"]], "Start Emulation": [[376, "start-emulation"]], "Step Into": [[376, "step-into"]], "Step Out": [[376, "step-out"]], "Step Over": [[376, "step-over"]], "StringDescription": [[118, null]], "StringsModel": [[300, null]], "StringsProxyModel": [[301, null]], "StringsTask": [[43, null]], "StringsWidget": [[302, null]], "SvgIconEngine": [[44, null]], "SymbolDescription": [[119, null]], "SymbolsModel": [[303, null]], "SymbolsProxyModel": [[304, null]], "SymbolsWidget": [[305, null]], "Sync Widget to an Offset": [[387, "sync-widget-to-an-offset"]], "Syncing a Widget": [[387, null]], "Synopsis": [[357, "synopsis"]], "TempConfig": [[45, null]], "ThreadsFilterModel": [[306, null]], "ThreadsWidget": [[307, null]], "Toggle Breakpoint State": [[361, "toggle-breakpoint-state"]], "Translate Cutter": [[353, null]], "Troubleshooting": [[342, "troubleshooting"]], "TypeDescription": [[120, null]], "TypesInteractionDialog": [[158, null]], "TypesModel": [[308, null]], "TypesSortFilterProxyModel": [[309, null]], "TypesWidget": [[310, null]], "UnHighlight Block": [[371, "unhighlight-block"]], "UnHighlight Instruction": [[371, "unhighlight-instruction"]], "Undefine a Function": [[364, "undefine-a-function"]], "UpdateWorker": [[46, null]], "Updating the Git Submodules": [[345, "updating-the-git-submodules"]], "Useful Resources (Qt Development)": [[345, "useful-resources-qt-development"]], "User Documentation": [[356, null]], "User documentation": [[351, "user-documentation"]], "VS Code": [[347, "vs-code"]], "VTableDescription": [[121, null]], "VTableModel": [[311, null]], "VTableSortFilterProxyModel": [[312, null]], "VTablesWidget": [[313, null]], "VariableDescription": [[122, null]], "Verbose output from type analysis": [[389, "verbose-output-from-type-analysis"]], "VersionInfoDialog": [[159, null]], "View Menu": [[382, null]], "VirtualAddrDock": [[314, null]], "Visual Studio": [[347, "visual-studio"]], "VisualNavbar": [[315, null]], "VisualNavbar::XToAddress": [[340, null]], "Want to help the project?": [[354, "want-to-help-the-project"]], "WelcomeDialog": [[160, null]], "Widget Shortcuts": [[392, "widget-shortcuts"]], "Widgets": [[341, null]], "Windows": [[347, "windows"]], "Windows Menu": [[383, null]], "Work on your feature or bug-fix": [[346, "work-on-your-feature-or-bug-fix"]], "Write Encoded\\Decoded Base64 String": [[372, "write-encoded-decoded-base64-string"]], "Write Length and String": [[372, "write-length-and-string"]], "Write Null-Terminated String": [[372, "write-null-terminated-string"]], "Write Random Bytes": [[372, "write-random-bytes"]], "Write String": [[372, "write-string"]], "Write Wide String": [[372, "write-wide-string"]], "Write Zeroes": [[372, "write-zeroes"]], "XrefDescription": [[123, null]], "XrefModel": [[161, null]], "XrefsDialog": [[162, null]], "Zoom In": [[382, "zoom-in"]], "Zoom Out": [[382, "zoom-out"]], "mmio_lookup_context": [[61, null]], "nullptr": [[345, "nullptr"]], "qhelpers::SizePolicyMinMax": [[62, null]]}, "docnames": ["api", "api/common/classAddressableFilterProxyModel", "api/common/classAddressableItemModel", "api/common/classAddressableItemModelI", "api/common/classAnalysisTask", "api/common/classAsyncTask", "api/common/classAsyncTaskManager", "api/common/classBasicBlockHighlighter", "api/common/classBasicInstructionHighlighter", "api/common/classCachedFontMetrics", "api/common/classColorThemeWorker", "api/common/classColors", "api/common/classCommandTask", "api/common/classConfiguration", "api/common/classCutterSeekable", "api/common/classDecompiler", "api/common/classDecompilerHighlighter", "api/common/classDirectionalComboBox", "api/common/classDisassemblyTextBlockUserData", "api/common/classFallbackSyntaxHighlighter", "api/common/classFunctionsTask", "api/common/classHighDpiPixmap", "api/common/classHighlighter", "api/common/classIOModesController", "api/common/classLazySegmentTreeBase", "api/common/classLinkedListPool", "api/common/classLinkedListPool_1_1List", "api/common/classLinkedListPool_1_1ListIterator", "api/common/classMdHighlighter", "api/common/classMinMaxAccumulateTree", "api/common/classPointSetMinTree", "api/common/classPointSetSegmentTree", "api/common/classProgressIndicator", "api/common/classRangeAssignMaxTree", "api/common/classRefreshDeferrer", "api/common/classRefreshDeferrerAccumulator", "api/common/classReplacingRefreshDeferrerAccumulator", "api/common/classRichTextPainter", "api/common/classRizinCmdTask", "api/common/classRizinFunctionTask", "api/common/classRizinTask", "api/common/classRunScriptTask", "api/common/classSegmentTreeBase", "api/common/classStringsTask", "api/common/classSvgIconEngine", "api/common/classTempConfig", "api/common/classUpdateWorker", "api/common/structBasicBlockHighlighter_1_1BasicBlock", "api/common/structBasicInstruction", "api/common/structCommandDescription", "api/common/structCutterInterfaceTheme", "api/common/structCutter_1_1CutterLayout", "api/common/structFallbackSyntaxHighlighter_1_1HighlightingRule", "api/common/structHighlighter_1_1HighlightingRule", "api/common/structInitialOptions", "api/common/structLinkedListPool_1_1Item", "api/common/structMdHighlighter_1_1HighlightingRule", "api/common/structMetrics", "api/common/structMetrics_3_01int_01_4", "api/common/structMetrics_3_01qreal_01_4", "api/common/structRichTextPainter_1_1CustomRichText__t", "api/common/structmmio__lookup__context", "api/common/structqhelpers_1_1SizePolicyMinMax", "api/commonlist", "api/core/classBasefind", "api/core/classCutterCore", "api/core/classCutterCore_1_1SeekReturn", "api/core/classCutterJson", "api/core/classCutterJsonOwner", "api/core/classCutterJson_1_1iterator", "api/core/classCutterPVector", "api/core/classCutterPVector_1_1iterator", "api/core/classCutterRzIter", "api/core/classCutterRzList", "api/core/classCutterRzList_1_1iterator", "api/core/classFreeBinder", "api/core/classMainWindow", "api/core/classRzCoreLocked", "api/core/structAddrRefs", "api/core/structAnalysisBaseClassDescription", "api/core/structAnalysisMethodDescription", "api/core/structAnalysisVTableDescription", "api/core/structArena", "api/core/structBasefindCoreStatusDescription", "api/core/structBasefindResultDescription", "api/core/structBinClassBaseClassDescription", "api/core/structBinClassDescription", "api/core/structBinClassFieldDescription", "api/core/structBinClassMethodDescription", "api/core/structBlockDescription", "api/core/structBlockStatistics", "api/core/structBreakpointDescription", "api/core/structChunk", "api/core/structCommentDescription", "api/core/structDisassemblyLine", "api/core/structEntrypointDescription", "api/core/structExportDescription", "api/core/structFlagDescription", "api/core/structFlagspaceDescription", "api/core/structFlirtDescription", "api/core/structFunctionDescription", "api/core/structGlobalDescription", "api/core/structHeaderDescription", "api/core/structImportDescription", "api/core/structMemoryMapDescription", "api/core/structProcessDescription", "api/core/structRefDescription", "api/core/structRegisterRef", "api/core/structRegisterRefValueDescription", "api/core/structRelocDescription", "api/core/structResourcesDescription", "api/core/structRzAsmPluginDescription", "api/core/structRzBinPluginDescription", "api/core/structRzCorePluginDescription", "api/core/structRzIOPluginDescription", "api/core/structSearchDescription", "api/core/structSectionDescription", "api/core/structSegmentDescription", "api/core/structStringDescription", "api/core/structSymbolDescription", "api/core/structTypeDescription", "api/core/structVTableDescription", "api/core/structVariableDescription", "api/core/structXrefDescription", "api/corelist", "api/dialogs/classAboutDialog", "api/dialogs/classArenaInfoDialog", "api/dialogs/classAsyncTaskDialog", "api/dialogs/classAttachProcDialog", "api/dialogs/classBase64EnDecodedWriteDialog", "api/dialogs/classBinsModel", "api/dialogs/classBreakpointsDialog", "api/dialogs/classCommentsDialog", "api/dialogs/classDuplicateFromOffsetDialog", "api/dialogs/classEditFunctionDialog", "api/dialogs/classEditInstructionDialog", "api/dialogs/classEditMethodDialog", "api/dialogs/classEditStringDialog", "api/dialogs/classEditVariablesDialog", "api/dialogs/classFlagDialog", "api/dialogs/classGlibcHeapBinsDialog", "api/dialogs/classGlibcHeapInfoDialog", "api/dialogs/classGlobalVariableDialog", "api/dialogs/classHexdumpRangeDialog", "api/dialogs/classIncrementDecrementDialog", "api/dialogs/classInitialOptionsDialog", "api/dialogs/classLayoutManager", "api/dialogs/classMapFileDialog", "api/dialogs/classMultitypeFileSaveDialog", "api/dialogs/classNativeDebugDialog", "api/dialogs/classNewFileDialog", "api/dialogs/classProcessBeingAnalysedProxyModel", "api/dialogs/classProcessModel", "api/dialogs/classProcessProxyModel", "api/dialogs/classRemoteDebugDialog", "api/dialogs/classRizinPluginsDialog", "api/dialogs/classRizinTaskDialog", "api/dialogs/classSetToDataDialog", "api/dialogs/classTypesInteractionDialog", "api/dialogs/classVersionInfoDialog", "api/dialogs/classWelcomeDialog", "api/dialogs/classXrefModel", "api/dialogs/classXrefsDialog", "api/dialogs/structDbgBackend", "api/dialogs/structInitialOptionsDialog_1_1AnalysisCommands", "api/dialogs/structMultitypeFileSaveDialog_1_1TypeDescription", "api/dialogslist", "api/menus/classAddressableItemContextMenu", "api/menus/classDecompilerContextMenu", "api/menus/classDisassemblyContextMenu", "api/menus/classFlirtContextMenu", "api/menus/structDisassemblyContextMenu_1_1DoRenameInfo", "api/menus/structDisassemblyContextMenu_1_1ThingUsedHere", "api/menuslist", "api/plugins/classCutterPlugin", "api/plugins/classPluginManager", "api/plugins/classPluginManager_1_1PluginTerminator", "api/pluginslist", "api/src/classCutterApplication", "api/src/classCutterProxyStyle", "api/src/structCutterCommandLineOptions", "api/srclist", "api/widgets/classAbstractAddrDock", "api/widgets/classAbstractData", "api/widgets/classAddrDockScene", "api/widgets/classAddressableDockWidget", "api/widgets/classAddressableItemList", "api/widgets/classAnalysisClassesModel", "api/widgets/classBacktraceWidget", "api/widgets/classBinClassesModel", "api/widgets/classBoolTogggleDelegate", "api/widgets/classBreakpointModel", "api/widgets/classBreakpointProxyModel", "api/widgets/classBreakpointWidget", "api/widgets/classBufferData", "api/widgets/classCallGraphView", "api/widgets/classCallGraphWidget", "api/widgets/classClassesModel", "api/widgets/classClassesSortFilterProxyModel", "api/widgets/classClassesWidget", "api/widgets/classColorOptionDelegate", "api/widgets/classColorPicker", "api/widgets/classColorPickerHelpers_1_1AlphaChannelBar", "api/widgets/classColorPickerHelpers_1_1ColorPickArea", "api/widgets/classColorPickerHelpers_1_1ColorPickWidgetAbstract", "api/widgets/classColorPickerHelpers_1_1ColorPickerWidget", "api/widgets/classColorPickerHelpers_1_1ColorShowWidget", "api/widgets/classColorPickerHelpers_1_1ColorValueBar", "api/widgets/classColorSettingsModel", "api/widgets/classColorThemeComboBox", "api/widgets/classColorThemeListView", "api/widgets/classComboQuickFilterView", "api/widgets/classCommentsModel", "api/widgets/classCommentsProxyModel", "api/widgets/classCommentsWidget", "api/widgets/classConsoleWidget", "api/widgets/classCutterDockWidget", "api/widgets/classCutterGraphView", "api/widgets/classCutterTreeView", "api/widgets/classCutterTreeWidget", "api/widgets/classDashboard", "api/widgets/classDebugActions", "api/widgets/classDecompilerWidget", "api/widgets/classDisassemblerGraphView", "api/widgets/classDisassemblyLeftPanel", "api/widgets/classDisassemblyScrollArea", "api/widgets/classDisassemblyTextEdit", "api/widgets/classDisassemblyWidget", "api/widgets/classEntrypointWidget", "api/widgets/classExportsModel", "api/widgets/classExportsProxyModel", "api/widgets/classExportsWidget", "api/widgets/classFlagsModel", "api/widgets/classFlagsSortFilterProxyModel", "api/widgets/classFlagsWidget", "api/widgets/classFlirtModel", "api/widgets/classFlirtProxyModel", "api/widgets/classFlirtWidget", "api/widgets/classFunctionModel", "api/widgets/classFunctionSortFilterProxyModel", "api/widgets/classFunctionsWidget", "api/widgets/classGenericRizinGraphView", "api/widgets/classGlibcHeapModel", "api/widgets/classGlibcHeapWidget", "api/widgets/classGlobalsModel", "api/widgets/classGlobalsProxyModel", "api/widgets/classGlobalsWidget", "api/widgets/classGraphGridLayout", "api/widgets/classGraphHorizontalAdapter", "api/widgets/classGraphLayout", "api/widgets/classGraphView", "api/widgets/classGraphWidget", "api/widgets/classGraphvizLayout", "api/widgets/classHeadersModel", "api/widgets/classHeadersProxyModel", "api/widgets/classHeadersWidget", "api/widgets/classHeapBinsGraphView", "api/widgets/classHeapDockWidget", "api/widgets/classHexSelection", "api/widgets/classHexWidget", "api/widgets/classHexdumpWidget", "api/widgets/classImportsModel", "api/widgets/classImportsProxyModel", "api/widgets/classImportsWidget", "api/widgets/classListDockWidget", "api/widgets/classMemoryData", "api/widgets/classMemoryDockWidget", "api/widgets/classMemoryMapModel", "api/widgets/classMemoryMapWidget", "api/widgets/classMemoryProxyModel", "api/widgets/classOmnibar", "api/widgets/classOverviewView", "api/widgets/classOverviewWidget", "api/widgets/classProcessesFilterModel", "api/widgets/classProcessesWidget", "api/widgets/classQuickFilterView", "api/widgets/classRawAddrDock", "api/widgets/classRegisterRefModel", "api/widgets/classRegisterRefProxyModel", "api/widgets/classRegisterRefsWidget", "api/widgets/classRegistersWidget", "api/widgets/classRelocsModel", "api/widgets/classRelocsProxyModel", "api/widgets/classRelocsWidget", "api/widgets/classResourcesModel", "api/widgets/classResourcesWidget", "api/widgets/classRizinGraphWidget", "api/widgets/classSdbWidget", "api/widgets/classSearchModel", "api/widgets/classSearchSortFilterProxyModel", "api/widgets/classSearchWidget", "api/widgets/classSectionsModel", "api/widgets/classSectionsProxyModel", "api/widgets/classSectionsWidget", "api/widgets/classSegmentsModel", "api/widgets/classSegmentsProxyModel", "api/widgets/classSegmentsWidget", "api/widgets/classSimpleTextGraphView", "api/widgets/classStackModel", "api/widgets/classStackWidget", "api/widgets/classStringsModel", "api/widgets/classStringsProxyModel", "api/widgets/classStringsWidget", "api/widgets/classSymbolsModel", "api/widgets/classSymbolsProxyModel", "api/widgets/classSymbolsWidget", "api/widgets/classThreadsFilterModel", "api/widgets/classThreadsWidget", "api/widgets/classTypesModel", "api/widgets/classTypesSortFilterProxyModel", "api/widgets/classTypesWidget", "api/widgets/classVTableModel", "api/widgets/classVTableSortFilterProxyModel", "api/widgets/classVTablesWidget", "api/widgets/classVirtualAddrDock", "api/widgets/classVisualNavbar", "api/widgets/structAnalysisClassesModel_1_1Attribute", "api/widgets/structBasicCursor", "api/widgets/structColorOption", "api/widgets/structCommentGroup", "api/widgets/structDisassemblerGraphView_1_1DisassemblyBlock", "api/widgets/structDisassemblerGraphView_1_1Instr", "api/widgets/structDisassemblerGraphView_1_1Text", "api/widgets/structDisassemblerGraphView_1_1Token", "api/widgets/structDisassemblyLeftPanel_1_1Arrow", "api/widgets/structGraphGridLayout_1_1GridBlock", "api/widgets/structGraphGridLayout_1_1GridEdge", "api/widgets/structGraphGridLayout_1_1LayoutState", "api/widgets/structGraphGridLayout_1_1Point", "api/widgets/structGraphLayout_1_1GraphBlock", "api/widgets/structGraphLayout_1_1GraphEdge", "api/widgets/structGraphLayout_1_1LayoutConfig", "api/widgets/structGraphView_1_1EdgeConfiguration", "api/widgets/structHeapBinsGraphView_1_1GraphHeapChunk", "api/widgets/structHexCursor", "api/widgets/structHexWidget_1_1Selection", "api/widgets/structOptionInfo", "api/widgets/structRegisterRefDescription", "api/widgets/structSimpleTextGraphView_1_1BlockContent", "api/widgets/structStackModel_1_1Item", "api/widgets/structVisualNavbar_1_1XToAddress", "api/widgetslist", "building", "contributing", "contributing/code", "contributing/code/development-guidelines", "contributing/code/getting-started", "contributing/code/ide-setup", "contributing/code/release-procedure", "contributing/docs", "contributing/docs/building-docs", "contributing/docs/getting-started", "contributing/plugins/getting-started", "contributing/translations/getting-started", "index", "plugins", "user-docs", "user-docs/command-line", "user-docs/common-issues", "user-docs/features", "user-docs/menus", "user-docs/menus/breakpoints-widget-context-menu", "user-docs/menus/debug-buttons-toolbar", "user-docs/menus/decompiler-context-menu", "user-docs/menus/disassembly-context-menu", "user-docs/menus/disassembly-context-menu/debug-context-menu", "user-docs/menus/disassembly-context-menu/manage-breakpoints-context-menu", "user-docs/menus/disassembly-context-menu/patching", "user-docs/menus/disassembly-context-menu/set-as-code-data-string", "user-docs/menus/disassembly-context-menu/set-current-bits", "user-docs/menus/disassembly-context-menu/set-immediate-base", "user-docs/menus/graph-widget-context-menu", "user-docs/menus/hexdump-context-menu/patching", "user-docs/menus/hexdump-widget-context-menu", "user-docs/menus/information-windows-menu", "user-docs/menus/menu-bar", "user-docs/menus/menu-bar/debug-menu", "user-docs/menus/menu-bar/debug-view-menu", "user-docs/menus/menu-bar/edit-menu", "user-docs/menus/menu-bar/file-menu", "user-docs/menus/menu-bar/help-menu", "user-docs/menus/menu-bar/plugins-menu", "user-docs/menus/menu-bar/view-menu", "user-docs/menus/menu-bar/windows-menu", "user-docs/menus/registers-widget-context-menu", "user-docs/menus/set-table-layout", "user-docs/menus/stack-widget-context-menu", "user-docs/menus/syncing-a-widget", "user-docs/preferences", "user-docs/preferences/analysis", "user-docs/preferences/initialization-script", "user-docs/preferences/layout", "user-docs/shortcuts"], "envversion": {"sphinx": 64, "sphinx.domains.c": 3, "sphinx.domains.changeset": 1, "sphinx.domains.citation": 1, "sphinx.domains.cpp": 9, "sphinx.domains.index": 1, "sphinx.domains.javascript": 3, "sphinx.domains.math": 2, "sphinx.domains.python": 4, "sphinx.domains.rst": 2, "sphinx.domains.std": 2}, "filenames": ["api.rst", "api/common/classAddressableFilterProxyModel.rst", "api/common/classAddressableItemModel.rst", "api/common/classAddressableItemModelI.rst", "api/common/classAnalysisTask.rst", "api/common/classAsyncTask.rst", "api/common/classAsyncTaskManager.rst", "api/common/classBasicBlockHighlighter.rst", "api/common/classBasicInstructionHighlighter.rst", "api/common/classCachedFontMetrics.rst", "api/common/classColorThemeWorker.rst", "api/common/classColors.rst", "api/common/classCommandTask.rst", "api/common/classConfiguration.rst", "api/common/classCutterSeekable.rst", "api/common/classDecompiler.rst", "api/common/classDecompilerHighlighter.rst", "api/common/classDirectionalComboBox.rst", "api/common/classDisassemblyTextBlockUserData.rst", "api/common/classFallbackSyntaxHighlighter.rst", "api/common/classFunctionsTask.rst", "api/common/classHighDpiPixmap.rst", "api/common/classHighlighter.rst", "api/common/classIOModesController.rst", "api/common/classLazySegmentTreeBase.rst", "api/common/classLinkedListPool.rst", "api/common/classLinkedListPool_1_1List.rst", "api/common/classLinkedListPool_1_1ListIterator.rst", "api/common/classMdHighlighter.rst", "api/common/classMinMaxAccumulateTree.rst", "api/common/classPointSetMinTree.rst", "api/common/classPointSetSegmentTree.rst", "api/common/classProgressIndicator.rst", "api/common/classRangeAssignMaxTree.rst", "api/common/classRefreshDeferrer.rst", "api/common/classRefreshDeferrerAccumulator.rst", "api/common/classReplacingRefreshDeferrerAccumulator.rst", "api/common/classRichTextPainter.rst", "api/common/classRizinCmdTask.rst", "api/common/classRizinFunctionTask.rst", "api/common/classRizinTask.rst", "api/common/classRunScriptTask.rst", "api/common/classSegmentTreeBase.rst", "api/common/classStringsTask.rst", "api/common/classSvgIconEngine.rst", "api/common/classTempConfig.rst", "api/common/classUpdateWorker.rst", "api/common/structBasicBlockHighlighter_1_1BasicBlock.rst", "api/common/structBasicInstruction.rst", "api/common/structCommandDescription.rst", "api/common/structCutterInterfaceTheme.rst", "api/common/structCutter_1_1CutterLayout.rst", "api/common/structFallbackSyntaxHighlighter_1_1HighlightingRule.rst", "api/common/structHighlighter_1_1HighlightingRule.rst", "api/common/structInitialOptions.rst", "api/common/structLinkedListPool_1_1Item.rst", "api/common/structMdHighlighter_1_1HighlightingRule.rst", "api/common/structMetrics.rst", "api/common/structMetrics_3_01int_01_4.rst", "api/common/structMetrics_3_01qreal_01_4.rst", "api/common/structRichTextPainter_1_1CustomRichText__t.rst", "api/common/structmmio__lookup__context.rst", "api/common/structqhelpers_1_1SizePolicyMinMax.rst", "api/commonlist.rst", "api/core/classBasefind.rst", "api/core/classCutterCore.rst", "api/core/classCutterCore_1_1SeekReturn.rst", "api/core/classCutterJson.rst", "api/core/classCutterJsonOwner.rst", "api/core/classCutterJson_1_1iterator.rst", "api/core/classCutterPVector.rst", "api/core/classCutterPVector_1_1iterator.rst", "api/core/classCutterRzIter.rst", "api/core/classCutterRzList.rst", "api/core/classCutterRzList_1_1iterator.rst", "api/core/classFreeBinder.rst", "api/core/classMainWindow.rst", "api/core/classRzCoreLocked.rst", "api/core/structAddrRefs.rst", "api/core/structAnalysisBaseClassDescription.rst", "api/core/structAnalysisMethodDescription.rst", "api/core/structAnalysisVTableDescription.rst", "api/core/structArena.rst", "api/core/structBasefindCoreStatusDescription.rst", "api/core/structBasefindResultDescription.rst", "api/core/structBinClassBaseClassDescription.rst", "api/core/structBinClassDescription.rst", "api/core/structBinClassFieldDescription.rst", "api/core/structBinClassMethodDescription.rst", "api/core/structBlockDescription.rst", "api/core/structBlockStatistics.rst", "api/core/structBreakpointDescription.rst", "api/core/structChunk.rst", "api/core/structCommentDescription.rst", "api/core/structDisassemblyLine.rst", "api/core/structEntrypointDescription.rst", "api/core/structExportDescription.rst", "api/core/structFlagDescription.rst", "api/core/structFlagspaceDescription.rst", "api/core/structFlirtDescription.rst", "api/core/structFunctionDescription.rst", "api/core/structGlobalDescription.rst", "api/core/structHeaderDescription.rst", "api/core/structImportDescription.rst", "api/core/structMemoryMapDescription.rst", "api/core/structProcessDescription.rst", "api/core/structRefDescription.rst", "api/core/structRegisterRef.rst", "api/core/structRegisterRefValueDescription.rst", "api/core/structRelocDescription.rst", "api/core/structResourcesDescription.rst", "api/core/structRzAsmPluginDescription.rst", "api/core/structRzBinPluginDescription.rst", "api/core/structRzCorePluginDescription.rst", "api/core/structRzIOPluginDescription.rst", "api/core/structSearchDescription.rst", "api/core/structSectionDescription.rst", "api/core/structSegmentDescription.rst", "api/core/structStringDescription.rst", "api/core/structSymbolDescription.rst", "api/core/structTypeDescription.rst", "api/core/structVTableDescription.rst", "api/core/structVariableDescription.rst", "api/core/structXrefDescription.rst", "api/corelist.rst", "api/dialogs/classAboutDialog.rst", "api/dialogs/classArenaInfoDialog.rst", "api/dialogs/classAsyncTaskDialog.rst", "api/dialogs/classAttachProcDialog.rst", "api/dialogs/classBase64EnDecodedWriteDialog.rst", "api/dialogs/classBinsModel.rst", "api/dialogs/classBreakpointsDialog.rst", "api/dialogs/classCommentsDialog.rst", "api/dialogs/classDuplicateFromOffsetDialog.rst", "api/dialogs/classEditFunctionDialog.rst", "api/dialogs/classEditInstructionDialog.rst", "api/dialogs/classEditMethodDialog.rst", "api/dialogs/classEditStringDialog.rst", "api/dialogs/classEditVariablesDialog.rst", "api/dialogs/classFlagDialog.rst", "api/dialogs/classGlibcHeapBinsDialog.rst", "api/dialogs/classGlibcHeapInfoDialog.rst", "api/dialogs/classGlobalVariableDialog.rst", "api/dialogs/classHexdumpRangeDialog.rst", "api/dialogs/classIncrementDecrementDialog.rst", "api/dialogs/classInitialOptionsDialog.rst", "api/dialogs/classLayoutManager.rst", "api/dialogs/classMapFileDialog.rst", "api/dialogs/classMultitypeFileSaveDialog.rst", "api/dialogs/classNativeDebugDialog.rst", "api/dialogs/classNewFileDialog.rst", "api/dialogs/classProcessBeingAnalysedProxyModel.rst", "api/dialogs/classProcessModel.rst", "api/dialogs/classProcessProxyModel.rst", "api/dialogs/classRemoteDebugDialog.rst", "api/dialogs/classRizinPluginsDialog.rst", "api/dialogs/classRizinTaskDialog.rst", "api/dialogs/classSetToDataDialog.rst", "api/dialogs/classTypesInteractionDialog.rst", "api/dialogs/classVersionInfoDialog.rst", "api/dialogs/classWelcomeDialog.rst", "api/dialogs/classXrefModel.rst", "api/dialogs/classXrefsDialog.rst", "api/dialogs/structDbgBackend.rst", "api/dialogs/structInitialOptionsDialog_1_1AnalysisCommands.rst", "api/dialogs/structMultitypeFileSaveDialog_1_1TypeDescription.rst", "api/dialogslist.rst", "api/menus/classAddressableItemContextMenu.rst", "api/menus/classDecompilerContextMenu.rst", "api/menus/classDisassemblyContextMenu.rst", "api/menus/classFlirtContextMenu.rst", "api/menus/structDisassemblyContextMenu_1_1DoRenameInfo.rst", "api/menus/structDisassemblyContextMenu_1_1ThingUsedHere.rst", "api/menuslist.rst", "api/plugins/classCutterPlugin.rst", "api/plugins/classPluginManager.rst", "api/plugins/classPluginManager_1_1PluginTerminator.rst", "api/pluginslist.rst", "api/src/classCutterApplication.rst", "api/src/classCutterProxyStyle.rst", "api/src/structCutterCommandLineOptions.rst", "api/srclist.rst", "api/widgets/classAbstractAddrDock.rst", "api/widgets/classAbstractData.rst", "api/widgets/classAddrDockScene.rst", "api/widgets/classAddressableDockWidget.rst", "api/widgets/classAddressableItemList.rst", "api/widgets/classAnalysisClassesModel.rst", "api/widgets/classBacktraceWidget.rst", "api/widgets/classBinClassesModel.rst", "api/widgets/classBoolTogggleDelegate.rst", "api/widgets/classBreakpointModel.rst", "api/widgets/classBreakpointProxyModel.rst", "api/widgets/classBreakpointWidget.rst", "api/widgets/classBufferData.rst", "api/widgets/classCallGraphView.rst", "api/widgets/classCallGraphWidget.rst", "api/widgets/classClassesModel.rst", "api/widgets/classClassesSortFilterProxyModel.rst", "api/widgets/classClassesWidget.rst", "api/widgets/classColorOptionDelegate.rst", "api/widgets/classColorPicker.rst", "api/widgets/classColorPickerHelpers_1_1AlphaChannelBar.rst", "api/widgets/classColorPickerHelpers_1_1ColorPickArea.rst", "api/widgets/classColorPickerHelpers_1_1ColorPickWidgetAbstract.rst", "api/widgets/classColorPickerHelpers_1_1ColorPickerWidget.rst", "api/widgets/classColorPickerHelpers_1_1ColorShowWidget.rst", "api/widgets/classColorPickerHelpers_1_1ColorValueBar.rst", "api/widgets/classColorSettingsModel.rst", "api/widgets/classColorThemeComboBox.rst", "api/widgets/classColorThemeListView.rst", "api/widgets/classComboQuickFilterView.rst", "api/widgets/classCommentsModel.rst", "api/widgets/classCommentsProxyModel.rst", "api/widgets/classCommentsWidget.rst", "api/widgets/classConsoleWidget.rst", "api/widgets/classCutterDockWidget.rst", "api/widgets/classCutterGraphView.rst", "api/widgets/classCutterTreeView.rst", "api/widgets/classCutterTreeWidget.rst", "api/widgets/classDashboard.rst", "api/widgets/classDebugActions.rst", "api/widgets/classDecompilerWidget.rst", "api/widgets/classDisassemblerGraphView.rst", "api/widgets/classDisassemblyLeftPanel.rst", "api/widgets/classDisassemblyScrollArea.rst", "api/widgets/classDisassemblyTextEdit.rst", "api/widgets/classDisassemblyWidget.rst", "api/widgets/classEntrypointWidget.rst", "api/widgets/classExportsModel.rst", "api/widgets/classExportsProxyModel.rst", "api/widgets/classExportsWidget.rst", "api/widgets/classFlagsModel.rst", "api/widgets/classFlagsSortFilterProxyModel.rst", "api/widgets/classFlagsWidget.rst", "api/widgets/classFlirtModel.rst", "api/widgets/classFlirtProxyModel.rst", "api/widgets/classFlirtWidget.rst", "api/widgets/classFunctionModel.rst", "api/widgets/classFunctionSortFilterProxyModel.rst", "api/widgets/classFunctionsWidget.rst", "api/widgets/classGenericRizinGraphView.rst", "api/widgets/classGlibcHeapModel.rst", "api/widgets/classGlibcHeapWidget.rst", "api/widgets/classGlobalsModel.rst", "api/widgets/classGlobalsProxyModel.rst", "api/widgets/classGlobalsWidget.rst", "api/widgets/classGraphGridLayout.rst", "api/widgets/classGraphHorizontalAdapter.rst", "api/widgets/classGraphLayout.rst", "api/widgets/classGraphView.rst", "api/widgets/classGraphWidget.rst", "api/widgets/classGraphvizLayout.rst", "api/widgets/classHeadersModel.rst", "api/widgets/classHeadersProxyModel.rst", "api/widgets/classHeadersWidget.rst", "api/widgets/classHeapBinsGraphView.rst", "api/widgets/classHeapDockWidget.rst", "api/widgets/classHexSelection.rst", "api/widgets/classHexWidget.rst", "api/widgets/classHexdumpWidget.rst", "api/widgets/classImportsModel.rst", "api/widgets/classImportsProxyModel.rst", "api/widgets/classImportsWidget.rst", "api/widgets/classListDockWidget.rst", "api/widgets/classMemoryData.rst", "api/widgets/classMemoryDockWidget.rst", "api/widgets/classMemoryMapModel.rst", "api/widgets/classMemoryMapWidget.rst", "api/widgets/classMemoryProxyModel.rst", "api/widgets/classOmnibar.rst", "api/widgets/classOverviewView.rst", "api/widgets/classOverviewWidget.rst", "api/widgets/classProcessesFilterModel.rst", "api/widgets/classProcessesWidget.rst", "api/widgets/classQuickFilterView.rst", "api/widgets/classRawAddrDock.rst", "api/widgets/classRegisterRefModel.rst", "api/widgets/classRegisterRefProxyModel.rst", "api/widgets/classRegisterRefsWidget.rst", "api/widgets/classRegistersWidget.rst", "api/widgets/classRelocsModel.rst", "api/widgets/classRelocsProxyModel.rst", "api/widgets/classRelocsWidget.rst", "api/widgets/classResourcesModel.rst", "api/widgets/classResourcesWidget.rst", "api/widgets/classRizinGraphWidget.rst", "api/widgets/classSdbWidget.rst", "api/widgets/classSearchModel.rst", "api/widgets/classSearchSortFilterProxyModel.rst", "api/widgets/classSearchWidget.rst", "api/widgets/classSectionsModel.rst", "api/widgets/classSectionsProxyModel.rst", "api/widgets/classSectionsWidget.rst", "api/widgets/classSegmentsModel.rst", "api/widgets/classSegmentsProxyModel.rst", "api/widgets/classSegmentsWidget.rst", "api/widgets/classSimpleTextGraphView.rst", "api/widgets/classStackModel.rst", "api/widgets/classStackWidget.rst", "api/widgets/classStringsModel.rst", "api/widgets/classStringsProxyModel.rst", "api/widgets/classStringsWidget.rst", "api/widgets/classSymbolsModel.rst", "api/widgets/classSymbolsProxyModel.rst", "api/widgets/classSymbolsWidget.rst", "api/widgets/classThreadsFilterModel.rst", "api/widgets/classThreadsWidget.rst", "api/widgets/classTypesModel.rst", "api/widgets/classTypesSortFilterProxyModel.rst", "api/widgets/classTypesWidget.rst", "api/widgets/classVTableModel.rst", "api/widgets/classVTableSortFilterProxyModel.rst", "api/widgets/classVTablesWidget.rst", "api/widgets/classVirtualAddrDock.rst", "api/widgets/classVisualNavbar.rst", "api/widgets/structAnalysisClassesModel_1_1Attribute.rst", "api/widgets/structBasicCursor.rst", "api/widgets/structColorOption.rst", "api/widgets/structCommentGroup.rst", "api/widgets/structDisassemblerGraphView_1_1DisassemblyBlock.rst", "api/widgets/structDisassemblerGraphView_1_1Instr.rst", "api/widgets/structDisassemblerGraphView_1_1Text.rst", "api/widgets/structDisassemblerGraphView_1_1Token.rst", "api/widgets/structDisassemblyLeftPanel_1_1Arrow.rst", "api/widgets/structGraphGridLayout_1_1GridBlock.rst", "api/widgets/structGraphGridLayout_1_1GridEdge.rst", "api/widgets/structGraphGridLayout_1_1LayoutState.rst", "api/widgets/structGraphGridLayout_1_1Point.rst", "api/widgets/structGraphLayout_1_1GraphBlock.rst", "api/widgets/structGraphLayout_1_1GraphEdge.rst", "api/widgets/structGraphLayout_1_1LayoutConfig.rst", "api/widgets/structGraphView_1_1EdgeConfiguration.rst", "api/widgets/structHeapBinsGraphView_1_1GraphHeapChunk.rst", "api/widgets/structHexCursor.rst", "api/widgets/structHexWidget_1_1Selection.rst", "api/widgets/structOptionInfo.rst", "api/widgets/structRegisterRefDescription.rst", "api/widgets/structSimpleTextGraphView_1_1BlockContent.rst", "api/widgets/structStackModel_1_1Item.rst", "api/widgets/structVisualNavbar_1_1XToAddress.rst", "api/widgetslist.rst", "building.rst", "contributing.rst", "contributing/code.rst", "contributing/code/development-guidelines.rst", "contributing/code/getting-started.rst", "contributing/code/ide-setup.rst", "contributing/code/release-procedure.rst", "contributing/docs.rst", "contributing/docs/building-docs.rst", "contributing/docs/getting-started.rst", "contributing/plugins/getting-started.rst", "contributing/translations/getting-started.rst", "index.rst", "plugins.rst", "user-docs.rst", "user-docs/command-line.rst", "user-docs/common-issues.rst", "user-docs/features.rst", "user-docs/menus.rst", "user-docs/menus/breakpoints-widget-context-menu.rst", "user-docs/menus/debug-buttons-toolbar.rst", "user-docs/menus/decompiler-context-menu.rst", "user-docs/menus/disassembly-context-menu.rst", "user-docs/menus/disassembly-context-menu/debug-context-menu.rst", "user-docs/menus/disassembly-context-menu/manage-breakpoints-context-menu.rst", "user-docs/menus/disassembly-context-menu/patching.rst", "user-docs/menus/disassembly-context-menu/set-as-code-data-string.rst", "user-docs/menus/disassembly-context-menu/set-current-bits.rst", "user-docs/menus/disassembly-context-menu/set-immediate-base.rst", "user-docs/menus/graph-widget-context-menu.rst", "user-docs/menus/hexdump-context-menu/patching.rst", "user-docs/menus/hexdump-widget-context-menu.rst", "user-docs/menus/information-windows-menu.rst", "user-docs/menus/menu-bar.rst", "user-docs/menus/menu-bar/debug-menu.rst", "user-docs/menus/menu-bar/debug-view-menu.rst", "user-docs/menus/menu-bar/edit-menu.rst", "user-docs/menus/menu-bar/file-menu.rst", "user-docs/menus/menu-bar/help-menu.rst", "user-docs/menus/menu-bar/plugins-menu.rst", "user-docs/menus/menu-bar/view-menu.rst", "user-docs/menus/menu-bar/windows-menu.rst", "user-docs/menus/registers-widget-context-menu.rst", "user-docs/menus/set-table-layout.rst", "user-docs/menus/stack-widget-context-menu.rst", "user-docs/menus/syncing-a-widget.rst", "user-docs/preferences.rst", "user-docs/preferences/analysis.rst", "user-docs/preferences/initialization-script.rst", "user-docs/preferences/layout.rst", "user-docs/shortcuts.rst"], "indexentries": {"--analysis": [[357, "cmdoption-A", false]], "--arch": [[357, "cmdoption-a", false]], "--base": [[357, "cmdoption-B", false]], "--bits": [[357, "cmdoption-b", false]], "--cpu": [[357, "cmdoption-c", false]], "--endian": [[357, "cmdoption-e", false]], "--format": [[357, "cmdoption-F", false]], "--help": [[357, "cmdoption-h", false]], "--help-all": [[357, "cmdoption-help-all", false]], "--map": [[357, "cmdoption-m", false]], "--no-cutter-plugins": [[357, "cmdoption-no-cutter-plugins", false]], "--no-output-redirect": [[357, "cmdoption-no-output-redirect", false]], "--no-plugins": [[357, "cmdoption-no-plugins", false]], "--no-rizin-plugins": [[357, "cmdoption-no-rizin-plugins", false]], "--os": [[357, "cmdoption-o", false]], "--phymode": [[357, "cmdoption-P", false]], "--project": [[357, "cmdoption-p", false]], "--pythonhome": [[357, "cmdoption-pythonhome", false]], "--version": [[357, "cmdoption-v", false]], "--writemode": [[357, "cmdoption-w", false]], "-a": [[357, "cmdoption-A", false], [357, "cmdoption-a", false]], "-b": [[357, "cmdoption-B", false], [357, "cmdoption-b", false]], "-c": [[357, "cmdoption-c", false]], "-e": [[357, "cmdoption-e", false]], "-f": [[357, "cmdoption-F", false]], "-h": [[357, "cmdoption-h", false]], "-i": [[357, "cmdoption-i", false]], "-m": [[357, "cmdoption-m", false]], "-o": [[357, "cmdoption-o", false]], "-p": [[357, "cmdoption-P", false], [357, "cmdoption-p", false]], "-v": [[357, "cmdoption-v", false]], "-w": [[357, "cmdoption-w", false]], "": [[357, "cmdoption-arg-filename", false]], "aboutdialog (c++ class)": [[125, "_CPPv411AboutDialog", false]], "aboutdialog::aboutdialog (c++ function)": [[125, "_CPPv4N11AboutDialog11AboutDialogEP7QWidget", false]], "aboutdialog::~aboutdialog (c++ function)": [[125, "_CPPv4N11AboutDialogD0Ev", false]], "abstractaddrdock (c++ class)": [[182, "_CPPv416AbstractAddrDock", false]], "abstractaddrdock::abstractaddrdock (c++ function)": [[182, "_CPPv4N16AbstractAddrDock16AbstractAddrDockEP13SectionsModelP7QWidget", false]], "abstractaddrdock::updatedock (c++ function)": [[182, "_CPPv4N16AbstractAddrDock10updateDockEv", false]], "abstractaddrdock::~abstractaddrdock (c++ function)": [[182, "_CPPv4N16AbstractAddrDockD0Ev", false]], "abstractdata (c++ class)": [[183, "_CPPv412AbstractData", false]], "abstractdata::copy (c++ function)": [[183, "_CPPv4N12AbstractData4copyEPv8uint64_t6size_t", false]], "abstractdata::fetch (c++ function)": [[183, "_CPPv4N12AbstractData5fetchE8uint64_ti", false]], "abstractdata::maxindex (c++ function)": [[183, "_CPPv4N12AbstractData8maxIndexEv", false]], "abstractdata::minindex (c++ function)": [[183, "_CPPv4N12AbstractData8minIndexEv", false]], "abstractdata::write (c++ function)": [[183, "_CPPv4N12AbstractData5writeEPK7uint8_t8uint64_t6size_t", false]], "abstractdata::~abstractdata (c++ function)": [[183, "_CPPv4N12AbstractDataD0Ev", false]], "addrdockscene (c++ class)": [[184, "_CPPv413AddrDockScene", false]], "addrdockscene::addrdockscene (c++ function)": [[184, "_CPPv4N13AddrDockScene13AddrDockSceneEP7QWidget", false]], "addrdockscene::disablecenteron (c++ member)": [[184, "_CPPv4N13AddrDockScene15disableCenterOnE", false]], "addrdockscene::nameaddrmap (c++ member)": [[184, "_CPPv4N13AddrDockScene11nameAddrMapE", false]], "addrdockscene::nameaddrsizemap (c++ member)": [[184, "_CPPv4N13AddrDockScene15nameAddrSizeMapE", false]], "addrdockscene::nameheightmap (c++ member)": [[184, "_CPPv4N13AddrDockScene13nameHeightMapE", false]], "addrdockscene::nameposymap (c++ member)": [[184, "_CPPv4N13AddrDockScene11namePosYMapE", false]], "addrdockscene::seekaddrmap (c++ member)": [[184, "_CPPv4N13AddrDockScene11seekAddrMapE", false]], "addrdockscene::seekaddrsizemap (c++ member)": [[184, "_CPPv4N13AddrDockScene15seekAddrSizeMapE", false]], "addrdockscene::~addrdockscene (c++ function)": [[184, "_CPPv4N13AddrDockSceneD0Ev", false]], "addressabledockwidget (c++ class)": [[185, "_CPPv421AddressableDockWidget", false]], "addressabledockwidget::addressabledockwidget (c++ function)": [[185, "_CPPv4N21AddressableDockWidget21AddressableDockWidgetEP10MainWindow", false]], "addressabledockwidget::deserializeviewproperties (c++ function)": [[185, "_CPPv4N21AddressableDockWidget25deserializeViewPropertiesERK11QVariantMap", false]], "addressabledockwidget::getseekable (c++ function)": [[185, "_CPPv4NK21AddressableDockWidget11getSeekableEv", false]], "addressabledockwidget::serializeviewproprties (c++ function)": [[185, "_CPPv4N21AddressableDockWidget22serializeViewProprtiesEv", false]], "addressabledockwidget::updatewindowtitle (c++ function)": [[185, "_CPPv4N21AddressableDockWidget17updateWindowTitleEv", false]], "addressabledockwidget::~addressabledockwidget (c++ function)": [[185, "_CPPv4N21AddressableDockWidgetD0Ev", false]], "addressablefilterproxymodel (c++ class)": [[1, "_CPPv427AddressableFilterProxyModel", false]], "addressablefilterproxymodel::address (c++ function)": [[1, "_CPPv4NK27AddressableFilterProxyModel7addressERK11QModelIndex", false]], "addressablefilterproxymodel::addressablefilterproxymodel (c++ function)": [[1, "_CPPv4N27AddressableFilterProxyModel27AddressableFilterProxyModelEP21AddressableItemModelIP7QObject", false]], "addressablefilterproxymodel::name (c++ function)": [[1, "_CPPv4NK27AddressableFilterProxyModel4nameERK11QModelIndex", false]], "addressablefilterproxymodel::setsourcemodel (c++ function)": [[1, "_CPPv4N27AddressableFilterProxyModel14setSourceModelEP21AddressableItemModelI", false]], "addressableitemcontextmenu (c++ class)": [[167, "_CPPv426AddressableItemContextMenu", false]], "addressableitemcontextmenu::addressableitemcontextmenu (c++ function)": [[167, "_CPPv4N26AddressableItemContextMenu26AddressableItemContextMenuEP7QWidgetP10MainWindow", false]], "addressableitemcontextmenu::cleartarget (c++ function)": [[167, "_CPPv4N26AddressableItemContextMenu11clearTargetEv", false]], "addressableitemcontextmenu::setoffset (c++ function)": [[167, "_CPPv4N26AddressableItemContextMenu9setOffsetE3RVA", false]], "addressableitemcontextmenu::settarget (c++ function)": [[167, "_CPPv4N26AddressableItemContextMenu9setTargetE3RVA7QString", false]], "addressableitemcontextmenu::setwholefunction (c++ function)": [[167, "_CPPv4N26AddressableItemContextMenu16setWholeFunctionEb", false]], "addressableitemcontextmenu::xrefstriggered (c++ function)": [[167, "_CPPv4N26AddressableItemContextMenu14xrefsTriggeredEv", false]], "addressableitemcontextmenu::~addressableitemcontextmenu (c++ function)": [[167, "_CPPv4N26AddressableItemContextMenuD0Ev", false]], "addressableitemlist (c++ class)": [[186, "_CPPv4I0E19AddressableItemList", false]], "addressableitemlist::addressableitemlist (c++ function)": [[186, "_CPPv4N19AddressableItemList19AddressableItemListEP7QWidget", false]], "addressableitemlist::getitemcontextmenu (c++ function)": [[186, "_CPPv4N19AddressableItemList18getItemContextMenuEv", false]], "addressableitemlist::setitemcontextmenu (c++ function)": [[186, "_CPPv4N19AddressableItemList18setItemContextMenuEP26AddressableItemContextMenu", false]], "addressableitemlist::setmainwindow (c++ function)": [[186, "_CPPv4N19AddressableItemList13setMainWindowEP10MainWindow", false]], "addressableitemlist::setmodel (c++ function)": [[186, "_CPPv4N19AddressableItemList8setModelEP21AddressableItemModelI", false]], "addressableitemlist::setshowitemcontextmenuwithoutaddress (c++ function)": [[186, "_CPPv4N19AddressableItemList36setShowItemContextMenuWithoutAddressEb", false]], "addressableitemmodel (c++ class)": [[2, "_CPPv4I0E20AddressableItemModel", false]], "addressableitemmodel::addressableitemmodel (c++ function)": [[2, "_CPPv4N20AddressableItemModel20AddressableItemModelEP7QObject", false]], "addressableitemmodel::asitemmodel (c++ function)": [[2, "_CPPv4N20AddressableItemModel11asItemModelEv", false]], "addressableitemmodel::~addressableitemmodel (c++ function)": [[2, "_CPPv4N20AddressableItemModelD0Ev", false]], "addressableitemmodeli (c++ class)": [[3, "_CPPv421AddressableItemModelI", false]], "addressableitemmodeli::address (c++ function)": [[3, "_CPPv4NK21AddressableItemModelI7addressERK11QModelIndex", false]], "addressableitemmodeli::asitemmodel (c++ function)": [[3, "_CPPv4N21AddressableItemModelI11asItemModelEv", false]], "addressableitemmodeli::name (c++ function)": [[3, "_CPPv4NK21AddressableItemModelI4nameERK11QModelIndex", false]], "addrrefs (c++ struct)": [[78, "_CPPv48AddrRefs", false]], "addrrefs::addr (c++ member)": [[78, "_CPPv4N8AddrRefs4addrE", false]], "addrrefs::asm_op (c++ member)": [[78, "_CPPv4N8AddrRefs6asm_opE", false]], "addrrefs::fcn (c++ member)": [[78, "_CPPv4N8AddrRefs3fcnE", false]], "addrrefs::has_value (c++ member)": [[78, "_CPPv4N8AddrRefs9has_valueE", false]], "addrrefs::mapname (c++ member)": [[78, "_CPPv4N8AddrRefs7mapnameE", false]], "addrrefs::perms (c++ member)": [[78, "_CPPv4N8AddrRefs5permsE", false]], "addrrefs::ref (c++ member)": [[78, "_CPPv4N8AddrRefs3refE", false]], "addrrefs::reg (c++ member)": [[78, "_CPPv4N8AddrRefs3regE", false]], "addrrefs::section (c++ member)": [[78, "_CPPv4N8AddrRefs7sectionE", false]], "addrrefs::string (c++ member)": [[78, "_CPPv4N8AddrRefs6stringE", false]], "addrrefs::type (c++ member)": [[78, "_CPPv4N8AddrRefs4typeE", false]], "addrrefs::value (c++ member)": [[78, "_CPPv4N8AddrRefs5valueE", false]], "analysisbaseclassdescription (c++ struct)": [[79, "_CPPv428AnalysisBaseClassDescription", false]], "analysisbaseclassdescription::classname (c++ member)": [[79, "_CPPv4N28AnalysisBaseClassDescription9classNameE", false]], "analysisbaseclassdescription::id (c++ member)": [[79, "_CPPv4N28AnalysisBaseClassDescription2idE", false]], "analysisbaseclassdescription::offset (c++ member)": [[79, "_CPPv4N28AnalysisBaseClassDescription6offsetE", false]], "analysisclassesmodel (c++ class)": [[187, "_CPPv420AnalysisClassesModel", false]], "analysisclassesmodel::analysisclassesmodel (c++ function)": [[187, "_CPPv4N20AnalysisClassesModel20AnalysisClassesModelEP16CutterDockWidget", false]], "analysisclassesmodel::attribute (c++ struct)": [[316, "_CPPv4N20AnalysisClassesModel9AttributeE", false]], "analysisclassesmodel::attribute::attribute (c++ function)": [[316, "_CPPv4N20AnalysisClassesModel9Attribute9AttributeE4TypeRK8QVariant", false], [316, "_CPPv4N20AnalysisClassesModel9Attribute9AttributeEv", false]], "analysisclassesmodel::attribute::data (c++ member)": [[316, "_CPPv4N20AnalysisClassesModel9Attribute4dataE", false]], "analysisclassesmodel::attribute::type (c++ enum)": [[316, "_CPPv4N20AnalysisClassesModel9Attribute4TypeE", false]], "analysisclassesmodel::attribute::type (c++ member)": [[316, "_CPPv4N20AnalysisClassesModel9Attribute4typeE", false]], "analysisclassesmodel::attribute::type::base (c++ enumerator)": [[316, "_CPPv4N20AnalysisClassesModel9Attribute4Type4BaseE", false]], "analysisclassesmodel::attribute::type::method (c++ enumerator)": [[316, "_CPPv4N20AnalysisClassesModel9Attribute4Type6MethodE", false]], "analysisclassesmodel::attribute::type::vtable (c++ enumerator)": [[316, "_CPPv4N20AnalysisClassesModel9Attribute4Type6VTableE", false]], "analysisclassesmodel::classattrschanged (c++ function)": [[187, "_CPPv4N20AnalysisClassesModel17classAttrsChangedERK7QString", false]], "analysisclassesmodel::classdeleted (c++ function)": [[187, "_CPPv4N20AnalysisClassesModel12classDeletedERK7QString", false]], "analysisclassesmodel::classnew (c++ function)": [[187, "_CPPv4N20AnalysisClassesModel8classNewERK7QString", false]], "analysisclassesmodel::classrenamed (c++ function)": [[187, "_CPPv4N20AnalysisClassesModel12classRenamedERK7QStringRK7QString", false]], "analysisclassesmodel::refreshall (c++ function)": [[187, "_CPPv4N20AnalysisClassesModel10refreshAllEv", false]], "analysismethoddescription (c++ struct)": [[80, "_CPPv425AnalysisMethodDescription", false]], "analysismethoddescription::addr (c++ member)": [[80, "_CPPv4N25AnalysisMethodDescription4addrE", false]], "analysismethoddescription::name (c++ member)": [[80, "_CPPv4N25AnalysisMethodDescription4nameE", false]], "analysismethoddescription::realname (c++ member)": [[80, "_CPPv4N25AnalysisMethodDescription8realNameE", false]], "analysismethoddescription::vtableoffset (c++ member)": [[80, "_CPPv4N25AnalysisMethodDescription12vtableOffsetE", false]], "analysistask (c++ class)": [[4, "_CPPv412AnalysisTask", false]], "analysistask::analysistask (c++ function)": [[4, "_CPPv4N12AnalysisTask12AnalysisTaskEv", false]], "analysistask::getopenfilefailed (c++ function)": [[4, "_CPPv4N12AnalysisTask17getOpenFileFailedEv", false]], "analysistask::gettitle (c++ function)": [[4, "_CPPv4N12AnalysisTask8getTitleEv", false]], "analysistask::interrupt (c++ function)": [[4, "_CPPv4N12AnalysisTask9interruptEv", false]], "analysistask::openfilefailed (c++ function)": [[4, "_CPPv4N12AnalysisTask14openFileFailedEv", false]], "analysistask::setoptions (c++ function)": [[4, "_CPPv4N12AnalysisTask10setOptionsERK14InitialOptions", false]], "analysistask::~analysistask (c++ function)": [[4, "_CPPv4N12AnalysisTaskD0Ev", false]], "analysisvtabledescription (c++ struct)": [[81, "_CPPv425AnalysisVTableDescription", false]], "analysisvtabledescription::addr (c++ member)": [[81, "_CPPv4N25AnalysisVTableDescription4addrE", false]], "analysisvtabledescription::id (c++ member)": [[81, "_CPPv4N25AnalysisVTableDescription2idE", false]], "analysisvtabledescription::offset (c++ member)": [[81, "_CPPv4N25AnalysisVTableDescription6offsetE", false]], "arena (c++ struct)": [[82, "_CPPv45Arena", false]], "arena::last_remainder (c++ member)": [[82, "_CPPv4N5Arena14last_remainderE", false]], "arena::max_system_mem (c++ member)": [[82, "_CPPv4N5Arena14max_system_memE", false]], "arena::next (c++ member)": [[82, "_CPPv4N5Arena4nextE", false]], "arena::next_free (c++ member)": [[82, "_CPPv4N5Arena9next_freeE", false]], "arena::offset (c++ member)": [[82, "_CPPv4N5Arena6offsetE", false]], "arena::system_mem (c++ member)": [[82, "_CPPv4N5Arena10system_memE", false]], "arena::top (c++ member)": [[82, "_CPPv4N5Arena3topE", false]], "arena::type (c++ member)": [[82, "_CPPv4N5Arena4typeE", false]], "arenainfodialog (c++ class)": [[126, "_CPPv415ArenaInfoDialog", false]], "arenainfodialog::arenainfodialog (c++ function)": [[126, "_CPPv4N15ArenaInfoDialog15ArenaInfoDialogER5ArenaP7QWidget", false]], "arenainfodialog::updatecontents (c++ function)": [[126, "_CPPv4N15ArenaInfoDialog14updateContentsEv", false]], "arenainfodialog::~arenainfodialog (c++ function)": [[126, "_CPPv4N15ArenaInfoDialogD0Ev", false]], "asynctask (c++ class)": [[5, "_CPPv49AsyncTask", false]], "asynctask::asynctask (c++ function)": [[5, "_CPPv4N9AsyncTask9AsyncTaskEv", false]], "asynctask::finished (c++ function)": [[5, "_CPPv4N9AsyncTask8finishedEv", false]], "asynctask::getelapsedtime (c++ function)": [[5, "_CPPv4N9AsyncTask14getElapsedTimeEv", false]], "asynctask::getlog (c++ function)": [[5, "_CPPv4N9AsyncTask6getLogEv", false]], "asynctask::gettimer (c++ function)": [[5, "_CPPv4N9AsyncTask8getTimerEv", false]], "asynctask::gettitle (c++ function)": [[5, "_CPPv4N9AsyncTask8getTitleEv", false]], "asynctask::interrupt (c++ function)": [[5, "_CPPv4N9AsyncTask9interruptEv", false]], "asynctask::isinterrupted (c++ function)": [[5, "_CPPv4N9AsyncTask13isInterruptedEv", false]], "asynctask::isrunning (c++ function)": [[5, "_CPPv4N9AsyncTask9isRunningEv", false]], "asynctask::logchanged (c++ function)": [[5, "_CPPv4N9AsyncTask10logChangedERK7QString", false]], "asynctask::ptr (c++ type)": [[5, "_CPPv4N9AsyncTask3PtrE", false]], "asynctask::run (c++ function)": [[5, "_CPPv4N9AsyncTask3runEv", false]], "asynctask::wait (c++ function)": [[5, "_CPPv4N9AsyncTask4waitEi", false], [5, "_CPPv4N9AsyncTask4waitEv", false]], "asynctask::~asynctask (c++ function)": [[5, "_CPPv4N9AsyncTaskD0Ev", false]], "asynctaskdialog (c++ class)": [[127, "_CPPv415AsyncTaskDialog", false]], "asynctaskdialog::asynctaskdialog (c++ function)": [[127, "_CPPv4N15AsyncTaskDialog15AsyncTaskDialogEN9AsyncTask3PtrEP7QWidget", false]], "asynctaskdialog::getinterruptonclose (c++ function)": [[127, "_CPPv4N15AsyncTaskDialog19getInterruptOnCloseEv", false]], "asynctaskdialog::reject (c++ function)": [[127, "_CPPv4N15AsyncTaskDialog6rejectEv", false]], "asynctaskdialog::setinterruptonclose (c++ function)": [[127, "_CPPv4N15AsyncTaskDialog19setInterruptOnCloseEb", false]], "asynctaskdialog::~asynctaskdialog (c++ function)": [[127, "_CPPv4N15AsyncTaskDialogD0Ev", false]], "asynctaskmanager (c++ class)": [[6, "_CPPv416AsyncTaskManager", false]], "asynctaskmanager::asynctaskmanager (c++ function)": [[6, "_CPPv4N16AsyncTaskManager16AsyncTaskManagerEP7QObject", false]], "asynctaskmanager::gettasksrunning (c++ function)": [[6, "_CPPv4N16AsyncTaskManager15getTasksRunningEv", false]], "asynctaskmanager::start (c++ function)": [[6, "_CPPv4N16AsyncTaskManager5startEN9AsyncTask3PtrE", false]], "asynctaskmanager::taskschanged (c++ function)": [[6, "_CPPv4N16AsyncTaskManager12tasksChangedEv", false]], "asynctaskmanager::~asynctaskmanager (c++ function)": [[6, "_CPPv4N16AsyncTaskManagerD0Ev", false]], "attachprocdialog (c++ class)": [[128, "_CPPv416AttachProcDialog", false]], "attachprocdialog::attachprocdialog (c++ function)": [[128, "_CPPv4N16AttachProcDialog16AttachProcDialogEP7QWidget", false]], "attachprocdialog::getpid (c++ function)": [[128, "_CPPv4N16AttachProcDialog6getPIDEv", false]], "attachprocdialog::~attachprocdialog (c++ function)": [[128, "_CPPv4N16AttachProcDialogD0Ev", false]], "backtracewidget (c++ class)": [[188, "_CPPv415BacktraceWidget", false]], "backtracewidget::backtracewidget (c++ function)": [[188, "_CPPv4N15BacktraceWidget15BacktraceWidgetEP10MainWindow", false]], "backtracewidget::~backtracewidget (c++ function)": [[188, "_CPPv4N15BacktraceWidgetD0Ev", false]], "base64endecodedwritedialog (c++ class)": [[129, "_CPPv426Base64EnDecodedWriteDialog", false]], "base64endecodedwritedialog::base64endecodedwritedialog (c++ function)": [[129, "_CPPv4N26Base64EnDecodedWriteDialog26Base64EnDecodedWriteDialogEP7QWidget", false]], "base64endecodedwritedialog::getdata (c++ function)": [[129, "_CPPv4NK26Base64EnDecodedWriteDialog7getDataEv", false]], "base64endecodedwritedialog::getmode (c++ function)": [[129, "_CPPv4NK26Base64EnDecodedWriteDialog7getModeEv", false]], "base64endecodedwritedialog::mode (c++ enum)": [[129, "_CPPv4N26Base64EnDecodedWriteDialog4ModeE", false]], "base64endecodedwritedialog::mode::decode (c++ enumerator)": [[129, "_CPPv4N26Base64EnDecodedWriteDialog4Mode6DecodeE", false]], "base64endecodedwritedialog::mode::encode (c++ enumerator)": [[129, "_CPPv4N26Base64EnDecodedWriteDialog4Mode6EncodeE", false]], "basefind (c++ class)": [[64, "_CPPv48Basefind", false]], "basefind::basefind (c++ function)": [[64, "_CPPv4N8Basefind8BasefindEP10CutterCore", false]], "basefind::cancel (c++ function)": [[64, "_CPPv4N8Basefind6cancelEv", false]], "basefind::complete (c++ function)": [[64, "_CPPv4N8Basefind8completeEv", false]], "basefind::progress (c++ function)": [[64, "_CPPv4N8Basefind8progressE29BasefindCoreStatusDescription", false]], "basefind::results (c++ function)": [[64, "_CPPv4N8Basefind7resultsEv", false]], "basefind::run (c++ function)": [[64, "_CPPv4N8Basefind3runEv", false]], "basefind::setoptions (c++ function)": [[64, "_CPPv4N8Basefind10setOptionsEPK13RzBaseFindOpt", false]], "basefind::~basefind (c++ function)": [[64, "_CPPv4N8BasefindD0Ev", false]], "basefindcorestatusdescription (c++ struct)": [[83, "_CPPv429BasefindCoreStatusDescription", false]], "basefindcorestatusdescription::index (c++ member)": [[83, "_CPPv4N29BasefindCoreStatusDescription5indexE", false]], "basefindcorestatusdescription::percentage (c++ member)": [[83, "_CPPv4N29BasefindCoreStatusDescription10percentageE", false]], "basefindresultdescription (c++ struct)": [[84, "_CPPv425BasefindResultDescription", false]], "basefindresultdescription::candidate (c++ member)": [[84, "_CPPv4N25BasefindResultDescription9candidateE", false]], "basefindresultdescription::score (c++ member)": [[84, "_CPPv4N25BasefindResultDescription5scoreE", false]], "basicblockhighlighter (c++ class)": [[7, "_CPPv421BasicBlockHighlighter", false]], "basicblockhighlighter::basicblock (c++ struct)": [[7, "_CPPv4N21BasicBlockHighlighter10BasicBlockE", false], [47, "_CPPv4N21BasicBlockHighlighter10BasicBlockE", false]], "basicblockhighlighter::basicblock::address (c++ member)": [[7, "_CPPv4N21BasicBlockHighlighter10BasicBlock7addressE", false], [47, "_CPPv4N21BasicBlockHighlighter10BasicBlock7addressE", false]], "basicblockhighlighter::basicblock::color (c++ member)": [[7, "_CPPv4N21BasicBlockHighlighter10BasicBlock5colorE", false], [47, "_CPPv4N21BasicBlockHighlighter10BasicBlock5colorE", false]], "basicblockhighlighter::basicblockhighlighter (c++ function)": [[7, "_CPPv4N21BasicBlockHighlighter21BasicBlockHighlighterEv", false]], "basicblockhighlighter::clear (c++ function)": [[7, "_CPPv4N21BasicBlockHighlighter5clearE3RVA", false]], "basicblockhighlighter::getbasicblock (c++ function)": [[7, "_CPPv4N21BasicBlockHighlighter13getBasicBlockE3RVA", false]], "basicblockhighlighter::highlight (c++ function)": [[7, "_CPPv4N21BasicBlockHighlighter9highlightE3RVARK6QColor", false]], "basiccursor (c++ struct)": [[317, "_CPPv411BasicCursor", false]], "basiccursor::address (c++ member)": [[317, "_CPPv4N11BasicCursor7addressE", false]], "basiccursor::basiccursor (c++ function)": [[317, "_CPPv4N11BasicCursor11BasicCursorE8uint64_t", false], [317, "_CPPv4N11BasicCursor11BasicCursorEv", false]], "basiccursor::movechecked (c++ function)": [[317, "_CPPv4N11BasicCursor11moveCheckedEi", false]], "basiccursor::operator+= (c++ function)": [[317, "_CPPv4N11BasicCursorpLE7int64_t", false], [317, "_CPPv4N11BasicCursorpLE8uint64_t", false], [317, "_CPPv4N11BasicCursorpLEi", false]], "basiccursor::operator< (c++ function)": [[317, "_CPPv4NK11BasicCursorltERK11BasicCursor", false]], "basiccursor::pastend (c++ member)": [[317, "_CPPv4N11BasicCursor7pastEndE", false]], "basicinstruction (c++ struct)": [[48, "_CPPv416BasicInstruction", false]], "basicinstruction::address (c++ member)": [[48, "_CPPv4N16BasicInstruction7addressE", false]], "basicinstruction::color (c++ member)": [[48, "_CPPv4N16BasicInstruction5colorE", false]], "basicinstruction::size (c++ member)": [[48, "_CPPv4N16BasicInstruction4sizeE", false]], "basicinstructionhighlighter (c++ class)": [[8, "_CPPv427BasicInstructionHighlighter", false]], "basicinstructionhighlighter::clear (c++ function)": [[8, "_CPPv4N27BasicInstructionHighlighter5clearE3RVA3RVA", false]], "basicinstructionhighlighter::getbasicinstruction (c++ function)": [[8, "_CPPv4N27BasicInstructionHighlighter19getBasicInstructionE3RVA", false]], "basicinstructionhighlighter::highlight (c++ function)": [[8, "_CPPv4N27BasicInstructionHighlighter9highlightE3RVA3RVA6QColor", false]], "binclassbaseclassdescription (c++ struct)": [[85, "_CPPv428BinClassBaseClassDescription", false]], "binclassbaseclassdescription::name (c++ member)": [[85, "_CPPv4N28BinClassBaseClassDescription4nameE", false]], "binclassbaseclassdescription::offset (c++ member)": [[85, "_CPPv4N28BinClassBaseClassDescription6offsetE", false]], "binclassdescription (c++ struct)": [[86, "_CPPv419BinClassDescription", false]], "binclassdescription::addr (c++ member)": [[86, "_CPPv4N19BinClassDescription4addrE", false]], "binclassdescription::baseclasses (c++ member)": [[86, "_CPPv4N19BinClassDescription11baseClassesE", false]], "binclassdescription::fields (c++ member)": [[86, "_CPPv4N19BinClassDescription6fieldsE", false]], "binclassdescription::methods (c++ member)": [[86, "_CPPv4N19BinClassDescription7methodsE", false]], "binclassdescription::name (c++ member)": [[86, "_CPPv4N19BinClassDescription4nameE", false]], "binclassdescription::vtableaddr (c++ member)": [[86, "_CPPv4N19BinClassDescription10vtableAddrE", false]], "binclassesmodel (c++ class)": [[189, "_CPPv415BinClassesModel", false]], "binclassesmodel::binclassesmodel (c++ function)": [[189, "_CPPv4N15BinClassesModel15BinClassesModelEP7QObject", false]], "binclassesmodel::setclasses (c++ function)": [[189, "_CPPv4N15BinClassesModel10setClassesERK5QListI19BinClassDescriptionE", false]], "binclassfielddescription (c++ struct)": [[87, "_CPPv424BinClassFieldDescription", false]], "binclassfielddescription::addr (c++ member)": [[87, "_CPPv4N24BinClassFieldDescription4addrE", false]], "binclassfielddescription::name (c++ member)": [[87, "_CPPv4N24BinClassFieldDescription4nameE", false]], "binclassmethoddescription (c++ struct)": [[88, "_CPPv425BinClassMethodDescription", false]], "binclassmethoddescription::addr (c++ member)": [[88, "_CPPv4N25BinClassMethodDescription4addrE", false]], "binclassmethoddescription::name (c++ member)": [[88, "_CPPv4N25BinClassMethodDescription4nameE", false]], "binclassmethoddescription::vtableoffset (c++ member)": [[88, "_CPPv4N25BinClassMethodDescription12vtableOffsetE", false]], "binsmodel (c++ class)": [[130, "_CPPv49BinsModel", false]], "binsmodel::arena_addr (c++ member)": [[130, "_CPPv4N9BinsModel10arena_addrE", false]], "binsmodel::binsmodel (c++ function)": [[130, "_CPPv4N9BinsModel9BinsModelE3RVAP7QObject", false]], "binsmodel::cleardata (c++ function)": [[130, "_CPPv4N9BinsModel9clearDataEv", false]], "binsmodel::column (c++ enum)": [[130, "_CPPv4N9BinsModel6ColumnE", false]], "binsmodel::column::binnumcolumn (c++ enumerator)": [[130, "_CPPv4N9BinsModel6Column12BinNumColumnE", false]], "binsmodel::column::bkcolumn (c++ enumerator)": [[130, "_CPPv4N9BinsModel6Column8BkColumnE", false]], "binsmodel::column::columncount (c++ enumerator)": [[130, "_CPPv4N9BinsModel6Column11ColumnCountE", false]], "binsmodel::column::countcolumn (c++ enumerator)": [[130, "_CPPv4N9BinsModel6Column11CountColumnE", false]], "binsmodel::column::fdcolumn (c++ enumerator)": [[130, "_CPPv4N9BinsModel6Column8FdColumnE", false]], "binsmodel::column::sizecolumn (c++ enumerator)": [[130, "_CPPv4N9BinsModel6Column10SizeColumnE", false]], "binsmodel::column::typecolumn (c++ enumerator)": [[130, "_CPPv4N9BinsModel6Column10TypeColumnE", false]], "binsmodel::columncount (c++ function)": [[130, "_CPPv4NK9BinsModel11columnCountERK11QModelIndex", false]], "binsmodel::data (c++ function)": [[130, "_CPPv4NK9BinsModel4dataERK11QModelIndexi", false]], "binsmodel::getbinmessage (c++ function)": [[130, "_CPPv4N9BinsModel13getBinMessageEi", false]], "binsmodel::getchunks (c++ function)": [[130, "_CPPv4N9BinsModel9getChunksEi", false]], "binsmodel::headerdata (c++ function)": [[130, "_CPPv4NK9BinsModel10headerDataEiN2Qt11OrientationEi", false]], "binsmodel::reload (c++ function)": [[130, "_CPPv4N9BinsModel6reloadEv", false]], "binsmodel::rowcount (c++ function)": [[130, "_CPPv4NK9BinsModel8rowCountERK11QModelIndex", false]], "binsmodel::values (c++ member)": [[130, "_CPPv4N9BinsModel6valuesE", false]], "blockdescription (c++ struct)": [[89, "_CPPv416BlockDescription", false]], "blockdescription::addr (c++ member)": [[89, "_CPPv4N16BlockDescription4addrE", false]], "blockdescription::comments (c++ member)": [[89, "_CPPv4N16BlockDescription8commentsE", false]], "blockdescription::flags (c++ member)": [[89, "_CPPv4N16BlockDescription5flagsE", false]], "blockdescription::functions (c++ member)": [[89, "_CPPv4N16BlockDescription9functionsE", false]], "blockdescription::infunctions (c++ member)": [[89, "_CPPv4N16BlockDescription11inFunctionsE", false]], "blockdescription::rwx (c++ member)": [[89, "_CPPv4N16BlockDescription3rwxE", false]], "blockdescription::size (c++ member)": [[89, "_CPPv4N16BlockDescription4sizeE", false]], "blockdescription::strings (c++ member)": [[89, "_CPPv4N16BlockDescription7stringsE", false]], "blockdescription::symbols (c++ member)": [[89, "_CPPv4N16BlockDescription7symbolsE", false]], "blockstatistics (c++ struct)": [[90, "_CPPv415BlockStatistics", false]], "blockstatistics::blocks (c++ member)": [[90, "_CPPv4N15BlockStatistics6blocksE", false]], "blockstatistics::blocksize (c++ member)": [[90, "_CPPv4N15BlockStatistics9blocksizeE", false]], "blockstatistics::from (c++ member)": [[90, "_CPPv4N15BlockStatistics4fromE", false]], "blockstatistics::to (c++ member)": [[90, "_CPPv4N15BlockStatistics2toE", false]], "booltogggledelegate (c++ class)": [[190, "_CPPv419BoolTogggleDelegate", false]], "booltogggledelegate::booltogggledelegate (c++ function)": [[190, "_CPPv4N19BoolTogggleDelegate19BoolTogggleDelegateEP7QObject", false]], "booltogggledelegate::createeditor (c++ function)": [[190, "_CPPv4NK19BoolTogggleDelegate12createEditorEP7QWidgetRK20QStyleOptionViewItemRK11QModelIndex", false]], "booltogggledelegate::editorevent (c++ function)": [[190, "_CPPv4N19BoolTogggleDelegate11editorEventEP6QEventP18QAbstractItemModelRK20QStyleOptionViewItemRK11QModelIndex", false]], "breakpointdescription (c++ struct)": [[91, "_CPPv421BreakpointDescription", false]], "breakpointdescription::addr (c++ member)": [[91, "_CPPv4N21BreakpointDescription4addrE", false]], "breakpointdescription::command (c++ member)": [[91, "_CPPv4N21BreakpointDescription7commandE", false]], "breakpointdescription::condition (c++ member)": [[91, "_CPPv4N21BreakpointDescription9conditionE", false]], "breakpointdescription::enabled (c++ member)": [[91, "_CPPv4N21BreakpointDescription7enabledE", false]], "breakpointdescription::hw (c++ member)": [[91, "_CPPv4N21BreakpointDescription2hwE", false]], "breakpointdescription::index (c++ member)": [[91, "_CPPv4N21BreakpointDescription5indexE", false]], "breakpointdescription::moduledelta (c++ member)": [[91, "_CPPv4N21BreakpointDescription11moduleDeltaE", false]], "breakpointdescription::name (c++ member)": [[91, "_CPPv4N21BreakpointDescription4nameE", false]], "breakpointdescription::permission (c++ member)": [[91, "_CPPv4N21BreakpointDescription10permissionE", false]], "breakpointdescription::positionexpression (c++ member)": [[91, "_CPPv4N21BreakpointDescription18positionExpressionE", false]], "breakpointdescription::positiontype (c++ enum)": [[91, "_CPPv4N21BreakpointDescription12PositionTypeE", false]], "breakpointdescription::positiontype::address (c++ enumerator)": [[91, "_CPPv4N21BreakpointDescription12PositionType7AddressE", false]], "breakpointdescription::positiontype::module (c++ enumerator)": [[91, "_CPPv4N21BreakpointDescription12PositionType6ModuleE", false]], "breakpointdescription::positiontype::named (c++ enumerator)": [[91, "_CPPv4N21BreakpointDescription12PositionType5NamedE", false]], "breakpointdescription::size (c++ member)": [[91, "_CPPv4N21BreakpointDescription4sizeE", false]], "breakpointdescription::trace (c++ member)": [[91, "_CPPv4N21BreakpointDescription5traceE", false]], "breakpointdescription::type (c++ member)": [[91, "_CPPv4N21BreakpointDescription4typeE", false]], "breakpointmodel (c++ class)": [[191, "_CPPv415BreakpointModel", false]], "breakpointmodel::address (c++ function)": [[191, "_CPPv4NK15BreakpointModel7addressERK11QModelIndex", false]], "breakpointmodel::breakpointmodel (c++ function)": [[191, "_CPPv4N15BreakpointModel15BreakpointModelEP7QObject", false]], "breakpointmodel::column (c++ enum)": [[191, "_CPPv4N15BreakpointModel6ColumnE", false]], "breakpointmodel::column::addrcolumn (c++ enumerator)": [[191, "_CPPv4N15BreakpointModel6Column10AddrColumnE", false]], "breakpointmodel::column::columncount (c++ enumerator)": [[191, "_CPPv4N15BreakpointModel6Column11ColumnCountE", false]], "breakpointmodel::column::commentcolumn (c++ enumerator)": [[191, "_CPPv4N15BreakpointModel6Column13CommentColumnE", false]], "breakpointmodel::column::enabledcolumn (c++ enumerator)": [[191, "_CPPv4N15BreakpointModel6Column13EnabledColumnE", false]], "breakpointmodel::column::namecolumn (c++ enumerator)": [[191, "_CPPv4N15BreakpointModel6Column10NameColumnE", false]], "breakpointmodel::column::tracecolumn (c++ enumerator)": [[191, "_CPPv4N15BreakpointModel6Column11TraceColumnE", false]], "breakpointmodel::column::typecolumn (c++ enumerator)": [[191, "_CPPv4N15BreakpointModel6Column10TypeColumnE", false]], "breakpointmodel::columncount (c++ function)": [[191, "_CPPv4NK15BreakpointModel11columnCountERK11QModelIndex", false]], "breakpointmodel::data (c++ function)": [[191, "_CPPv4NK15BreakpointModel4dataERK11QModelIndexi", false]], "breakpointmodel::flags (c++ function)": [[191, "_CPPv4NK15BreakpointModel5flagsERK11QModelIndex", false]], "breakpointmodel::headerdata (c++ function)": [[191, "_CPPv4NK15BreakpointModel10headerDataEiN2Qt11OrientationEi", false]], "breakpointmodel::refresh (c++ function)": [[191, "_CPPv4N15BreakpointModel7refreshEv", false]], "breakpointmodel::role (c++ enum)": [[191, "_CPPv4N15BreakpointModel4RoleE", false]], "breakpointmodel::role::breakpointdescriptionrole (c++ enumerator)": [[191, "_CPPv4N15BreakpointModel4Role25BreakpointDescriptionRoleE", false]], "breakpointmodel::rowcount (c++ function)": [[191, "_CPPv4NK15BreakpointModel8rowCountERK11QModelIndex", false]], "breakpointmodel::setdata (c++ function)": [[191, "_CPPv4N15BreakpointModel7setDataERK11QModelIndexRK8QVarianti", false]], "breakpointproxymodel (c++ class)": [[192, "_CPPv420BreakpointProxyModel", false]], "breakpointproxymodel::breakpointproxymodel (c++ function)": [[192, "_CPPv4N20BreakpointProxyModel20BreakpointProxyModelEP15BreakpointModelP7QObject", false]], "breakpointsdialog (c++ class)": [[131, "_CPPv417BreakpointsDialog", false]], "breakpointsdialog::breakpointsdialog (c++ function)": [[131, "_CPPv4N17BreakpointsDialog17BreakpointsDialogE3RVAP7QWidget", false], [131, "_CPPv4N17BreakpointsDialog17BreakpointsDialogERK21BreakpointDescriptionP7QWidget", false], [131, "_CPPv4N17BreakpointsDialog17BreakpointsDialogEbP7QWidget", false]], "breakpointsdialog::createnewbreakpoint (c++ function)": [[131, "_CPPv4N17BreakpointsDialog19createNewBreakpointE3RVAP7QWidget", false]], "breakpointsdialog::editbreakpoint (c++ function)": [[131, "_CPPv4N17BreakpointsDialog14editBreakpointERK21BreakpointDescriptionP7QWidget", false]], "breakpointsdialog::getdescription (c++ function)": [[131, "_CPPv4N17BreakpointsDialog14getDescriptionEv", false]], "breakpointsdialog::~breakpointsdialog (c++ function)": [[131, "_CPPv4N17BreakpointsDialogD0Ev", false]], "breakpointwidget (c++ class)": [[193, "_CPPv416BreakpointWidget", false]], "breakpointwidget::breakpointwidget (c++ function)": [[193, "_CPPv4N16BreakpointWidget16BreakpointWidgetEP10MainWindow", false]], "breakpointwidget::~breakpointwidget (c++ function)": [[193, "_CPPv4N16BreakpointWidgetD0Ev", false]], "bufferdata (c++ class)": [[194, "_CPPv410BufferData", false]], "bufferdata::bufferdata (c++ function)": [[194, "_CPPv4N10BufferData10BufferDataERK10QByteArray", false], [194, "_CPPv4N10BufferData10BufferDataEv", false]], "bufferdata::copy (c++ function)": [[194, "_CPPv4N10BufferData4copyEPv8uint64_t6size_t", false]], "bufferdata::fetch (c++ function)": [[194, "_CPPv4N10BufferData5fetchE8uint64_ti", false]], "bufferdata::maxindex (c++ function)": [[194, "_CPPv4N10BufferData8maxIndexEv", false]], "bufferdata::write (c++ function)": [[194, "_CPPv4N10BufferData5writeEPK7uint8_t8uint64_t6size_t", false]], "bufferdata::~bufferdata (c++ function)": [[194, "_CPPv4N10BufferDataD0Ev", false]], "cachedfontmetrics (c++ class)": [[9, "_CPPv4I0E17CachedFontMetrics", false]], "cachedfontmetrics::cachedfontmetrics (c++ function)": [[9, "_CPPv4N17CachedFontMetrics17CachedFontMetricsERK5QFont", false]], "cachedfontmetrics::height (c++ function)": [[9, "_CPPv4N17CachedFontMetrics6heightEv", false]], "cachedfontmetrics::position (c++ function)": [[9, "_CPPv4N17CachedFontMetrics8positionERK7QString1T", false]], "cachedfontmetrics::width (c++ function)": [[9, "_CPPv4N17CachedFontMetrics5widthERK5QChar", false], [9, "_CPPv4N17CachedFontMetrics5widthERK7QString", false]], "callgraphview (c++ class)": [[195, "_CPPv413CallGraphView", false]], "callgraphview::callgraphview (c++ function)": [[195, "_CPPv4N13CallGraphView13CallGraphViewEP16CutterDockWidgetP10MainWindowb", false]], "callgraphview::refreshview (c++ function)": [[195, "_CPPv4N13CallGraphView11refreshViewEv", false]], "callgraphview::showaddress (c++ function)": [[195, "_CPPv4N13CallGraphView11showAddressE3RVA", false]], "callgraphview::showexportdialog (c++ function)": [[195, "_CPPv4N13CallGraphView16showExportDialogEv", false]], "callgraphwidget (c++ class)": [[196, "_CPPv415CallGraphWidget", false]], "callgraphwidget::callgraphwidget (c++ function)": [[196, "_CPPv4N15CallGraphWidget15CallGraphWidgetEP10MainWindowb", false]], "callgraphwidget::getwidgettype (c++ function)": [[196, "_CPPv4NK15CallGraphWidget13getWidgetTypeEv", false]], "callgraphwidget::~callgraphwidget (c++ function)": [[196, "_CPPv4N15CallGraphWidgetD0Ev", false]], "chunk (c++ struct)": [[92, "_CPPv45Chunk", false]], "chunk::offset (c++ member)": [[92, "_CPPv4N5Chunk6offsetE", false]], "chunk::size (c++ member)": [[92, "_CPPv4N5Chunk4sizeE", false]], "chunk::status (c++ member)": [[92, "_CPPv4N5Chunk6statusE", false]], "classesmodel (c++ class)": [[197, "_CPPv412ClassesModel", false]], "classesmodel::address (c++ function)": [[197, "_CPPv4NK12ClassesModel7addressERK11QModelIndex", false]], "classesmodel::classesmodel (c++ function)": [[197, "_CPPv4N12ClassesModel12ClassesModelEP7QObject", false]], "classesmodel::columns (c++ enum)": [[197, "_CPPv4N12ClassesModel7ColumnsE", false]], "classesmodel::columns::count (c++ enumerator)": [[197, "_CPPv4N12ClassesModel7Columns5COUNTE", false]], "classesmodel::columns::name (c++ enumerator)": [[197, "_CPPv4N12ClassesModel7Columns4NAMEE", false]], "classesmodel::columns::offset (c++ enumerator)": [[197, "_CPPv4N12ClassesModel7Columns6OFFSETE", false]], "classesmodel::columns::real_name (c++ enumerator)": [[197, "_CPPv4N12ClassesModel7Columns9REAL_NAMEE", false]], "classesmodel::columns::type (c++ enumerator)": [[197, "_CPPv4N12ClassesModel7Columns4TYPEE", false]], "classesmodel::columns::vtable (c++ enumerator)": [[197, "_CPPv4N12ClassesModel7Columns6VTABLEE", false]], "classesmodel::headerdata (c++ function)": [[197, "_CPPv4NK12ClassesModel10headerDataEiN2Qt11OrientationEi", false]], "classesmodel::name (c++ function)": [[197, "_CPPv4NK12ClassesModel4nameERK11QModelIndex", false]], "classesmodel::namerole (c++ member)": [[197, "_CPPv4N12ClassesModel8NameRoleE", false]], "classesmodel::offsetrole (c++ member)": [[197, "_CPPv4N12ClassesModel10OffsetRoleE", false]], "classesmodel::realnamerole (c++ member)": [[197, "_CPPv4N12ClassesModel12RealNameRoleE", false]], "classesmodel::rowtype (c++ enum)": [[197, "_CPPv4N12ClassesModel7RowTypeE", false]], "classesmodel::rowtype::base (c++ enumerator)": [[197, "_CPPv4N12ClassesModel7RowType4BaseE", false]], "classesmodel::rowtype::class (c++ enumerator)": [[197, "_CPPv4N12ClassesModel7RowType5ClassE", false]], "classesmodel::rowtype::field (c++ enumerator)": [[197, "_CPPv4N12ClassesModel7RowType5FieldE", false]], "classesmodel::rowtype::method (c++ enumerator)": [[197, "_CPPv4N12ClassesModel7RowType6MethodE", false]], "classesmodel::rowtype::vtable (c++ enumerator)": [[197, "_CPPv4N12ClassesModel7RowType6VTableE", false]], "classesmodel::typerole (c++ member)": [[197, "_CPPv4N12ClassesModel8TypeRoleE", false]], "classesmodel::vtablerole (c++ member)": [[197, "_CPPv4N12ClassesModel10VTableRoleE", false]], "classessortfilterproxymodel (c++ class)": [[198, "_CPPv427ClassesSortFilterProxyModel", false]], "classessortfilterproxymodel::classessortfilterproxymodel (c++ function)": [[198, "_CPPv4N27ClassesSortFilterProxyModel27ClassesSortFilterProxyModelEP7QObject", false]], "classeswidget (c++ class)": [[199, "_CPPv413ClassesWidget", false]], "classeswidget::classeswidget (c++ function)": [[199, "_CPPv4N13ClassesWidget13ClassesWidgetEP10MainWindow", false]], "classeswidget::~classeswidget (c++ function)": [[199, "_CPPv4N13ClassesWidgetD0Ev", false]], "coloroption (c++ struct)": [[318, "_CPPv411ColorOption", false]], "coloroption::changed (c++ member)": [[318, "_CPPv4N11ColorOption7changedE", false]], "coloroption::color (c++ member)": [[318, "_CPPv4N11ColorOption5colorE", false]], "coloroption::optionname (c++ member)": [[318, "_CPPv4N11ColorOption10optionNameE", false]], "coloroptiondelegate (c++ class)": [[200, "_CPPv419ColorOptionDelegate", false]], "coloroptiondelegate::coloroptiondelegate (c++ function)": [[200, "_CPPv4N19ColorOptionDelegate19ColorOptionDelegateEP7QObject", false]], "coloroptiondelegate::getresetbuttonrect (c++ function)": [[200, "_CPPv4NK19ColorOptionDelegate18getResetButtonRectEv", false]], "coloroptiondelegate::paint (c++ function)": [[200, "_CPPv4NK19ColorOptionDelegate5paintEP8QPainterRK20QStyleOptionViewItemRK11QModelIndex", false]], "coloroptiondelegate::sizehint (c++ function)": [[200, "_CPPv4NK19ColorOptionDelegate8sizeHintERK20QStyleOptionViewItemRK11QModelIndex", false]], "coloroptiondelegate::~coloroptiondelegate (c++ function)": [[200, "_CPPv4N19ColorOptionDelegateD0Ev", false]], "colorpicker (c++ class)": [[201, "_CPPv411ColorPicker", false]], "colorpicker::colorchannelchanged (c++ function)": [[201, "_CPPv4N11ColorPicker19colorChannelChangedEv", false]], "colorpicker::colorpicker (c++ function)": [[201, "_CPPv4N11ColorPicker11ColorPickerEP7QWidget", false]], "colorpicker::ispickingfromscreen (c++ function)": [[201, "_CPPv4NK11ColorPicker19isPickingFromScreenEv", false]], "colorpicker::setalphaenabled (c++ function)": [[201, "_CPPv4N11ColorPicker15setAlphaEnabledEb", false]], "colorpicker::setcolor (c++ function)": [[201, "_CPPv4N11ColorPicker8setColorERK6QColor", false]], "colorpicker::startpickingfromscreen (c++ function)": [[201, "_CPPv4N11ColorPicker22startPickingFromScreenEv", false]], "colorpicker::stoppickingfromscreen (c++ function)": [[201, "_CPPv4N11ColorPicker21stopPickingFromScreenEv", false]], "colorpicker::updatecolor (c++ function)": [[201, "_CPPv4N11ColorPicker11updateColorERK6QColor", false]], "colorpicker::~colorpicker (c++ function)": [[201, "_CPPv4N11ColorPickerD0Ev", false]], "colorpickerhelpers::alphachannelbar (c++ class)": [[202, "_CPPv4N18ColorPickerHelpers15AlphaChannelBarE", false]], "colorpickerhelpers::alphachannelbar::alphachannelbar (c++ function)": [[202, "_CPPv4N18ColorPickerHelpers15AlphaChannelBar15AlphaChannelBarEP7QWidget", false]], "colorpickerhelpers::alphachannelbar::setcolor (c++ function)": [[202, "_CPPv4N18ColorPickerHelpers15AlphaChannelBar8setColorERK6QColor", false]], "colorpickerhelpers::colorpickarea (c++ class)": [[203, "_CPPv4N18ColorPickerHelpers13ColorPickAreaE", false]], "colorpickerhelpers::colorpickarea::colorpickarea (c++ function)": [[203, "_CPPv4N18ColorPickerHelpers13ColorPickArea13ColorPickAreaEP7QWidget", false]], "colorpickerhelpers::colorpickarea::setcolor (c++ function)": [[203, "_CPPv4N18ColorPickerHelpers13ColorPickArea8setColorERK6QColor", false]], "colorpickerhelpers::colorpickerwidget (c++ class)": [[205, "_CPPv4N18ColorPickerHelpers17ColorPickerWidgetE", false]], "colorpickerhelpers::colorpickerwidget::colorpickerwidget (c++ function)": [[205, "_CPPv4N18ColorPickerHelpers17ColorPickerWidget17ColorPickerWidgetEP7QWidget", false]], "colorpickerhelpers::colorpickwidgetabstract (c++ class)": [[204, "_CPPv4N18ColorPickerHelpers23ColorPickWidgetAbstractE", false]], "colorpickerhelpers::colorpickwidgetabstract::colorchanged (c++ function)": [[204, "_CPPv4N18ColorPickerHelpers23ColorPickWidgetAbstract12colorChangedERK6QColor", false]], "colorpickerhelpers::colorpickwidgetabstract::colorpickwidgetabstract (c++ function)": [[204, "_CPPv4N18ColorPickerHelpers23ColorPickWidgetAbstract23ColorPickWidgetAbstractEP7QWidget", false]], "colorpickerhelpers::colorpickwidgetabstract::setcolor (c++ function)": [[204, "_CPPv4N18ColorPickerHelpers23ColorPickWidgetAbstract8setColorERK6QColor", false]], "colorpickerhelpers::colorpickwidgetabstract::~colorpickwidgetabstract (c++ function)": [[204, "_CPPv4N18ColorPickerHelpers23ColorPickWidgetAbstractD0Ev", false]], "colorpickerhelpers::colorshowwidget (c++ class)": [[206, "_CPPv4N18ColorPickerHelpers15ColorShowWidgetE", false]], "colorpickerhelpers::colorshowwidget::colorshowwidget (c++ function)": [[206, "_CPPv4N18ColorPickerHelpers15ColorShowWidget15ColorShowWidgetEP7QWidget", false]], "colorpickerhelpers::colorshowwidget::setcolor (c++ function)": [[206, "_CPPv4N18ColorPickerHelpers15ColorShowWidget8setColorERK6QColor", false]], "colorpickerhelpers::colorvaluebar (c++ class)": [[207, "_CPPv4N18ColorPickerHelpers13ColorValueBarE", false]], "colorpickerhelpers::colorvaluebar::colorvaluebar (c++ function)": [[207, "_CPPv4N18ColorPickerHelpers13ColorValueBar13ColorValueBarEP7QWidget", false]], "colorpickerhelpers::colorvaluebar::setcolor (c++ function)": [[207, "_CPPv4N18ColorPickerHelpers13ColorValueBar8setColorERK6QColor", false]], "colors (c++ class)": [[11, "_CPPv46Colors", false]], "colors::colorizeassembly (c++ function)": [[11, "_CPPv4N6Colors16colorizeAssemblyERN15RichTextPainter4ListE7QString4ut64", false]], "colors::colors (c++ function)": [[11, "_CPPv4N6Colors6ColorsEv", false]], "colors::getcolor (c++ function)": [[11, "_CPPv4N6Colors8getColorE4ut64", false]], "colorsettingsmodel (c++ class)": [[208, "_CPPv418ColorSettingsModel", false]], "colorsettingsmodel::colorsettingsmodel (c++ function)": [[208, "_CPPv4N18ColorSettingsModel18ColorSettingsModelEP7QObject", false]], "colorsettingsmodel::data (c++ function)": [[208, "_CPPv4NK18ColorSettingsModel4dataERK11QModelIndexi", false]], "colorsettingsmodel::gettheme (c++ function)": [[208, "_CPPv4NK18ColorSettingsModel8getThemeEv", false]], "colorsettingsmodel::rowcount (c++ function)": [[208, "_CPPv4NK18ColorSettingsModel8rowCountERK11QModelIndex", false]], "colorsettingsmodel::setdata (c++ function)": [[208, "_CPPv4N18ColorSettingsModel7setDataERK11QModelIndexRK8QVarianti", false]], "colorsettingsmodel::updatetheme (c++ function)": [[208, "_CPPv4N18ColorSettingsModel11updateThemeEv", false]], "colorsettingsmodel::~colorsettingsmodel (c++ function)": [[208, "_CPPv4N18ColorSettingsModelD0Ev", false]], "colorthemecombobox (c++ class)": [[209, "_CPPv418ColorThemeComboBox", false]], "colorthemecombobox::colorthemecombobox (c++ function)": [[209, "_CPPv4N18ColorThemeComboBox18ColorThemeComboBoxEP7QWidget", false]], "colorthemecombobox::setshowonlycustom (c++ function)": [[209, "_CPPv4N18ColorThemeComboBox17setShowOnlyCustomEb", false]], "colorthemecombobox::updatefromconfig (c++ function)": [[209, "_CPPv4N18ColorThemeComboBox16updateFromConfigEb", false]], "colorthemelistview (c++ class)": [[210, "_CPPv418ColorThemeListView", false]], "colorthemelistview::blink (c++ function)": [[210, "_CPPv4N18ColorThemeListView5blinkEv", false]], "colorthemelistview::colorsettingsmodel (c++ function)": [[210, "_CPPv4NK18ColorThemeListView18colorSettingsModelEv", false]], "colorthemelistview::colorthemelistview (c++ function)": [[210, "_CPPv4N18ColorThemeListView18ColorThemeListViewEP7QWidget", false]], "colorthemelistview::datachanged (c++ function)": [[210, "_CPPv4N18ColorThemeListView11dataChangedERK11ColorOption", false]], "colorthemelistview::itemchanged (c++ function)": [[210, "_CPPv4N18ColorThemeListView11itemChangedERK6QColor", false]], "colorthemelistview::~colorthemelistview (c++ function)": [[210, "_CPPv4N18ColorThemeListViewD0Ev", false]], "colorthemeworker (c++ class)": [[10, "_CPPv416ColorThemeWorker", false]], "colorthemeworker::copy (c++ function)": [[10, "_CPPv4NK16ColorThemeWorker4copyERK7QStringRK7QString", false]], "colorthemeworker::customthemes (c++ function)": [[10, "_CPPv4NK16ColorThemeWorker12customThemesEv", false]], "colorthemeworker::cutterspecificoptions (c++ member)": [[10, "_CPPv4N16ColorThemeWorker21cutterSpecificOptionsE", false]], "colorthemeworker::deletetheme (c++ function)": [[10, "_CPPv4NK16ColorThemeWorker11deleteThemeERK7QString", false]], "colorthemeworker::getcustomthemespath (c++ function)": [[10, "_CPPv4N16ColorThemeWorker19getCustomThemesPathEv", false]], "colorthemeworker::getrizinspecificoptions (c++ function)": [[10, "_CPPv4N16ColorThemeWorker23getRizinSpecificOptionsEv", false]], "colorthemeworker::getstandardthemespath (c++ function)": [[10, "_CPPv4N16ColorThemeWorker21getStandardThemesPathEv", false]], "colorthemeworker::gettheme (c++ function)": [[10, "_CPPv4NK16ColorThemeWorker8getThemeERK7QString", false]], "colorthemeworker::importtheme (c++ function)": [[10, "_CPPv4NK16ColorThemeWorker11importThemeERK7QString", false]], "colorthemeworker::instance (c++ function)": [[10, "_CPPv4N16ColorThemeWorker8instanceEv", false]], "colorthemeworker::iscustomtheme (c++ function)": [[10, "_CPPv4NK16ColorThemeWorker13isCustomThemeERK7QString", false]], "colorthemeworker::isfiletheme (c++ function)": [[10, "_CPPv4NK16ColorThemeWorker11isFileThemeERK7QStringPb", false]], "colorthemeworker::isthemeexist (c++ function)": [[10, "_CPPv4NK16ColorThemeWorker12isThemeExistERK7QString", false]], "colorthemeworker::renametheme (c++ function)": [[10, "_CPPv4NK16ColorThemeWorker11renameThemeERK7QStringRK7QString", false]], "colorthemeworker::rizinunusedoptions (c++ member)": [[10, "_CPPv4N16ColorThemeWorker18rizinUnusedOptionsE", false]], "colorthemeworker::save (c++ function)": [[10, "_CPPv4NK16ColorThemeWorker4saveERK5ThemeRK7QString", false]], "colorthemeworker::theme (c++ type)": [[10, "_CPPv4N16ColorThemeWorker5ThemeE", false]], "colorthemeworker::~colorthemeworker (c++ function)": [[10, "_CPPv4N16ColorThemeWorkerD0Ev", false]], "comboquickfilterview (c++ class)": [[211, "_CPPv420ComboQuickFilterView", false]], "comboquickfilterview::clearfilter (c++ function)": [[211, "_CPPv4N20ComboQuickFilterView11clearFilterEv", false]], "comboquickfilterview::closefilter (c++ function)": [[211, "_CPPv4N20ComboQuickFilterView11closeFilterEv", false]], "comboquickfilterview::combobox (c++ function)": [[211, "_CPPv4N20ComboQuickFilterView8comboBoxEv", false]], "comboquickfilterview::comboquickfilterview (c++ function)": [[211, "_CPPv4N20ComboQuickFilterView20ComboQuickFilterViewEP7QWidget", false]], "comboquickfilterview::filterclosed (c++ function)": [[211, "_CPPv4N20ComboQuickFilterView12filterClosedEv", false]], "comboquickfilterview::filtertextchanged (c++ function)": [[211, "_CPPv4N20ComboQuickFilterView17filterTextChangedERK7QString", false]], "comboquickfilterview::setlabeltext (c++ function)": [[211, "_CPPv4N20ComboQuickFilterView12setLabelTextERK7QString", false]], "comboquickfilterview::showfilter (c++ function)": [[211, "_CPPv4N20ComboQuickFilterView10showFilterEv", false]], "comboquickfilterview::~comboquickfilterview (c++ function)": [[211, "_CPPv4N20ComboQuickFilterViewD0Ev", false]], "command line option": [[357, "cmdoption-A", false], [357, "cmdoption-B", false], [357, "cmdoption-F", false], [357, "cmdoption-P", false], [357, "cmdoption-a", false], [357, "cmdoption-arg-filename", false], [357, "cmdoption-b", false], [357, "cmdoption-c", false], [357, "cmdoption-e", false], [357, "cmdoption-h", false], [357, "cmdoption-help-all", false], [357, "cmdoption-i", false], [357, "cmdoption-m", false], [357, "cmdoption-no-cutter-plugins", false], [357, "cmdoption-no-output-redirect", false], [357, "cmdoption-no-plugins", false], [357, "cmdoption-no-rizin-plugins", false], [357, "cmdoption-o", false], [357, "cmdoption-p", false], [357, "cmdoption-pythonhome", false], [357, "cmdoption-v", false], [357, "cmdoption-w", false]], "commanddescription (c++ struct)": [[49, "_CPPv418CommandDescription", false]], "commanddescription::command (c++ member)": [[49, "_CPPv4N18CommandDescription7commandE", false]], "commanddescription::description (c++ member)": [[49, "_CPPv4N18CommandDescription11descriptionE", false]], "commandtask (c++ class)": [[12, "_CPPv411CommandTask", false]], "commandtask::colormode (c++ enum)": [[12, "_CPPv4N11CommandTask9ColorModeE", false]], "commandtask::colormode::disabled (c++ enumerator)": [[12, "_CPPv4N11CommandTask9ColorMode8DISABLEDE", false]], "commandtask::colormode::mode_16 (c++ enumerator)": [[12, "_CPPv4N11CommandTask9ColorMode7MODE_16E", false]], "commandtask::colormode::mode_16m (c++ enumerator)": [[12, "_CPPv4N11CommandTask9ColorMode8MODE_16ME", false]], "commandtask::colormode::mode_256 (c++ enumerator)": [[12, "_CPPv4N11CommandTask9ColorMode8MODE_256E", false]], "commandtask::commandtask (c++ function)": [[12, "_CPPv4N11CommandTask11CommandTaskERK7QString9ColorMode", false]], "commandtask::finished (c++ function)": [[12, "_CPPv4N11CommandTask8finishedERK7QString", false]], "commandtask::gettitle (c++ function)": [[12, "_CPPv4N11CommandTask8getTitleEv", false]], "commentdescription (c++ struct)": [[93, "_CPPv418CommentDescription", false]], "commentdescription::name (c++ member)": [[93, "_CPPv4N18CommentDescription4nameE", false]], "commentdescription::offset (c++ member)": [[93, "_CPPv4N18CommentDescription6offsetE", false]], "commentgroup (c++ struct)": [[319, "_CPPv412CommentGroup", false]], "commentgroup::comments (c++ member)": [[319, "_CPPv4N12CommentGroup8commentsE", false]], "commentgroup::name (c++ member)": [[319, "_CPPv4N12CommentGroup4nameE", false]], "commentgroup::offset (c++ member)": [[319, "_CPPv4N12CommentGroup6offsetE", false]], "commentsdialog (c++ class)": [[132, "_CPPv414CommentsDialog", false]], "commentsdialog::addoreditcomment (c++ function)": [[132, "_CPPv4N14CommentsDialog16addOrEditCommentE3RVAP7QWidget", false]], "commentsdialog::commentsdialog (c++ function)": [[132, "_CPPv4N14CommentsDialog14CommentsDialogEP7QWidget", false]], "commentsdialog::getcomment (c++ function)": [[132, "_CPPv4N14CommentsDialog10getCommentEv", false]], "commentsdialog::setcomment (c++ function)": [[132, "_CPPv4N14CommentsDialog10setCommentERK7QString", false]], "commentsdialog::~commentsdialog (c++ function)": [[132, "_CPPv4N14CommentsDialogD0Ev", false]], "commentsmodel (c++ class)": [[212, "_CPPv413CommentsModel", false]], "commentsmodel::address (c++ function)": [[212, "_CPPv4NK13CommentsModel7addressERK11QModelIndex", false]], "commentsmodel::column (c++ enum)": [[212, "_CPPv4N13CommentsModel6ColumnE", false]], "commentsmodel::column::columncount (c++ enumerator)": [[212, "_CPPv4N13CommentsModel6Column11ColumnCountE", false]], "commentsmodel::column::commentcolumn (c++ enumerator)": [[212, "_CPPv4N13CommentsModel6Column13CommentColumnE", false]], "commentsmodel::column::functioncolumn (c++ enumerator)": [[212, "_CPPv4N13CommentsModel6Column14FunctionColumnE", false]], "commentsmodel::column::offsetcolumn (c++ enumerator)": [[212, "_CPPv4N13CommentsModel6Column12OffsetColumnE", false]], "commentsmodel::columncount (c++ function)": [[212, "_CPPv4NK13CommentsModel11columnCountERK11QModelIndex", false]], "commentsmodel::commentsmodel (c++ function)": [[212, "_CPPv4N13CommentsModel13CommentsModelEP5QListI18CommentDescriptionEP5QListI12CommentGroupEP7QObject", false]], "commentsmodel::data (c++ function)": [[212, "_CPPv4NK13CommentsModel4dataERK11QModelIndexi", false]], "commentsmodel::headerdata (c++ function)": [[212, "_CPPv4NK13CommentsModel10headerDataEiN2Qt11OrientationEi", false]], "commentsmodel::index (c++ function)": [[212, "_CPPv4NK13CommentsModel5indexEiiRK11QModelIndex", false]], "commentsmodel::isnested (c++ function)": [[212, "_CPPv4NK13CommentsModel8isNestedEv", false]], "commentsmodel::nestedcolumn (c++ enum)": [[212, "_CPPv4N13CommentsModel12NestedColumnE", false]], "commentsmodel::nestedcolumn::commentnestedcolumn (c++ enumerator)": [[212, "_CPPv4N13CommentsModel12NestedColumn19CommentNestedColumnE", false]], "commentsmodel::nestedcolumn::nestedcolumncount (c++ enumerator)": [[212, "_CPPv4N13CommentsModel12NestedColumn17NestedColumnCountE", false]], "commentsmodel::nestedcolumn::offsetnestedcolumn (c++ enumerator)": [[212, "_CPPv4N13CommentsModel12NestedColumn18OffsetNestedColumnE", false]], "commentsmodel::parent (c++ function)": [[212, "_CPPv4NK13CommentsModel6parentERK11QModelIndex", false]], "commentsmodel::role (c++ enum)": [[212, "_CPPv4N13CommentsModel4RoleE", false]], "commentsmodel::role::commentdescriptionrole (c++ enumerator)": [[212, "_CPPv4N13CommentsModel4Role22CommentDescriptionRoleE", false]], "commentsmodel::role::functionrole (c++ enumerator)": [[212, "_CPPv4N13CommentsModel4Role12FunctionRoleE", false]], "commentsmodel::rowcount (c++ function)": [[212, "_CPPv4NK13CommentsModel8rowCountERK11QModelIndex", false]], "commentsmodel::setnested (c++ function)": [[212, "_CPPv4N13CommentsModel9setNestedEb", false]], "commentsproxymodel (c++ class)": [[213, "_CPPv418CommentsProxyModel", false]], "commentsproxymodel::commentsproxymodel (c++ function)": [[213, "_CPPv4N18CommentsProxyModel18CommentsProxyModelEP13CommentsModelP7QObject", false]], "commentswidget (c++ class)": [[214, "_CPPv414CommentsWidget", false]], "commentswidget::commentswidget (c++ function)": [[214, "_CPPv4N14CommentsWidget14CommentsWidgetEP10MainWindow", false]], "commentswidget::~commentswidget (c++ function)": [[214, "_CPPv4N14CommentsWidgetD0Ev", false]], "configuration (c++ class)": [[13, "_CPPv413Configuration", false]], "configuration::addrecentproject (c++ function)": [[13, "_CPPv4N13Configuration16addRecentProjectE7QString", false]], "configuration::adjustcolorthemedarkness (c++ function)": [[13, "_CPPv4N13Configuration24adjustColorThemeDarknessEv", false]], "configuration::colorsupdated (c++ function)": [[13, "_CPPv4N13Configuration13colorsUpdatedEv", false]], "configuration::colorthemedarkness (c++ function)": [[13, "_CPPv4NK13Configuration18colorThemeDarknessERK7QString", false]], "configuration::createsyntaxhighlighter (c++ function)": [[13, "_CPPv4N13Configuration23createSyntaxHighlighterEP13QTextDocument", false]], "configuration::cutterinterfacethemeslist (c++ function)": [[13, "_CPPv4N13Configuration25cutterInterfaceThemesListEv", false]], "configuration::cutteroptioncolors (c++ member)": [[13, "_CPPv4N13Configuration18cutterOptionColorsE", false]], "configuration::enabledecompilerannotationhighlighter (c++ function)": [[13, "_CPPv4N13Configuration37enableDecompilerAnnotationHighlighterEb", false]], "configuration::fontsupdated (c++ function)": [[13, "_CPPv4N13Configuration12fontsUpdatedEv", false]], "configuration::getautoupdateenabled (c++ function)": [[13, "_CPPv4NK13Configuration20getAutoUpdateEnabledEv", false]], "configuration::getavailabletranslations (c++ function)": [[13, "_CPPv4N13Configuration24getAvailableTranslationsEv", false]], "configuration::getbasefont (c++ function)": [[13, "_CPPv4NK13Configuration11getBaseFontEv", false]], "configuration::getbitmapexportscalefactor (c++ function)": [[13, "_CPPv4N13Configuration26getBitmapExportScaleFactorEv", false]], "configuration::getbitmaptransparentstate (c++ function)": [[13, "_CPPv4N13Configuration25getBitmapTransparentStateEv", false]], "configuration::getcolor (c++ function)": [[13, "_CPPv4NK13Configuration8getColorERK7QString", false]], "configuration::getcolortheme (c++ function)": [[13, "_CPPv4NK13Configuration13getColorThemeEv", false]], "configuration::getconfigbool (c++ function)": [[13, "_CPPv4N13Configuration13getConfigBoolERK7QString", false]], "configuration::getconfigint (c++ function)": [[13, "_CPPv4N13Configuration12getConfigIntERK7QString", false]], "configuration::getconfigstring (c++ function)": [[13, "_CPPv4N13Configuration15getConfigStringERK7QString", false]], "configuration::getconfigvar (c++ function)": [[13, "_CPPv4N13Configuration12getConfigVarERK7QString", false]], "configuration::getcurrenttheme (c++ function)": [[13, "_CPPv4N13Configuration15getCurrentThemeEv", false]], "configuration::getcurrlocale (c++ function)": [[13, "_CPPv4NK13Configuration13getCurrLocaleEv", false]], "configuration::getdecompilerautorefreshenabled (c++ function)": [[13, "_CPPv4N13Configuration31getDecompilerAutoRefreshEnabledEv", false]], "configuration::getfont (c++ function)": [[13, "_CPPv4NK13Configuration7getFontEv", false]], "configuration::getfunctionswidgetlayout (c++ function)": [[13, "_CPPv4N13Configuration24getFunctionsWidgetLayoutEv", false]], "configuration::getgraphblockentryoffset (c++ function)": [[13, "_CPPv4N13Configuration24getGraphBlockEntryOffsetEv", false]], "configuration::getgraphblockmaxchars (c++ function)": [[13, "_CPPv4NK13Configuration21getGraphBlockMaxCharsEv", false]], "configuration::getgraphblockspacing (c++ function)": [[13, "_CPPv4N13Configuration20getGraphBlockSpacingEv", false]], "configuration::getgraphedgespacing (c++ function)": [[13, "_CPPv4N13Configuration19getGraphEdgeSpacingEv", false]], "configuration::getgraphminfontsize (c++ function)": [[13, "_CPPv4NK13Configuration19getGraphMinFontSizeEv", false]], "configuration::getgraphpreview (c++ function)": [[13, "_CPPv4N13Configuration15getGraphPreviewEv", false]], "configuration::getinterfacetheme (c++ function)": [[13, "_CPPv4N13Configuration17getInterfaceThemeEv", false]], "configuration::getlastthemeof (c++ function)": [[13, "_CPPv4NK13Configuration14getLastThemeOfERK20CutterInterfaceTheme", false]], "configuration::getlogofile (c++ function)": [[13, "_CPPv4N13Configuration11getLogoFileEv", false]], "configuration::getnewfilelastclicked (c++ function)": [[13, "_CPPv4N13Configuration21getNewFileLastClickedEv", false]], "configuration::getoutputredirectionenabled (c++ function)": [[13, "_CPPv4NK13Configuration27getOutputRedirectionEnabledEv", false]], "configuration::getpreviewvalue (c++ function)": [[13, "_CPPv4NK13Configuration15getPreviewValueEv", false]], "configuration::getrecentfiles (c++ function)": [[13, "_CPPv4NK13Configuration14getRecentFilesEv", false]], "configuration::getrecentfolder (c++ function)": [[13, "_CPPv4N13Configuration15getRecentFolderEv", false]], "configuration::getrecentprojects (c++ function)": [[13, "_CPPv4NK13Configuration17getRecentProjectsEv", false]], "configuration::getselecteddecompiler (c++ function)": [[13, "_CPPv4N13Configuration21getSelectedDecompilerEv", false]], "configuration::getshowvartooltips (c++ function)": [[13, "_CPPv4NK13Configuration18getShowVarTooltipsEv", false]], "configuration::getzoomfactor (c++ function)": [[13, "_CPPv4NK13Configuration13getZoomFactorEv", false]], "configuration::instance (c++ function)": [[13, "_CPPv4N13Configuration8instanceEv", false]], "configuration::interfacethemechanged (c++ function)": [[13, "_CPPv4N13Configuration21interfaceThemeChangedEv", false]], "configuration::isdecompilerannotationhighlighterenabled (c++ function)": [[13, "_CPPv4N13Configuration40isDecompilerAnnotationHighlighterEnabledEv", false]], "configuration::isfirstexecution (c++ function)": [[13, "_CPPv4N13Configuration16isFirstExecutionEv", false]], "configuration::loadinitial (c++ function)": [[13, "_CPPv4N13Configuration11loadInitialEv", false]], "configuration::nativewindowisdark (c++ function)": [[13, "_CPPv4N13Configuration18nativeWindowIsDarkEv", false]], "configuration::refreshfont (c++ function)": [[13, "_CPPv4N13Configuration11refreshFontEv", false]], "configuration::relevantthemes (c++ member)": [[13, "_CPPv4N13Configuration14relevantThemesE", false]], "configuration::resetall (c++ function)": [[13, "_CPPv4N13Configuration8resetAllEv", false]], "configuration::resettodefaultasmoptions (c++ function)": [[13, "_CPPv4N13Configuration24resetToDefaultAsmOptionsEv", false]], "configuration::setautoupdateenabled (c++ function)": [[13, "_CPPv4N13Configuration20setAutoUpdateEnabledEb", false]], "configuration::setbitmapexportscalefactor (c++ function)": [[13, "_CPPv4N13Configuration26setBitmapExportScaleFactorEd", false]], "configuration::setbitmaptransparentstate (c++ function)": [[13, "_CPPv4N13Configuration25setBitmapTransparentStateEb", false]], "configuration::setcolor (c++ function)": [[13, "_CPPv4N13Configuration8setColorERK7QStringRK6QColor", false]], "configuration::setcolortheme (c++ function)": [[13, "_CPPv4N13Configuration13setColorThemeERK7QString", false]], "configuration::setconfig (c++ function)": [[13, "_CPPv4N13Configuration9setConfigERK7QStringRK8QVariant", false]], "configuration::setdecompilerautorefreshenabled (c++ function)": [[13, "_CPPv4N13Configuration31setDecompilerAutoRefreshEnabledEb", false]], "configuration::setfont (c++ function)": [[13, "_CPPv4N13Configuration7setFontERK5QFont", false]], "configuration::setfunctionswidgetlayout (c++ function)": [[13, "_CPPv4N13Configuration24setFunctionsWidgetLayoutERK7QString", false]], "configuration::setgraphblockentryoffset (c++ function)": [[13, "_CPPv4N13Configuration24setGraphBlockEntryOffsetEb", false]], "configuration::setgraphblockmaxchars (c++ function)": [[13, "_CPPv4N13Configuration21setGraphBlockMaxCharsEi", false]], "configuration::setgraphminfontsize (c++ function)": [[13, "_CPPv4N13Configuration19setGraphMinFontSizeEi", false]], "configuration::setgraphpreview (c++ function)": [[13, "_CPPv4N13Configuration15setGraphPreviewEb", false]], "configuration::setgraphspacing (c++ function)": [[13, "_CPPv4N13Configuration15setGraphSpacingE6QPoint6QPoint", false]], "configuration::setinterfacetheme (c++ function)": [[13, "_CPPv4N13Configuration17setInterfaceThemeEi", false]], "configuration::setlastthemeof (c++ function)": [[13, "_CPPv4N13Configuration14setLastThemeOfERK20CutterInterfaceThemeRK7QString", false]], "configuration::setlocale (c++ function)": [[13, "_CPPv4N13Configuration9setLocaleERK7QLocale", false]], "configuration::setlocalebyname (c++ function)": [[13, "_CPPv4N13Configuration15setLocaleByNameERK7QString", false]], "configuration::setnewfilelastclicked (c++ function)": [[13, "_CPPv4N13Configuration21setNewFileLastClickedEi", false]], "configuration::setoutputredirectionenabled (c++ function)": [[13, "_CPPv4N13Configuration27setOutputRedirectionEnabledEb", false]], "configuration::setpreviewvalue (c++ function)": [[13, "_CPPv4N13Configuration15setPreviewValueEb", false]], "configuration::setrecentfiles (c++ function)": [[13, "_CPPv4N13Configuration14setRecentFilesERK11QStringList", false]], "configuration::setrecentfolder (c++ function)": [[13, "_CPPv4N13Configuration15setRecentFolderERK7QString", false]], "configuration::setrecentprojects (c++ function)": [[13, "_CPPv4N13Configuration17setRecentProjectsERK11QStringList", false]], "configuration::setselecteddecompiler (c++ function)": [[13, "_CPPv4N13Configuration21setSelectedDecompilerERK7QString", false]], "configuration::setshowvartooltips (c++ function)": [[13, "_CPPv4N13Configuration18setShowVarTooltipsEb", false]], "configuration::setzoomfactor (c++ function)": [[13, "_CPPv4N13Configuration13setZoomFactorE5qreal", false]], "configuration::windowcolorisdark (c++ function)": [[13, "_CPPv4N13Configuration17windowColorIsDarkEv", false]], "consolewidget (c++ class)": [[215, "_CPPv413ConsoleWidget", false]], "consolewidget::adddebugoutput (c++ function)": [[215, "_CPPv4N13ConsoleWidget14addDebugOutputERK7QString", false]], "consolewidget::addoutput (c++ function)": [[215, "_CPPv4N13ConsoleWidget9addOutputERK7QString", false]], "consolewidget::consolewidget (c++ function)": [[215, "_CPPv4N13ConsoleWidget13ConsoleWidgetEP10MainWindow", false]], "consolewidget::focusinputlineedit (c++ function)": [[215, "_CPPv4N13ConsoleWidget18focusInputLineEditEv", false]], "consolewidget::setdebugoutputenabled (c++ function)": [[215, "_CPPv4N13ConsoleWidget21setDebugOutputEnabledEb", false]], "consolewidget::setmaxhistoryentries (c++ function)": [[215, "_CPPv4N13ConsoleWidget20setMaxHistoryEntriesEi", false]], "consolewidget::~consolewidget (c++ function)": [[215, "_CPPv4N13ConsoleWidgetD0Ev", false]], "cutter::cutterlayout (c++ struct)": [[51, "_CPPv4N6Cutter12CutterLayoutE", false]], "cutter::cutterlayout::geometry (c++ member)": [[51, "_CPPv4N6Cutter12CutterLayout8geometryE", false]], "cutter::cutterlayout::state (c++ member)": [[51, "_CPPv4N6Cutter12CutterLayout5stateE", false]], "cutter::cutterlayout::viewproperties (c++ member)": [[51, "_CPPv4N6Cutter12CutterLayout14viewPropertiesE", false]], "cutterapplication (c++ class)": [[178, "_CPPv417CutterApplication", false]], "cutterapplication::cutterapplication (c++ function)": [[178, "_CPPv4N17CutterApplication17CutterApplicationERiPPc", false]], "cutterapplication::getargs (c++ function)": [[178, "_CPPv4NK17CutterApplication7getArgsEv", false]], "cutterapplication::getinitialoptions (c++ function)": [[178, "_CPPv4NK17CutterApplication17getInitialOptionsEv", false]], "cutterapplication::getmainwindow (c++ function)": [[178, "_CPPv4N17CutterApplication13getMainWindowEv", false]], "cutterapplication::launchnewinstance (c++ function)": [[178, "_CPPv4N17CutterApplication17launchNewInstanceERK11QStringList", false]], "cutterapplication::setinitialoptions (c++ function)": [[178, "_CPPv4N17CutterApplication17setInitialOptionsERK14InitialOptions", false]], "cutterapplication::~cutterapplication (c++ function)": [[178, "_CPPv4N17CutterApplicationD0Ev", false]], "cuttercommandlineoptions (c++ struct)": [[180, "_CPPv424CutterCommandLineOptions", false]], "cuttercommandlineoptions::analysislevel (c++ member)": [[180, "_CPPv4N24CutterCommandLineOptions13analysisLevelE", false]], "cuttercommandlineoptions::args (c++ member)": [[180, "_CPPv4N24CutterCommandLineOptions4argsE", false]], "cuttercommandlineoptions::enablecutterplugins (c++ member)": [[180, "_CPPv4N24CutterCommandLineOptions19enableCutterPluginsE", false]], "cuttercommandlineoptions::enablerizinplugins (c++ member)": [[180, "_CPPv4N24CutterCommandLineOptions18enableRizinPluginsE", false]], "cuttercommandlineoptions::fileopenoptions (c++ member)": [[180, "_CPPv4N24CutterCommandLineOptions15fileOpenOptionsE", false]], "cuttercommandlineoptions::outputredirectionenabled (c++ member)": [[180, "_CPPv4N24CutterCommandLineOptions24outputRedirectionEnabledE", false]], "cuttercommandlineoptions::pythonhome (c++ member)": [[180, "_CPPv4N24CutterCommandLineOptions10pythonHomeE", false]], "cuttercore (c++ class)": [[65, "_CPPv410CutterCore", false]], "cuttercore::addbreakpoint (c++ function)": [[65, "_CPPv4N10CutterCore13addBreakpointERK21BreakpointDescription", false]], "cuttercore::addflag (c++ function)": [[65, "_CPPv4N10CutterCore7addFlagE3RVA7QString3RVA", false]], "cuttercore::addglobalvariable (c++ function)": [[65, "_CPPv4N10CutterCore17addGlobalVariableE3RVA7QString7QString", false]], "cuttercore::ansiescapetohtml (c++ function)": [[65, "_CPPv4N10CutterCore16ansiEscapeToHtmlERK7QString", false]], "cuttercore::applysignature (c++ function)": [[65, "_CPPv4N10CutterCore14applySignatureERK7QString", false]], "cuttercore::applystructureoffset (c++ function)": [[65, "_CPPv4N10CutterCore20applyStructureOffsetERK7QString3RVA", false]], "cuttercore::asmoptionschanged (c++ function)": [[65, "_CPPv4N10CutterCore17asmOptionsChangedEv", false]], "cuttercore::assemble (c++ function)": [[65, "_CPPv4N10CutterCore8assembleERK7QString", false]], "cuttercore::asynctask (c++ function)": [[65, "_CPPv4N10CutterCore9asyncTaskENSt8functionIFPvP6RzCoreEEER14QSharedPointerI9RizinTaskE", false]], "cuttercore::attachdebug (c++ function)": [[65, "_CPPv4N10CutterCore11attachDebugEi", false]], "cuttercore::attachedremote (c++ function)": [[65, "_CPPv4N10CutterCore14attachedRemoteEb", false]], "cuttercore::attachremote (c++ function)": [[65, "_CPPv4N10CutterCore12attachRemoteERK7QString", false]], "cuttercore::autocomplete (c++ function)": [[65, "_CPPv4N10CutterCore12autocompleteERK7QString16RzLinePromptType", false]], "cuttercore::breakpointindexat (c++ function)": [[65, "_CPPv4N10CutterCore17breakpointIndexAtE3RVA", false]], "cuttercore::breakpointschanged (c++ function)": [[65, "_CPPv4N10CutterCore18breakpointsChangedE3RVA", false]], "cuttercore::bytestohexstring (c++ function)": [[65, "_CPPv4N10CutterCore16bytesToHexStringERK10QByteArray", false]], "cuttercore::classattrschanged (c++ function)": [[65, "_CPPv4N10CutterCore17classAttrsChangedERK7QString", false]], "cuttercore::classdeleted (c++ function)": [[65, "_CPPv4N10CutterCore12classDeletedERK7QString", false]], "cuttercore::classnew (c++ function)": [[65, "_CPPv4N10CutterCore8classNewERK7QString", false]], "cuttercore::classrenamed (c++ function)": [[65, "_CPPv4N10CutterCore12classRenamedERK7QStringRK7QString", false]], "cuttercore::cmd (c++ function)": [[65, "_CPPv4N10CutterCore3cmdEPKc", false], [65, "_CPPv4N10CutterCore3cmdERK7QString", false]], "cuttercore::cmdj (c++ function)": [[65, "_CPPv4N10CutterCore4cmdjEPKc", false], [65, "_CPPv4N10CutterCore4cmdjERK7QString", false]], "cuttercore::cmdraw (c++ function)": [[65, "_CPPv4N10CutterCore6cmdRawEPKc", false], [65, "_CPPv4N10CutterCore6cmdRawERK7QString", false]], "cuttercore::cmdrawat (c++ function)": [[65, "_CPPv4N10CutterCore8cmdRawAtEPKc3RVA", false], [65, "_CPPv4N10CutterCore8cmdRawAtERK7QString3RVA", false]], "cuttercore::cmdtask (c++ function)": [[65, "_CPPv4N10CutterCore7cmdTaskERK7QString", false]], "cuttercore::coderebased (c++ function)": [[65, "_CPPv4N10CutterCore11codeRebasedEv", false]], "cuttercore::commentschanged (c++ function)": [[65, "_CPPv4N10CutterCore15commentsChangedE3RVA", false]], "cuttercore::commitwritecache (c++ function)": [[65, "_CPPv4N10CutterCore16commitWriteCacheEv", false]], "cuttercore::continuebackdebug (c++ function)": [[65, "_CPPv4N10CutterCore17continueBackDebugEv", false]], "cuttercore::continuedebug (c++ function)": [[65, "_CPPv4N10CutterCore13continueDebugEv", false]], "cuttercore::continueuntilcall (c++ function)": [[65, "_CPPv4N10CutterCore17continueUntilCallEv", false]], "cuttercore::continueuntildebug (c++ function)": [[65, "_CPPv4N10CutterCore18continueUntilDebugE4ut64", false]], "cuttercore::continueuntilsyscall (c++ function)": [[65, "_CPPv4N10CutterCore20continueUntilSyscallEv", false]], "cuttercore::core (c++ function)": [[65, "_CPPv4N10CutterCore4coreEv", false]], "cuttercore::createfunctionat (c++ function)": [[65, "_CPPv4N10CutterCore16createFunctionAtE3RVA", false], [65, "_CPPv4N10CutterCore16createFunctionAtE3RVA7QString", false]], "cuttercore::createnewclass (c++ function)": [[65, "_CPPv4N10CutterCore14createNewClassERK7QString", false]], "cuttercore::createsignature (c++ function)": [[65, "_CPPv4N10CutterCore15createSignatureERK7QString", false]], "cuttercore::currentlyattachedtopid (c++ member)": [[65, "_CPPv4N10CutterCore22currentlyAttachedToPIDE", false]], "cuttercore::currentlydebugging (c++ member)": [[65, "_CPPv4N10CutterCore18currentlyDebuggingE", false]], "cuttercore::currentlyemulating (c++ member)": [[65, "_CPPv4N10CutterCore18currentlyEmulatingE", false]], "cuttercore::currentlyopenfile (c++ member)": [[65, "_CPPv4N10CutterCore17currentlyOpenFileE", false]], "cuttercore::currentlyremotedebugging (c++ member)": [[65, "_CPPv4N10CutterCore24currentlyRemoteDebuggingE", false]], "cuttercore::currentlytracing (c++ member)": [[65, "_CPPv4N10CutterCore16currentlyTracingE", false]], "cuttercore::cuttercore (c++ function)": [[65, "_CPPv4N10CutterCore10CutterCoreEP7QObject", false]], "cuttercore::debugprocessfinished (c++ function)": [[65, "_CPPv4N10CutterCore20debugProcessFinishedEi", false]], "cuttercore::debugtaskstatechanged (c++ function)": [[65, "_CPPv4N10CutterCore21debugTaskStateChangedEv", false]], "cuttercore::delallbreakpoints (c++ function)": [[65, "_CPPv4N10CutterCore17delAllBreakpointsEv", false]], "cuttercore::delbreakpoint (c++ function)": [[65, "_CPPv4N10CutterCore13delBreakpointE3RVA", false]], "cuttercore::delcomment (c++ function)": [[65, "_CPPv4N10CutterCore10delCommentE3RVA", false]], "cuttercore::deleteclass (c++ function)": [[65, "_CPPv4N10CutterCore11deleteClassERK7QString", false]], "cuttercore::delflag (c++ function)": [[65, "_CPPv4N10CutterCore7delFlagE3RVA", false], [65, "_CPPv4N10CutterCore7delFlagERK7QString", false]], "cuttercore::delfunction (c++ function)": [[65, "_CPPv4N10CutterCore11delFunctionE3RVA", false]], "cuttercore::delglobalvariable (c++ function)": [[65, "_CPPv4N10CutterCore17delGlobalVariableE3RVA", false], [65, "_CPPv4N10CutterCore17delGlobalVariableE7QString", false]], "cuttercore::disablebreakpoint (c++ function)": [[65, "_CPPv4N10CutterCore17disableBreakpointE3RVA", false]], "cuttercore::disassemble (c++ function)": [[65, "_CPPv4N10CutterCore11disassembleERK10QByteArray", false]], "cuttercore::disassemblelines (c++ function)": [[65, "_CPPv4N10CutterCore16disassembleLinesE3RVAi", false]], "cuttercore::disassemblesingleinstruction (c++ function)": [[65, "_CPPv4N10CutterCore28disassembleSingleInstructionE3RVA", false]], "cuttercore::editbytes (c++ function)": [[65, "_CPPv4N10CutterCore9editBytesE3RVARK7QString", false]], "cuttercore::editbytesendian (c++ function)": [[65, "_CPPv4N10CutterCore15editBytesEndianE3RVARK7QString", false]], "cuttercore::editinstruction (c++ function)": [[65, "_CPPv4N10CutterCore15editInstructionE3RVARK7QStringb", false]], "cuttercore::enablebreakpoint (c++ function)": [[65, "_CPPv4N10CutterCore16enableBreakpointE3RVA", false]], "cuttercore::existsfileinfo (c++ function)": [[65, "_CPPv4N10CutterCore14existsFileInfoEv", false]], "cuttercore::flagat (c++ function)": [[65, "_CPPv4N10CutterCore6flagAtE3RVA", false]], "cuttercore::flagschanged (c++ function)": [[65, "_CPPv4N10CutterCore12flagsChangedEv", false]], "cuttercore::formatrefdesc (c++ function)": [[65, "_CPPv4N10CutterCore13formatRefDescERK14QSharedPointerI8AddrRefsE", false]], "cuttercore::functionat (c++ function)": [[65, "_CPPv4N10CutterCore10functionAtE4ut64", false]], "cuttercore::functionin (c++ function)": [[65, "_CPPv4N10CutterCore10functionInE4ut64", false]], "cuttercore::functionrenamed (c++ function)": [[65, "_CPPv4N10CutterCore15functionRenamedEK3RVARK7QString", false]], "cuttercore::functionschanged (c++ function)": [[65, "_CPPv4N10CutterCore16functionsChangedEv", false]], "cuttercore::functiontask (c++ function)": [[65, "_CPPv4N10CutterCore12functionTaskENSt8functionIFPvP6RzCoreEEE", false]], "cuttercore::getactivedebugplugin (c++ function)": [[65, "_CPPv4N10CutterCore20getActiveDebugPluginEv", false]], "cuttercore::getaddrrefs (c++ function)": [[65, "_CPPv4N10CutterCore11getAddrRefsE3RVAi", false]], "cuttercore::getallanalysisclasses (c++ function)": [[65, "_CPPv4N10CutterCore21getAllAnalysisClassesEb", false]], "cuttercore::getallclassesfrombin (c++ function)": [[65, "_CPPv4N10CutterCore20getAllClassesFromBinEv", false]], "cuttercore::getallclassesfromflags (c++ function)": [[65, "_CPPv4N10CutterCore22getAllClassesFromFlagsEv", false]], "cuttercore::getallcomments (c++ function)": [[65, "_CPPv4N10CutterCore14getAllCommentsERK7QString", false]], "cuttercore::getallentrypoint (c++ function)": [[65, "_CPPv4N10CutterCore16getAllEntrypointEv", false]], "cuttercore::getallenums (c++ function)": [[65, "_CPPv4N10CutterCore11getAllEnumsEv", false]], "cuttercore::getallexports (c++ function)": [[65, "_CPPv4N10CutterCore13getAllExportsEv", false]], "cuttercore::getallflags (c++ function)": [[65, "_CPPv4N10CutterCore11getAllFlagsE7QString", false]], "cuttercore::getallflagspaces (c++ function)": [[65, "_CPPv4N10CutterCore16getAllFlagspacesEv", false]], "cuttercore::getallfunctions (c++ function)": [[65, "_CPPv4N10CutterCore15getAllFunctionsEv", false]], "cuttercore::getallglobals (c++ function)": [[65, "_CPPv4N10CutterCore13getAllGlobalsEv", false]], "cuttercore::getallheaders (c++ function)": [[65, "_CPPv4N10CutterCore13getAllHeadersEv", false]], "cuttercore::getallimports (c++ function)": [[65, "_CPPv4N10CutterCore13getAllImportsEv", false]], "cuttercore::getallprimitivetypes (c++ function)": [[65, "_CPPv4N10CutterCore20getAllPrimitiveTypesEv", false]], "cuttercore::getallprocesses (c++ function)": [[65, "_CPPv4N10CutterCore15getAllProcessesEv", false]], "cuttercore::getallrelocs (c++ function)": [[65, "_CPPv4N10CutterCore12getAllRelocsEv", false]], "cuttercore::getallresources (c++ function)": [[65, "_CPPv4N10CutterCore15getAllResourcesEv", false]], "cuttercore::getallsearch (c++ function)": [[65, "_CPPv4N10CutterCore12getAllSearchE7QString7QString7QString", false]], "cuttercore::getallsections (c++ function)": [[65, "_CPPv4N10CutterCore14getAllSectionsEv", false]], "cuttercore::getallsegments (c++ function)": [[65, "_CPPv4N10CutterCore14getAllSegmentsEv", false]], "cuttercore::getallstrings (c++ function)": [[65, "_CPPv4N10CutterCore13getAllStringsEv", false]], "cuttercore::getallstructs (c++ function)": [[65, "_CPPv4N10CutterCore13getAllStructsEv", false]], "cuttercore::getallsymbols (c++ function)": [[65, "_CPPv4N10CutterCore13getAllSymbolsEv", false]], "cuttercore::getalltypedefs (c++ function)": [[65, "_CPPv4N10CutterCore14getAllTypedefsEv", false]], "cuttercore::getalltypes (c++ function)": [[65, "_CPPv4N10CutterCore11getAllTypesEv", false]], "cuttercore::getallunions (c++ function)": [[65, "_CPPv4N10CutterCore12getAllUnionsEv", false]], "cuttercore::getallvtables (c++ function)": [[65, "_CPPv4N10CutterCore13getAllVTablesEv", false]], "cuttercore::getanalysisclassbaseclasses (c++ function)": [[65, "_CPPv4N10CutterCore27getAnalysisClassBaseClassesERK7QString", false]], "cuttercore::getanalysisclassmethods (c++ function)": [[65, "_CPPv4N10CutterCore23getAnalysisClassMethodsERK7QString", false]], "cuttercore::getanalysisclassvtables (c++ function)": [[65, "_CPPv4N10CutterCore23getAnalysisClassVTablesERK7QString", false]], "cuttercore::getanalysismethod (c++ function)": [[65, "_CPPv4N10CutterCore17getAnalysisMethodERK7QStringRK7QStringP25AnalysisMethodDescription", false]], "cuttercore::getanalysispluginnames (c++ function)": [[65, "_CPPv4N10CutterCore22getAnalysisPluginNamesEv", false]], "cuttercore::getarchbits (c++ function)": [[65, "_CPPv4N10CutterCore11getArchBitsEv", false]], "cuttercore::getarenas (c++ function)": [[65, "_CPPv4N10CutterCore9getArenasEv", false]], "cuttercore::getasmpluginnames (c++ function)": [[65, "_CPPv4N10CutterCore17getAsmPluginNamesEv", false]], "cuttercore::getasynctaskmanager (c++ function)": [[65, "_CPPv4N10CutterCore19getAsyncTaskManagerEv", false]], "cuttercore::getbbhighlighter (c++ function)": [[65, "_CPPv4N10CutterCore16getBBHighlighterEv", false]], "cuttercore::getbihighlighter (c++ function)": [[65, "_CPPv4N10CutterCore16getBIHighlighterEv", false]], "cuttercore::getbinplugindescriptions (c++ function)": [[65, "_CPPv4N10CutterCore24getBinPluginDescriptionsEbb", false]], "cuttercore::getbreakpointat (c++ function)": [[65, "_CPPv4N10CutterCore15getBreakpointAtE3RVA", false]], "cuttercore::getbreakpoints (c++ function)": [[65, "_CPPv4N10CutterCore14getBreakpointsEv", false]], "cuttercore::getbreakpointsaddresses (c++ function)": [[65, "_CPPv4N10CutterCore23getBreakpointsAddressesEv", false]], "cuttercore::getbreakpointsinfunction (c++ function)": [[65, "_CPPv4N10CutterCore24getBreakpointsInFunctionE3RVA", false]], "cuttercore::getcolorthemes (c++ function)": [[65, "_CPPv4N10CutterCore14getColorThemesEv", false]], "cuttercore::getcommentat (c++ function)": [[65, "_CPPv4N10CutterCore12getCommentAtE3RVA", false]], "cuttercore::getconfig (c++ function)": [[65, "_CPPv4N10CutterCore9getConfigEPKc", false], [65, "_CPPv4N10CutterCore9getConfigERK7QString", false]], "cuttercore::getconfigb (c++ function)": [[65, "_CPPv4N10CutterCore10getConfigbEPKc", false], [65, "_CPPv4N10CutterCore10getConfigbERK7QString", false]], "cuttercore::getconfigdescription (c++ function)": [[65, "_CPPv4N10CutterCore20getConfigDescriptionEPKc", false]], "cuttercore::getconfigi (c++ function)": [[65, "_CPPv4N10CutterCore10getConfigiEPKc", false], [65, "_CPPv4N10CutterCore10getConfigiERK7QString", false]], "cuttercore::getconfigoptions (c++ function)": [[65, "_CPPv4N10CutterCore16getConfigOptionsEPKc", false]], "cuttercore::getconfigut64 (c++ function)": [[65, "_CPPv4N10CutterCore13getConfigut64EPKc", false], [65, "_CPPv4N10CutterCore13getConfigut64ERK7QString", false]], "cuttercore::getconfigvariablespaces (c++ function)": [[65, "_CPPv4N10CutterCore23getConfigVariableSpacesERK7QString", false]], "cuttercore::getcutterrcdefaultdirectory (c++ function)": [[65, "_CPPv4NK10CutterCore27getCutterRCDefaultDirectoryEv", false]], "cuttercore::getdebugplugins (c++ function)": [[65, "_CPPv4N10CutterCore15getDebugPluginsEv", false]], "cuttercore::getdecompilerbyid (c++ function)": [[65, "_CPPv4N10CutterCore17getDecompilerByIdERK7QString", false]], "cuttercore::getdecompilers (c++ function)": [[65, "_CPPv4N10CutterCore14getDecompilersEv", false]], "cuttercore::getdisassemblypreview (c++ function)": [[65, "_CPPv4N10CutterCore21getDisassemblyPreviewE3RVAi", false]], "cuttercore::getfunctionend (c++ function)": [[65, "_CPPv4N10CutterCore14getFunctionEndE3RVA", false]], "cuttercore::getfunctionexecout (c++ function)": [[65, "_CPPv4N10CutterCore18getFunctionExecOutERKNSt8functionIFbP6RzCoreEEEK3RVA", false]], "cuttercore::getfunctionstart (c++ function)": [[65, "_CPPv4N10CutterCore16getFunctionStartE3RVA", false]], "cuttercore::getglobalvariabletype (c++ function)": [[65, "_CPPv4N10CutterCore21getGlobalVariableTypeE3RVA", false], [65, "_CPPv4N10CutterCore21getGlobalVariableTypeE7QString", false]], "cuttercore::getheapbins (c++ function)": [[65, "_CPPv4N10CutterCore11getHeapBinsE4ut64", false]], "cuttercore::getheapchunk (c++ function)": [[65, "_CPPv4N10CutterCore12getHeapChunkE4ut64", false]], "cuttercore::getheapchunks (c++ function)": [[65, "_CPPv4N10CutterCore13getHeapChunksE3RVA", false]], "cuttercore::gethexdumppreview (c++ function)": [[65, "_CPPv4N10CutterCore17getHexdumpPreviewE3RVAi", false]], "cuttercore::getinstructionbytes (c++ function)": [[65, "_CPPv4N10CutterCore19getInstructionBytesE3RVA", false]], "cuttercore::getinstructionopcode (c++ function)": [[65, "_CPPv4N10CutterCore20getInstructionOpcodeE3RVA", false]], "cuttercore::getlastfunctioninstruction (c++ function)": [[65, "_CPPv4N10CutterCore26getLastFunctionInstructionE3RVA", false]], "cuttercore::getmemorymap (c++ function)": [[65, "_CPPv4N10CutterCore12getMemoryMapEv", false]], "cuttercore::getmetastring (c++ function)": [[65, "_CPPv4N10CutterCore13getMetaStringE3RVA", false]], "cuttercore::getoffset (c++ function)": [[65, "_CPPv4N10CutterCore9getOffsetEv", false], [65, "_CPPv4NK10CutterCore9getOffsetEv", false]], "cuttercore::getoffsetjump (c++ function)": [[65, "_CPPv4N10CutterCore13getOffsetJumpE3RVA", false]], "cuttercore::getprocessthreads (c++ function)": [[65, "_CPPv4N10CutterCore17getProcessThreadsEi", false]], "cuttercore::getprogramcountervalue (c++ function)": [[65, "_CPPv4N10CutterCore22getProgramCounterValueEv", false]], "cuttercore::getrasmplugindescriptions (c++ function)": [[65, "_CPPv4N10CutterCore25getRAsmPluginDescriptionsEv", false]], "cuttercore::getrcoreplugindescriptions (c++ function)": [[65, "_CPPv4N10CutterCore26getRCorePluginDescriptionsEv", false]], "cuttercore::getreg (c++ function)": [[65, "_CPPv4N10CutterCore6getRegEv", false]], "cuttercore::getregistername (c++ function)": [[65, "_CPPv4N10CutterCore15getRegisterNameE7QString", false]], "cuttercore::getregisterrefs (c++ function)": [[65, "_CPPv4N10CutterCore15getRegisterRefsEi", false]], "cuttercore::getregisterrefvalues (c++ function)": [[65, "_CPPv4N10CutterCore20getRegisterRefValuesEv", false]], "cuttercore::getregs (c++ function)": [[65, "_CPPv4N10CutterCore7getRegsEv", false]], "cuttercore::getrioplugindescriptions (c++ function)": [[65, "_CPPv4N10CutterCore24getRIOPluginDescriptionsEv", false]], "cuttercore::getrizinversionreadable (c++ function)": [[65, "_CPPv4N10CutterCore23getRizinVersionReadableEPKc", false]], "cuttercore::getrzanalysisbytessingle (c++ function)": [[65, "_CPPv4N10CutterCore24getRzAnalysisBytesSingleE3RVA", false]], "cuttercore::getsectionlist (c++ function)": [[65, "_CPPv4N10CutterCore14getSectionListEv", false]], "cuttercore::getseekhistory (c++ function)": [[65, "_CPPv4N10CutterCore14getSeekHistoryEv", false]], "cuttercore::getsignatureinfo (c++ function)": [[65, "_CPPv4N10CutterCore16getSignatureInfoEv", false]], "cuttercore::getsignaturesdb (c++ function)": [[65, "_CPPv4N10CutterCore15getSignaturesDBEv", false]], "cuttercore::getstack (c++ function)": [[65, "_CPPv4N10CutterCore8getStackEii", false]], "cuttercore::getstring (c++ function)": [[65, "_CPPv4N10CutterCore9getStringE3RVA", false], [65, "_CPPv4N10CutterCore9getStringE3RVA8uint64_t8RzStrEncb", false]], "cuttercore::gettextualgraphat (c++ function)": [[65, "_CPPv4N10CutterCore17getTextualGraphAtE15RzCoreGraphType17RzCoreGraphFormat3RVA", false]], "cuttercore::gettheme (c++ function)": [[65, "_CPPv4N10CutterCore8getThemeEv", false]], "cuttercore::getthemekeys (c++ function)": [[65, "_CPPv4N10CutterCore12getThemeKeysEv", false]], "cuttercore::gettypeasc (c++ function)": [[65, "_CPPv4N10CutterCore10getTypeAsCE7QString", false]], "cuttercore::getvariables (c++ function)": [[65, "_CPPv4N10CutterCore12getVariablesE3RVA", false]], "cuttercore::getversioninformation (c++ function)": [[65, "_CPPv4N10CutterCore21getVersionInformationEv", false]], "cuttercore::getxrefs (c++ function)": [[65, "_CPPv4N10CutterCore8getXRefsE3RVAbbRK7QString", false]], "cuttercore::getxrefsforvariable (c++ function)": [[65, "_CPPv4N10CutterCore19getXRefsForVariableE7QStringb3RVA", false]], "cuttercore::globalvarschanged (c++ function)": [[65, "_CPPv4N10CutterCore17globalVarsChangedEv", false]], "cuttercore::graphoptionschanged (c++ function)": [[65, "_CPPv4N10CutterCore19graphOptionsChangedEv", false]], "cuttercore::handlerevent (c++ function)": [[65, "_CPPv4N10CutterCore12handleREventEiPv", false]], "cuttercore::hexdump (c++ function)": [[65, "_CPPv4N10CutterCore7hexdumpE3RVAi14HexdumpFormats", false]], "cuttercore::hexdumpformats (c++ enum)": [[65, "_CPPv4N10CutterCore14HexdumpFormatsE", false]], "cuttercore::hexdumpformats::half (c++ enumerator)": [[65, "_CPPv4N10CutterCore14HexdumpFormats4HalfE", false]], "cuttercore::hexdumpformats::normal (c++ enumerator)": [[65, "_CPPv4N10CutterCore14HexdumpFormats6NormalE", false]], "cuttercore::hexdumpformats::octal (c++ enumerator)": [[65, "_CPPv4N10CutterCore14HexdumpFormats5OctalE", false]], "cuttercore::hexdumpformats::quad (c++ enumerator)": [[65, "_CPPv4N10CutterCore14HexdumpFormats4QuadE", false]], "cuttercore::hexdumpformats::signed (c++ enumerator)": [[65, "_CPPv4N10CutterCore14HexdumpFormats6SignedE", false]], "cuttercore::hexdumpformats::word (c++ enumerator)": [[65, "_CPPv4N10CutterCore14HexdumpFormats4WordE", false]], "cuttercore::hexstringtobytes (c++ function)": [[65, "_CPPv4N10CutterCore16hexStringToBytesERK7QString", false]], "cuttercore::initialize (c++ function)": [[65, "_CPPv4N10CutterCore10initializeEb", false]], "cuttercore::instance (c++ function)": [[65, "_CPPv4N10CutterCore8instanceEv", false]], "cuttercore::instructionchanged (c++ function)": [[65, "_CPPv4N10CutterCore18instructionChangedE3RVA", false]], "cuttercore::iocachechanged (c++ function)": [[65, "_CPPv4N10CutterCore14ioCacheChangedEb", false]], "cuttercore::iomodechanged (c++ function)": [[65, "_CPPv4N10CutterCore13ioModeChangedEv", false]], "cuttercore::ioread (c++ function)": [[65, "_CPPv4N10CutterCore6ioReadE3RVAi", false]], "cuttercore::isaddressmapped (c++ function)": [[65, "_CPPv4N10CutterCore15isAddressMappedE3RVA", false]], "cuttercore::isbreakpoint (c++ function)": [[65, "_CPPv4N10CutterCore12isBreakpointERK5QListI3RVAE3RVA", false]], "cuttercore::isdebugtaskinprogress (c++ function)": [[65, "_CPPv4N10CutterCore21isDebugTaskInProgressEv", false]], "cuttercore::isgraphempty (c++ function)": [[65, "_CPPv4N10CutterCore12isGraphEmptyEv", false]], "cuttercore::isiocacheenabled (c++ function)": [[65, "_CPPv4NK10CutterCore16isIOCacheEnabledEv", false]], "cuttercore::isredirectabledebugee (c++ function)": [[65, "_CPPv4N10CutterCore21isRedirectableDebugeeEv", false]], "cuttercore::iswritemodeenabled (c++ function)": [[65, "_CPPv4N10CutterCore18isWriteModeEnabledEv", false]], "cuttercore::itoa (c++ function)": [[65, "_CPPv4N10CutterCore4itoaE4ut64i", false]], "cuttercore::jmpreverse (c++ function)": [[65, "_CPPv4N10CutterCore10jmpReverseE3RVA", false]], "cuttercore::listflagsasstringat (c++ function)": [[65, "_CPPv4N10CutterCore19listFlagsAsStringAtE3RVA", false]], "cuttercore::loadcutterrc (c++ function)": [[65, "_CPPv4N10CutterCore12loadCutterRCEv", false]], "cuttercore::loaddefaultcutterrc (c++ function)": [[65, "_CPPv4N10CutterCore19loadDefaultCutterRCEv", false]], "cuttercore::loadfile (c++ function)": [[65, "_CPPv4N10CutterCore8loadFileE7QString4ut644ut64iibRK7QString", false]], "cuttercore::loadpdb (c++ function)": [[65, "_CPPv4N10CutterCore7loadPDBERK7QString", false]], "cuttercore::loadscript (c++ function)": [[65, "_CPPv4N10CutterCore10loadScriptERK7QString", false]], "cuttercore::mapfile (c++ function)": [[65, "_CPPv4N10CutterCore7mapFileE7QString3RVA", false]], "cuttercore::math (c++ function)": [[65, "_CPPv4N10CutterCore4mathERK7QString", false]], "cuttercore::message (c++ function)": [[65, "_CPPv4N10CutterCore7messageERK7QStringb", false]], "cuttercore::modifyglobalvariable (c++ function)": [[65, "_CPPv4N10CutterCore20modifyGlobalVariableE3RVA7QString7QString", false]], "cuttercore::nearestflag (c++ function)": [[65, "_CPPv4N10CutterCore11nearestFlagE3RVAP3RVA", false]], "cuttercore::newdebugmessage (c++ function)": [[65, "_CPPv4N10CutterCore15newDebugMessageERK7QString", false]], "cuttercore::newmessage (c++ function)": [[65, "_CPPv4N10CutterCore10newMessageERK7QString", false]], "cuttercore::nextopaddr (c++ function)": [[65, "_CPPv4N10CutterCore10nextOpAddrE3RVAi", false]], "cuttercore::nopinstruction (c++ function)": [[65, "_CPPv4N10CutterCore14nopInstructionE3RVA", false]], "cuttercore::num (c++ function)": [[65, "_CPPv4N10CutterCore3numERK7QString", false]], "cuttercore::parsejson (c++ function)": [[65, "_CPPv4N10CutterCore9parseJsonEPKcPcPKc", false], [65, "_CPPv4N10CutterCore9parseJsonEPKcPcRK7QString", false]], "cuttercore::prevopaddr (c++ function)": [[65, "_CPPv4N10CutterCore10prevOpAddrE3RVAi", false]], "cuttercore::rebasebin (c++ function)": [[65, "_CPPv4N10CutterCore9rebaseBinE3RVA", false]], "cuttercore::refreshall (c++ function)": [[65, "_CPPv4N10CutterCore10refreshAllEv", false]], "cuttercore::refreshcodeviews (c++ function)": [[65, "_CPPv4N10CutterCore16refreshCodeViewsEv", false]], "cuttercore::registerdecompiler (c++ function)": [[65, "_CPPv4N10CutterCore18registerDecompilerEP10Decompiler", false]], "cuttercore::registerschanged (c++ function)": [[65, "_CPPv4N10CutterCore16registersChangedEv", false]], "cuttercore::regs (c++ member)": [[65, "_CPPv4N10CutterCore4regsE", false]], "cuttercore::removestring (c++ function)": [[65, "_CPPv4N10CutterCore12removeStringE3RVA", false]], "cuttercore::renameanalysismethod (c++ function)": [[65, "_CPPv4N10CutterCore20renameAnalysisMethodERK7QStringRK7QStringRK7QString", false]], "cuttercore::renameclass (c++ function)": [[65, "_CPPv4N10CutterCore11renameClassERK7QStringRK7QString", false]], "cuttercore::renameflag (c++ function)": [[65, "_CPPv4N10CutterCore10renameFlagE7QString7QString", false]], "cuttercore::renamefunction (c++ function)": [[65, "_CPPv4N10CutterCore14renameFunctionEK3RVARK7QString", false]], "cuttercore::renamefunctionvariable (c++ function)": [[65, "_CPPv4N10CutterCore22renameFunctionVariableE7QString7QString3RVA", false]], "cuttercore::resetwritecache (c++ function)": [[65, "_CPPv4N10CutterCore15resetWriteCacheEv", false]], "cuttercore::sanitizestringforcommand (c++ function)": [[65, "_CPPv4N10CutterCore24sanitizeStringForCommandE7QString", false]], "cuttercore::sdbget (c++ function)": [[65, "_CPPv4N10CutterCore6sdbGetE7QString7QString", false]], "cuttercore::sdblist (c++ function)": [[65, "_CPPv4N10CutterCore7sdbListE7QString", false]], "cuttercore::sdblistkeys (c++ function)": [[65, "_CPPv4N10CutterCore11sdbListKeysE7QString", false]], "cuttercore::sdbset (c++ function)": [[65, "_CPPv4N10CutterCore6sdbSetE7QString7QString7QString", false]], "cuttercore::seek (c++ function)": [[65, "_CPPv4N10CutterCore4seekE4ut64", false], [65, "_CPPv4N10CutterCore4seekE7QString", false]], "cuttercore::seekandshow (c++ function)": [[65, "_CPPv4N10CutterCore11seekAndShowE4ut64", false], [65, "_CPPv4N10CutterCore11seekAndShowE7QString", false]], "cuttercore::seekchanged (c++ function)": [[65, "_CPPv4N10CutterCore11seekChangedE3RVA15SeekHistoryType", false]], "cuttercore::seekhistorytype (c++ enum)": [[65, "_CPPv4N10CutterCore15SeekHistoryTypeE", false]], "cuttercore::seekhistorytype::new (c++ enumerator)": [[65, "_CPPv4N10CutterCore15SeekHistoryType3NewE", false]], "cuttercore::seekhistorytype::redo (c++ enumerator)": [[65, "_CPPv4N10CutterCore15SeekHistoryType4RedoE", false]], "cuttercore::seekhistorytype::undo (c++ enumerator)": [[65, "_CPPv4N10CutterCore15SeekHistoryType4UndoE", false]], "cuttercore::seeknext (c++ function)": [[65, "_CPPv4N10CutterCore8seekNextEv", false]], "cuttercore::seekprev (c++ function)": [[65, "_CPPv4N10CutterCore8seekPrevEv", false]], "cuttercore::seekreturn (c++ class)": [[65, "_CPPv4N10CutterCore10SeekReturnE", false], [66, "_CPPv4N10CutterCore10SeekReturnE", false]], "cuttercore::seekreturn::seekreturn (c++ function)": [[65, "_CPPv4N10CutterCore10SeekReturn10SeekReturnE3RVA", false], [65, "_CPPv4N10CutterCore10SeekReturn10SeekReturnERR10SeekReturn", false], [66, "_CPPv4N10CutterCore10SeekReturn10SeekReturnE3RVA", false], [66, "_CPPv4N10CutterCore10SeekReturn10SeekReturnERR10SeekReturn", false]], "cuttercore::seekreturn::~seekreturn (c++ function)": [[65, "_CPPv4N10CutterCore10SeekReturnD0Ev", false], [66, "_CPPv4N10CutterCore10SeekReturnD0Ev", false]], "cuttercore::seeksilent (c++ function)": [[65, "_CPPv4N10CutterCore10seekSilentE4ut64", false], [65, "_CPPv4N10CutterCore10seekSilentE7QString", false]], "cuttercore::seektemp (c++ function)": [[65, "_CPPv4N10CutterCore8seekTempE3RVA", false]], "cuttercore::setanalysismethod (c++ function)": [[65, "_CPPv4N10CutterCore17setAnalysisMethodERK7QStringRK25AnalysisMethodDescription", false]], "cuttercore::setasstring (c++ function)": [[65, "_CPPv4N10CutterCore11setAsStringE3RVAi17StringTypeFormats", false]], "cuttercore::setbreakpointtrace (c++ function)": [[65, "_CPPv4N10CutterCore18setBreakpointTraceEib", false]], "cuttercore::setcolor (c++ function)": [[65, "_CPPv4N10CutterCore8setColorERK7QStringRK7QString", false]], "cuttercore::setcomment (c++ function)": [[65, "_CPPv4N10CutterCore10setCommentE3RVARK7QString", false]], "cuttercore::setconfig (c++ function)": [[65, "_CPPv4N10CutterCore9setConfigEPKcPKc", false], [65, "_CPPv4N10CutterCore9setConfigEPKcRK7QString", false], [65, "_CPPv4N10CutterCore9setConfigEPKcRK8QVariant", false], [65, "_CPPv4N10CutterCore9setConfigEPKcb", false], [65, "_CPPv4N10CutterCore9setConfigEPKci", false], [65, "_CPPv4N10CutterCore9setConfigERK7QStringPKc", false], [65, "_CPPv4N10CutterCore9setConfigERK7QStringRK7QString", false], [65, "_CPPv4N10CutterCore9setConfigERK7QStringRK8QVariant", false], [65, "_CPPv4N10CutterCore9setConfigERK7QStringb", false], [65, "_CPPv4N10CutterCore9setConfigERK7QStringi", false]], "cuttercore::setcpu (c++ function)": [[65, "_CPPv4N10CutterCore6setCPUE7QString7QStringi", false]], "cuttercore::setcurrentbits (c++ function)": [[65, "_CPPv4N10CutterCore14setCurrentBitsEi3RVA", false]], "cuttercore::setcurrentdebugprocess (c++ function)": [[65, "_CPPv4N10CutterCore22setCurrentDebugProcessEi", false]], "cuttercore::setcurrentdebugthread (c++ function)": [[65, "_CPPv4N10CutterCore21setCurrentDebugThreadEi", false]], "cuttercore::setdebugplugin (c++ function)": [[65, "_CPPv4N10CutterCore14setDebugPluginE7QString", false]], "cuttercore::setendianness (c++ function)": [[65, "_CPPv4N10CutterCore13setEndiannessEb", false]], "cuttercore::setgraphempty (c++ function)": [[65, "_CPPv4N10CutterCore13setGraphEmptyEb", false]], "cuttercore::setimmediatebase (c++ function)": [[65, "_CPPv4N10CutterCore16setImmediateBaseERK7QString3RVA", false]], "cuttercore::setiocache (c++ function)": [[65, "_CPPv4N10CutterCore10setIOCacheEb", false]], "cuttercore::setregister (c++ function)": [[65, "_CPPv4N10CutterCore11setRegisterE7QString7QString", false]], "cuttercore::setsettings (c++ function)": [[65, "_CPPv4N10CutterCore11setSettingsEv", false]], "cuttercore::settocode (c++ function)": [[65, "_CPPv4N10CutterCore9setToCodeE3RVA", false]], "cuttercore::settodata (c++ function)": [[65, "_CPPv4N10CutterCore9setToDataE3RVAii", false]], "cuttercore::setwritemode (c++ function)": [[65, "_CPPv4N10CutterCore12setWriteModeEb", false]], "cuttercore::showmemorywidget (c++ function)": [[65, "_CPPv4N10CutterCore16showMemoryWidgetEv", false]], "cuttercore::showmemorywidgetrequested (c++ function)": [[65, "_CPPv4N10CutterCore25showMemoryWidgetRequestedEv", false]], "cuttercore::sizeofdatameta (c++ function)": [[65, "_CPPv4N10CutterCore14sizeofDataMetaE3RVA", false]], "cuttercore::stackchanged (c++ function)": [[65, "_CPPv4N10CutterCore12stackChangedEv", false]], "cuttercore::startdebug (c++ function)": [[65, "_CPPv4N10CutterCore10startDebugEv", false]], "cuttercore::startemulation (c++ function)": [[65, "_CPPv4N10CutterCore14startEmulationEv", false]], "cuttercore::starttracesession (c++ function)": [[65, "_CPPv4N10CutterCore17startTraceSessionEv", false]], "cuttercore::stepbackdebug (c++ function)": [[65, "_CPPv4N10CutterCore13stepBackDebugEv", false]], "cuttercore::stepdebug (c++ function)": [[65, "_CPPv4N10CutterCore9stepDebugEv", false]], "cuttercore::stepoutdebug (c++ function)": [[65, "_CPPv4N10CutterCore12stepOutDebugEv", false]], "cuttercore::stepoverdebug (c++ function)": [[65, "_CPPv4N10CutterCore13stepOverDebugEv", false]], "cuttercore::stopdebug (c++ function)": [[65, "_CPPv4N10CutterCore9stopDebugEv", false]], "cuttercore::stoptracesession (c++ function)": [[65, "_CPPv4N10CutterCore16stopTraceSessionEv", false]], "cuttercore::stringtypeformats (c++ enum)": [[65, "_CPPv4N10CutterCore17StringTypeFormatsE", false]], "cuttercore::stringtypeformats::ascii_latin1 (c++ enumerator)": [[65, "_CPPv4N10CutterCore17StringTypeFormats12ASCII_LATIN1E", false]], "cuttercore::stringtypeformats::none (c++ enumerator)": [[65, "_CPPv4N10CutterCore17StringTypeFormats4NoneE", false]], "cuttercore::stringtypeformats::utf8 (c++ enumerator)": [[65, "_CPPv4N10CutterCore17StringTypeFormats4UTF8E", false]], "cuttercore::suspenddebug (c++ function)": [[65, "_CPPv4N10CutterCore12suspendDebugEv", false]], "cuttercore::switchedprocess (c++ function)": [[65, "_CPPv4N10CutterCore15switchedProcessEv", false]], "cuttercore::switchedthread (c++ function)": [[65, "_CPPv4N10CutterCore14switchedThreadEv", false]], "cuttercore::syncandseekprogramcounter (c++ function)": [[65, "_CPPv4N10CutterCore25syncAndSeekProgramCounterEv", false]], "cuttercore::togglebreakpoint (c++ function)": [[65, "_CPPv4N10CutterCore16toggleBreakpointE3RVA", false]], "cuttercore::toggledebugview (c++ function)": [[65, "_CPPv4N10CutterCore15toggleDebugViewEv", false]], "cuttercore::triggerasmoptionschanged (c++ function)": [[65, "_CPPv4N10CutterCore24triggerAsmOptionsChangedEv", false]], "cuttercore::triggerflagschanged (c++ function)": [[65, "_CPPv4N10CutterCore19triggerFlagsChangedEv", false]], "cuttercore::triggerfunctionrenamed (c++ function)": [[65, "_CPPv4N10CutterCore22triggerFunctionRenamedEK3RVARK7QString", false]], "cuttercore::triggergraphoptionschanged (c++ function)": [[65, "_CPPv4N10CutterCore26triggerGraphOptionsChangedEv", false]], "cuttercore::triggerrefreshall (c++ function)": [[65, "_CPPv4N10CutterCore17triggerRefreshAllEv", false]], "cuttercore::triggervarschanged (c++ function)": [[65, "_CPPv4N10CutterCore18triggerVarsChangedEv", false]], "cuttercore::tryfile (c++ function)": [[65, "_CPPv4N10CutterCore7tryFileE7QStringb", false]], "cuttercore::updatebreakpoint (c++ function)": [[65, "_CPPv4N10CutterCore16updateBreakpointEiRK21BreakpointDescription", false]], "cuttercore::updateseek (c++ function)": [[65, "_CPPv4N10CutterCore10updateSeekE15SeekHistoryType", false]], "cuttercore::varschanged (c++ function)": [[65, "_CPPv4N10CutterCore11varsChangedEv", false]], "cuttercore::writegraphvizgraphtofile (c++ function)": [[65, "_CPPv4N10CutterCore24writeGraphvizGraphToFileE7QString7QString15RzCoreGraphType3RVA", false]], "cuttercore::writeheapchunk (c++ function)": [[65, "_CPPv4N10CutterCore14writeHeapChunkEP17RzHeapChunkSimple", false]], "cuttercore::writemodechanged (c++ function)": [[65, "_CPPv4N10CutterCore16writeModeChangedEb", false]], "cuttercore::~cuttercore (c++ function)": [[65, "_CPPv4N10CutterCoreD0Ev", false]], "cutterdockwidget (c++ class)": [[216, "_CPPv416CutterDockWidget", false]], "cutterdockwidget::becamevisibletouser (c++ function)": [[216, "_CPPv4N16CutterDockWidget19becameVisibleToUserEv", false]], "cutterdockwidget::closed (c++ function)": [[216, "_CPPv4N16CutterDockWidget6closedEv", false]], "cutterdockwidget::createrefreshdeferrer (c++ function)": [[216, "_CPPv4I0EN16CutterDockWidget21createRefreshDeferrerEP15RefreshDeferrer4Func", false]], "cutterdockwidget::createreplacingrefreshdeferrer (c++ function)": [[216, "_CPPv4I00EN16CutterDockWidget30createReplacingRefreshDeferrerEP15RefreshDeferrerb4Func", false]], "cutterdockwidget::cutterdockwidget (c++ function)": [[216, "_CPPv4N16CutterDockWidget16CutterDockWidgetEP10MainWindow", false], [216, "_CPPv4N16CutterDockWidget16CutterDockWidgetEP10MainWindowP7QAction", false]], "cutterdockwidget::deserializeviewproperties (c++ function)": [[216, "_CPPv4N16CutterDockWidget25deserializeViewPropertiesERK11QVariantMap", false]], "cutterdockwidget::eventfilter (c++ function)": [[216, "_CPPv4N16CutterDockWidget11eventFilterEP7QObjectP6QEvent", false]], "cutterdockwidget::ignorevisibilitystatus (c++ function)": [[216, "_CPPv4N16CutterDockWidget22ignoreVisibilityStatusEb", false]], "cutterdockwidget::isvisibletouser (c++ function)": [[216, "_CPPv4N16CutterDockWidget15isVisibleToUserEv", false]], "cutterdockwidget::raisememorywidget (c++ function)": [[216, "_CPPv4N16CutterDockWidget17raiseMemoryWidgetEv", false]], "cutterdockwidget::serializeviewproprties (c++ function)": [[216, "_CPPv4N16CutterDockWidget22serializeViewProprtiesEv", false]], "cutterdockwidget::settransient (c++ function)": [[216, "_CPPv4N16CutterDockWidget12setTransientEb", false]], "cutterdockwidget::toggledockwidget (c++ function)": [[216, "_CPPv4N16CutterDockWidget16toggleDockWidgetEb", false]], "cutterdockwidget::~cutterdockwidget (c++ function)": [[216, "_CPPv4N16CutterDockWidgetD0Ev", false]], "cuttergraphview (c++ class)": [[217, "_CPPv415CutterGraphView", false]], "cuttergraphview::cuttergraphview (c++ function)": [[217, "_CPPv4N15CutterGraphView15CutterGraphViewEP7QWidget", false]], "cuttergraphview::event (c++ function)": [[217, "_CPPv4N15CutterGraphView5eventEP6QEvent", false]], "cuttergraphview::exportgraph (c++ function)": [[217, "_CPPv4N15CutterGraphView11exportGraphE7QString15GraphExportType15RzCoreGraphType3RVA", false]], "cuttergraphview::exportrztextgraph (c++ function)": [[217, "_CPPv4N15CutterGraphView17exportRzTextGraphE7QString15RzCoreGraphType17RzCoreGraphFormat3RVA", false]], "cuttergraphview::fontsupdatedslot (c++ function)": [[217, "_CPPv4N15CutterGraphView16fontsUpdatedSlotEv", false]], "cuttergraphview::graphexporttype (c++ enum)": [[217, "_CPPv4N15CutterGraphView15GraphExportTypeE", false]], "cuttergraphview::graphexporttype::gvdot (c++ enumerator)": [[217, "_CPPv4N15CutterGraphView15GraphExportType5GVDotE", false]], "cuttergraphview::graphexporttype::gvgif (c++ enumerator)": [[217, "_CPPv4N15CutterGraphView15GraphExportType5GVGifE", false]], "cuttergraphview::graphexporttype::gvjpeg (c++ enumerator)": [[217, "_CPPv4N15CutterGraphView15GraphExportType6GVJpegE", false]], "cuttergraphview::graphexporttype::gvjson (c++ enumerator)": [[217, "_CPPv4N15CutterGraphView15GraphExportType6GVJsonE", false]], "cuttergraphview::graphexporttype::gvpdf (c++ enumerator)": [[217, "_CPPv4N15CutterGraphView15GraphExportType5GVPdfE", false]], "cuttergraphview::graphexporttype::gvpng (c++ enumerator)": [[217, "_CPPv4N15CutterGraphView15GraphExportType5GVPngE", false]], "cuttergraphview::graphexporttype::gvpostscript (c++ enumerator)": [[217, "_CPPv4N15CutterGraphView15GraphExportType12GVPostScriptE", false]], "cuttergraphview::graphexporttype::gvsvg (c++ enumerator)": [[217, "_CPPv4N15CutterGraphView15GraphExportType5GVSvgE", false]], "cuttergraphview::graphexporttype::jpeg (c++ enumerator)": [[217, "_CPPv4N15CutterGraphView15GraphExportType4JpegE", false]], "cuttergraphview::graphexporttype::png (c++ enumerator)": [[217, "_CPPv4N15CutterGraphView15GraphExportType3PngE", false]], "cuttergraphview::graphexporttype::rzgml (c++ enumerator)": [[217, "_CPPv4N15CutterGraphView15GraphExportType5RzGmlE", false]], "cuttergraphview::graphexporttype::rzjson (c++ enumerator)": [[217, "_CPPv4N15CutterGraphView15GraphExportType6RzJsonE", false]], "cuttergraphview::graphexporttype::svg (c++ enumerator)": [[217, "_CPPv4N15CutterGraphView15GraphExportType3SvgE", false]], "cuttergraphview::graphisbitamp (c++ function)": [[217, "_CPPv4N15CutterGraphView13graphIsBitampE15GraphExportType", false]], "cuttergraphview::graphmoved (c++ function)": [[217, "_CPPv4N15CutterGraphView10graphMovedEv", false]], "cuttergraphview::refreshview (c++ function)": [[217, "_CPPv4N15CutterGraphView11refreshViewEv", false]], "cuttergraphview::resized (c++ function)": [[217, "_CPPv4N15CutterGraphView7resizedEv", false]], "cuttergraphview::setzoom (c++ function)": [[217, "_CPPv4N15CutterGraphView7setZoomE7QPointFd", false]], "cuttergraphview::showexportdialog (c++ function)": [[217, "_CPPv4N15CutterGraphView16showExportDialogEv", false]], "cuttergraphview::showexportgraphdialog (c++ function)": [[217, "_CPPv4N15CutterGraphView21showExportGraphDialogE7QString15RzCoreGraphType3RVA", false]], "cuttergraphview::updatecolors (c++ function)": [[217, "_CPPv4N15CutterGraphView12updateColorsEv", false]], "cuttergraphview::viewrefreshed (c++ function)": [[217, "_CPPv4N15CutterGraphView13viewRefreshedEv", false]], "cuttergraphview::viewzoomed (c++ function)": [[217, "_CPPv4N15CutterGraphView10viewZoomedEv", false]], "cuttergraphview::zoom (c++ function)": [[217, "_CPPv4N15CutterGraphView4zoomE7QPointFd", false]], "cuttergraphview::zoomin (c++ function)": [[217, "_CPPv4N15CutterGraphView6zoomInEv", false]], "cuttergraphview::zoomout (c++ function)": [[217, "_CPPv4N15CutterGraphView7zoomOutEv", false]], "cuttergraphview::zoomreset (c++ function)": [[217, "_CPPv4N15CutterGraphView9zoomResetEv", false]], "cutterinterfacetheme (c++ struct)": [[50, "_CPPv420CutterInterfaceTheme", false]], "cutterinterfacetheme::flag (c++ member)": [[50, "_CPPv4N20CutterInterfaceTheme4flagE", false]], "cutterinterfacetheme::name (c++ member)": [[50, "_CPPv4N20CutterInterfaceTheme4nameE", false]], "cutterjson (c++ class)": [[67, "_CPPv410CutterJson", false]], "cutterjson::begin (c++ function)": [[67, "_CPPv4NK10CutterJson5beginEv", false]], "cutterjson::cutterjson (c++ function)": [[67, "_CPPv4N10CutterJson10CutterJsonEPK6RzJson14QSharedPointerI15CutterJsonOwnerE", false], [67, "_CPPv4N10CutterJson10CutterJsonEv", false]], "cutterjson::end (c++ function)": [[67, "_CPPv4NK10CutterJson3endEv", false]], "cutterjson::first (c++ function)": [[67, "_CPPv4NK10CutterJson5firstEv", false]], "cutterjson::iterator (c++ class)": [[67, "_CPPv4N10CutterJson8iteratorE", false], [69, "_CPPv4N10CutterJson8iteratorE", false]], "cutterjson::iterator::iterator (c++ function)": [[67, "_CPPv4N10CutterJson8iterator8iteratorEPK6RzJson14QSharedPointerI15CutterJsonOwnerE", false], [69, "_CPPv4N10CutterJson8iterator8iteratorEPK6RzJson14QSharedPointerI15CutterJsonOwnerE", false]], "cutterjson::iterator::operator!= (c++ function)": [[67, "_CPPv4NK10CutterJson8iteratorneERK8iterator", false], [69, "_CPPv4NK10CutterJson8iteratorneERK8iterator", false]], "cutterjson::iterator::operator* (c++ function)": [[67, "_CPPv4NK10CutterJson8iteratormlEv", false], [69, "_CPPv4NK10CutterJson8iteratormlEv", false]], "cutterjson::iterator::operator++ (c++ function)": [[67, "_CPPv4N10CutterJson8iteratorppEv", false], [69, "_CPPv4N10CutterJson8iteratorppEv", false]], "cutterjson::key (c++ function)": [[67, "_CPPv4NK10CutterJson3keyEv", false]], "cutterjson::keys (c++ function)": [[67, "_CPPv4NK10CutterJson4keysEv", false]], "cutterjson::last (c++ function)": [[67, "_CPPv4NK10CutterJson4lastEv", false]], "cutterjson::lowlevelvalue (c++ function)": [[67, "_CPPv4NK10CutterJson13lowLevelValueEv", false]], "cutterjson::operator[] (c++ function)": [[67, "_CPPv4NK10CutterJsonixEPKc", false], [67, "_CPPv4NK10CutterJsonixERK7QString", false]], "cutterjson::size (c++ function)": [[67, "_CPPv4NK10CutterJson4sizeEv", false]], "cutterjson::tobool (c++ function)": [[67, "_CPPv4NK10CutterJson6toBoolEv", false]], "cutterjson::torva (c++ function)": [[67, "_CPPv4NK10CutterJson5toRVAEv", false]], "cutterjson::tost64 (c++ function)": [[67, "_CPPv4NK10CutterJson6toSt64Ev", false]], "cutterjson::tostring (c++ function)": [[67, "_CPPv4NK10CutterJson8toStringEv", false]], "cutterjson::tout64 (c++ function)": [[67, "_CPPv4NK10CutterJson6toUt64Ev", false]], "cutterjson::type (c++ function)": [[67, "_CPPv4NK10CutterJson4typeEv", false]], "cutterjson::valid (c++ function)": [[67, "_CPPv4NK10CutterJson5validEv", false]], "cutterjsonowner (c++ class)": [[68, "_CPPv415CutterJsonOwner", false]], "cutterjsonowner::cutterjsonowner (c++ function)": [[68, "_CPPv4N15CutterJsonOwner15CutterJsonOwnerEP6RzJsonPc", false]], "cutterjsonowner::~cutterjsonowner (c++ function)": [[68, "_CPPv4N15CutterJsonOwnerD0Ev", false]], "cutterplugin (c++ class)": [[174, "_CPPv412CutterPlugin", false]], "cutterplugin::getauthor (c++ function)": [[174, "_CPPv4NK12CutterPlugin9getAuthorEv", false]], "cutterplugin::getdescription (c++ function)": [[174, "_CPPv4NK12CutterPlugin14getDescriptionEv", false]], "cutterplugin::getname (c++ function)": [[174, "_CPPv4NK12CutterPlugin7getNameEv", false]], "cutterplugin::getversion (c++ function)": [[174, "_CPPv4NK12CutterPlugin10getVersionEv", false]], "cutterplugin::registerdecompilers (c++ function)": [[174, "_CPPv4N12CutterPlugin19registerDecompilersEv", false]], "cutterplugin::setupinterface (c++ function)": [[174, "_CPPv4N12CutterPlugin14setupInterfaceEP10MainWindow", false]], "cutterplugin::setupplugin (c++ function)": [[174, "_CPPv4N12CutterPlugin11setupPluginEv", false]], "cutterplugin::terminate (c++ function)": [[174, "_CPPv4N12CutterPlugin9terminateEv", false]], "cutterplugin::~cutterplugin (c++ function)": [[174, "_CPPv4N12CutterPluginD0Ev", false]], "cutterproxystyle (c++ class)": [[179, "_CPPv416CutterProxyStyle", false]], "cutterproxystyle::polish (c++ function)": [[179, "_CPPv4N16CutterProxyStyle6polishEP7QWidget", false]], "cutterpvector (c++ class)": [[70, "_CPPv4I0E13CutterPVector", false]], "cutterpvector::begin (c++ function)": [[70, "_CPPv4NK13CutterPVector5beginEv", false]], "cutterpvector::cutterpvector (c++ function)": [[70, "_CPPv4N13CutterPVector13CutterPVectorEPK9RzPVector", false]], "cutterpvector::end (c++ function)": [[70, "_CPPv4NK13CutterPVector3endEv", false]], "cutterpvector::iterator (c++ class)": [[70, "_CPPv4N13CutterPVector8iteratorE", false], [71, "_CPPv4N13CutterPVector8iteratorE", false]], "cutterpvector::iterator::difference_type (c++ type)": [[70, "_CPPv4N13CutterPVector8iterator15difference_typeE", false], [71, "_CPPv4N13CutterPVector8iterator15difference_typeE", false]], "cutterpvector::iterator::iterator (c++ function)": [[70, "_CPPv4N13CutterPVector8iterator8iteratorEPP1T", false], [70, "_CPPv4N13CutterPVector8iterator8iteratorERK8iterator", false], [71, "_CPPv4N13CutterPVector8iterator8iteratorEPP1T", false], [71, "_CPPv4N13CutterPVector8iterator8iteratorERK8iterator", false]], "cutterpvector::iterator::iterator_category (c++ type)": [[70, "_CPPv4N13CutterPVector8iterator17iterator_categoryE", false], [71, "_CPPv4N13CutterPVector8iterator17iterator_categoryE", false]], "cutterpvector::iterator::operator!= (c++ function)": [[70, "_CPPv4NK13CutterPVector8iteratorneERK8iterator", false], [71, "_CPPv4NK13CutterPVector8iteratorneERK8iterator", false]], "cutterpvector::iterator::operator* (c++ function)": [[70, "_CPPv4N13CutterPVector8iteratormlEv", false], [71, "_CPPv4N13CutterPVector8iteratormlEv", false]], "cutterpvector::iterator::operator++ (c++ function)": [[70, "_CPPv4N13CutterPVector8iteratorppEi", false], [70, "_CPPv4N13CutterPVector8iteratorppEv", false], [71, "_CPPv4N13CutterPVector8iteratorppEi", false], [71, "_CPPv4N13CutterPVector8iteratorppEv", false]], "cutterpvector::iterator::operator== (c++ function)": [[70, "_CPPv4NK13CutterPVector8iteratoreqERK8iterator", false], [71, "_CPPv4NK13CutterPVector8iteratoreqERK8iterator", false]], "cutterpvector::iterator::pointer (c++ type)": [[70, "_CPPv4N13CutterPVector8iterator7pointerE", false], [71, "_CPPv4N13CutterPVector8iterator7pointerE", false]], "cutterpvector::iterator::reference (c++ type)": [[70, "_CPPv4N13CutterPVector8iterator9referenceE", false], [71, "_CPPv4N13CutterPVector8iterator9referenceE", false]], "cutterpvector::iterator::value_type (c++ type)": [[70, "_CPPv4N13CutterPVector8iterator10value_typeE", false], [71, "_CPPv4N13CutterPVector8iterator10value_typeE", false]], "cutterrziter (c++ class)": [[72, "_CPPv4I0E12CutterRzIter", false]], "cutterrziter::cutterrziter (c++ function)": [[72, "_CPPv4N12CutterRzIter12CutterRzIterEP10RzIterator", false]], "cutterrziter::get (c++ function)": [[72, "_CPPv4N12CutterRzIter3getEv", false]], "cutterrziter::operator bool (c++ function)": [[72, "_CPPv4N12CutterRzItercvbEv", false]], "cutterrziter::operator* (c++ function)": [[72, "_CPPv4N12CutterRzItermlEv", false]], "cutterrziter::operator++ (c++ function)": [[72, "_CPPv4N12CutterRzIterppEv", false]], "cutterrziter::operator-> (c++ function)": [[72, "_CPPv4N12CutterRzIterptEv", false]], "cutterrzlist (c++ class)": [[73, "_CPPv4I0E12CutterRzList", false]], "cutterrzlist::begin (c++ function)": [[73, "_CPPv4NK12CutterRzList5beginEv", false]], "cutterrzlist::cutterrzlist (c++ function)": [[73, "_CPPv4N12CutterRzList12CutterRzListEPK6RzList", false]], "cutterrzlist::end (c++ function)": [[73, "_CPPv4NK12CutterRzList3endEv", false]], "cutterrzlist::iterator (c++ class)": [[73, "_CPPv4N12CutterRzList8iteratorE", false], [74, "_CPPv4N12CutterRzList8iteratorE", false]], "cutterrzlist::iterator::difference_type (c++ type)": [[73, "_CPPv4N12CutterRzList8iterator15difference_typeE", false], [74, "_CPPv4N12CutterRzList8iterator15difference_typeE", false]], "cutterrzlist::iterator::iterator (c++ function)": [[73, "_CPPv4N12CutterRzList8iterator8iteratorEP10RzListIter", false], [73, "_CPPv4N12CutterRzList8iterator8iteratorERK8iterator", false], [74, "_CPPv4N12CutterRzList8iterator8iteratorEP10RzListIter", false], [74, "_CPPv4N12CutterRzList8iterator8iteratorERK8iterator", false]], "cutterrzlist::iterator::iterator_category (c++ type)": [[73, "_CPPv4N12CutterRzList8iterator17iterator_categoryE", false], [74, "_CPPv4N12CutterRzList8iterator17iterator_categoryE", false]], "cutterrzlist::iterator::operator!= (c++ function)": [[73, "_CPPv4NK12CutterRzList8iteratorneERK8iterator", false], [74, "_CPPv4NK12CutterRzList8iteratorneERK8iterator", false]], "cutterrzlist::iterator::operator* (c++ function)": [[73, "_CPPv4N12CutterRzList8iteratormlEv", false], [74, "_CPPv4N12CutterRzList8iteratormlEv", false]], "cutterrzlist::iterator::operator++ (c++ function)": [[73, "_CPPv4N12CutterRzList8iteratorppEi", false], [73, "_CPPv4N12CutterRzList8iteratorppEv", false], [74, "_CPPv4N12CutterRzList8iteratorppEi", false], [74, "_CPPv4N12CutterRzList8iteratorppEv", false]], "cutterrzlist::iterator::operator== (c++ function)": [[73, "_CPPv4NK12CutterRzList8iteratoreqERK8iterator", false], [74, "_CPPv4NK12CutterRzList8iteratoreqERK8iterator", false]], "cutterrzlist::iterator::pointer (c++ type)": [[73, "_CPPv4N12CutterRzList8iterator7pointerE", false], [74, "_CPPv4N12CutterRzList8iterator7pointerE", false]], "cutterrzlist::iterator::reference (c++ type)": [[73, "_CPPv4N12CutterRzList8iterator9referenceE", false], [74, "_CPPv4N12CutterRzList8iterator9referenceE", false]], "cutterrzlist::iterator::value_type (c++ type)": [[73, "_CPPv4N12CutterRzList8iterator10value_typeE", false], [74, "_CPPv4N12CutterRzList8iterator10value_typeE", false]], "cutterseekable (c++ class)": [[14, "_CPPv414CutterSeekable", false]], "cutterseekable::cutterseekable (c++ function)": [[14, "_CPPv4N14CutterSeekable14CutterSeekableEP7QObject", false]], "cutterseekable::getoffset (c++ function)": [[14, "_CPPv4N14CutterSeekable9getOffsetEv", false]], "cutterseekable::issynchronized (c++ function)": [[14, "_CPPv4N14CutterSeekable14isSynchronizedEv", false]], "cutterseekable::seek (c++ function)": [[14, "_CPPv4N14CutterSeekable4seekE3RVAN10CutterCore15SeekHistoryTypeE", false]], "cutterseekable::seekableseekchanged (c++ function)": [[14, "_CPPv4N14CutterSeekable19seekableSeekChangedE3RVAN10CutterCore15SeekHistoryTypeE", false]], "cutterseekable::seekprev (c++ function)": [[14, "_CPPv4N14CutterSeekable8seekPrevEv", false]], "cutterseekable::seektoreference (c++ function)": [[14, "_CPPv4N14CutterSeekable15seekToReferenceE3RVA", false]], "cutterseekable::setsynchronization (c++ function)": [[14, "_CPPv4N14CutterSeekable18setSynchronizationEb", false]], "cutterseekable::syncchanged (c++ function)": [[14, "_CPPv4N14CutterSeekable11syncChangedEv", false]], "cutterseekable::togglesynchronization (c++ function)": [[14, "_CPPv4N14CutterSeekable21toggleSynchronizationEv", false]], "cutterseekable::~cutterseekable (c++ function)": [[14, "_CPPv4N14CutterSeekableD0Ev", false]], "cuttertreeview (c++ class)": [[218, "_CPPv414CutterTreeView", false]], "cuttertreeview::applycutterstyle (c++ function)": [[218, "_CPPv4N14CutterTreeView16applyCutterStyleEP9QTreeView", false]], "cuttertreeview::cuttertreeview (c++ function)": [[218, "_CPPv4N14CutterTreeView14CutterTreeViewEP7QWidget", false]], "cuttertreeview::~cuttertreeview (c++ function)": [[218, "_CPPv4N14CutterTreeViewD0Ev", false]], "cuttertreewidget (c++ class)": [[219, "_CPPv416CutterTreeWidget", false]], "cuttertreewidget::addstatusbar (c++ function)": [[219, "_CPPv4N16CutterTreeWidget12addStatusBarEP11QVBoxLayout", false]], "cuttertreewidget::cuttertreewidget (c++ function)": [[219, "_CPPv4N16CutterTreeWidget16CutterTreeWidgetEP7QObject", false]], "cuttertreewidget::showitemsnumber (c++ function)": [[219, "_CPPv4N16CutterTreeWidget15showItemsNumberEi", false]], "cuttertreewidget::showstatusbar (c++ function)": [[219, "_CPPv4N16CutterTreeWidget13showStatusBarEb", false]], "cuttertreewidget::~cuttertreewidget (c++ function)": [[219, "_CPPv4N16CutterTreeWidgetD0Ev", false]], "dashboard (c++ class)": [[220, "_CPPv49Dashboard", false]], "dashboard::dashboard (c++ function)": [[220, "_CPPv4N9Dashboard9DashboardEP10MainWindow", false]], "dashboard::~dashboard (c++ function)": [[220, "_CPPv4N9DashboardD0Ev", false]], "dbgbackend (c++ struct)": [[163, "_CPPv410DbgBackend", false]], "dbgbackend::name (c++ member)": [[163, "_CPPv4N10DbgBackend4nameE", false]], "dbgbackend::prefix (c++ member)": [[163, "_CPPv4N10DbgBackend6prefixE", false]], "dbgbackend::type (c++ member)": [[163, "_CPPv4N10DbgBackend4typeE", false]], "debugactions (c++ class)": [[221, "_CPPv412DebugActions", false]], "debugactions::actionallcontinues (c++ member)": [[221, "_CPPv4N12DebugActions18actionAllContinuesE", false]], "debugactions::actionattach (c++ member)": [[221, "_CPPv4N12DebugActions12actionAttachE", false]], "debugactions::actioncontinue (c++ member)": [[221, "_CPPv4N12DebugActions14actionContinueE", false]], "debugactions::actioncontinueback (c++ member)": [[221, "_CPPv4N12DebugActions18actionContinueBackE", false]], "debugactions::actioncontinueuntilcall (c++ member)": [[221, "_CPPv4N12DebugActions23actionContinueUntilCallE", false]], "debugactions::actioncontinueuntilmain (c++ member)": [[221, "_CPPv4N12DebugActions23actionContinueUntilMainE", false]], "debugactions::actioncontinueuntilsyscall (c++ member)": [[221, "_CPPv4N12DebugActions26actionContinueUntilSyscallE", false]], "debugactions::actionstart (c++ member)": [[221, "_CPPv4N12DebugActions11actionStartE", false]], "debugactions::actionstartemul (c++ member)": [[221, "_CPPv4N12DebugActions15actionStartEmulE", false]], "debugactions::actionstartremote (c++ member)": [[221, "_CPPv4N12DebugActions17actionStartRemoteE", false]], "debugactions::actionstep (c++ member)": [[221, "_CPPv4N12DebugActions10actionStepE", false]], "debugactions::actionstepback (c++ member)": [[221, "_CPPv4N12DebugActions14actionStepBackE", false]], "debugactions::actionstepout (c++ member)": [[221, "_CPPv4N12DebugActions13actionStepOutE", false]], "debugactions::actionstepover (c++ member)": [[221, "_CPPv4N12DebugActions14actionStepOverE", false]], "debugactions::actionstop (c++ member)": [[221, "_CPPv4N12DebugActions10actionStopE", false]], "debugactions::actiontrace (c++ member)": [[221, "_CPPv4N12DebugActions11actionTraceE", false]], "debugactions::addtotoolbar (c++ function)": [[221, "_CPPv4N12DebugActions12addToToolBarEP8QToolBar", false]], "debugactions::continueicon (c++ member)": [[221, "_CPPv4N12DebugActions12continueIconE", false]], "debugactions::continuelabel (c++ member)": [[221, "_CPPv4N12DebugActions13continueLabelE", false]], "debugactions::debugactions (c++ function)": [[221, "_CPPv4N12DebugActions12DebugActionsEP8QToolBarP10MainWindow", false]], "debugactions::detachicon (c++ member)": [[221, "_CPPv4N12DebugActions10detachIconE", false]], "debugactions::restartdebuglabel (c++ member)": [[221, "_CPPv4N12DebugActions17restartDebugLabelE", false]], "debugactions::restarticon (c++ member)": [[221, "_CPPv4N12DebugActions11restartIconE", false]], "debugactions::startdebugicon (c++ member)": [[221, "_CPPv4N12DebugActions14startDebugIconE", false]], "debugactions::startdebuglabel (c++ member)": [[221, "_CPPv4N12DebugActions15startDebugLabelE", false]], "debugactions::starttraceicon (c++ member)": [[221, "_CPPv4N12DebugActions14startTraceIconE", false]], "debugactions::starttracelabel (c++ member)": [[221, "_CPPv4N12DebugActions15startTraceLabelE", false]], "debugactions::stopicon (c++ member)": [[221, "_CPPv4N12DebugActions8stopIconE", false]], "debugactions::stoptraceicon (c++ member)": [[221, "_CPPv4N12DebugActions13stopTraceIconE", false]], "debugactions::stoptracelabel (c++ member)": [[221, "_CPPv4N12DebugActions14stopTraceLabelE", false]], "debugactions::suspendicon (c++ member)": [[221, "_CPPv4N12DebugActions11suspendIconE", false]], "debugactions::suspendlabel (c++ member)": [[221, "_CPPv4N12DebugActions12suspendLabelE", false]], "decompiler (c++ class)": [[15, "_CPPv410Decompiler", false]], "decompiler::cancel (c++ function)": [[15, "_CPPv4N10Decompiler6cancelEv", false]], "decompiler::decompileat (c++ function)": [[15, "_CPPv4N10Decompiler11decompileAtE3RVA", false]], "decompiler::decompiler (c++ function)": [[15, "_CPPv4N10Decompiler10DecompilerERK7QStringRK7QStringP7QObject", false]], "decompiler::finished (c++ function)": [[15, "_CPPv4N10Decompiler8finishedEP15RzAnnotatedCode", false]], "decompiler::getid (c++ function)": [[15, "_CPPv4NK10Decompiler5getIdEv", false]], "decompiler::getname (c++ function)": [[15, "_CPPv4NK10Decompiler7getNameEv", false]], "decompiler::iscancelable (c++ function)": [[15, "_CPPv4N10Decompiler12isCancelableEv", false]], "decompiler::isrunning (c++ function)": [[15, "_CPPv4N10Decompiler9isRunningEv", false]], "decompiler::makewarning (c++ function)": [[15, "_CPPv4N10Decompiler11makeWarningE7QString", false]], "decompiler::~decompiler (c++ function)": [[15, "_CPPv4N10DecompilerD0Ev", false]], "decompilercontextmenu (c++ class)": [[168, "_CPPv421DecompilerContextMenu", false]], "decompilercontextmenu::copy (c++ function)": [[168, "_CPPv4N21DecompilerContextMenu4copyEv", false]], "decompilercontextmenu::decompilercontextmenu (c++ function)": [[168, "_CPPv4N21DecompilerContextMenu21DecompilerContextMenuEP7QWidgetP10MainWindow", false]], "decompilercontextmenu::getfirstoffsetinline (c++ function)": [[168, "_CPPv4N21DecompilerContextMenu20getFirstOffsetInLineEv", false]], "decompilercontextmenu::getistogglingbreakpoints (c++ function)": [[168, "_CPPv4N21DecompilerContextMenu24getIsTogglingBreakpointsEv", false]], "decompilercontextmenu::setannotationhere (c++ function)": [[168, "_CPPv4N21DecompilerContextMenu17setAnnotationHereEP16RzCodeAnnotation", false]], "decompilercontextmenu::setavailablebreakpoints (c++ function)": [[168, "_CPPv4N21DecompilerContextMenu23setAvailableBreakpointsE7QVectorI3RVAE", false]], "decompilercontextmenu::setcurhighlightedword (c++ function)": [[168, "_CPPv4N21DecompilerContextMenu21setCurHighlightedWordE7QString", false]], "decompilercontextmenu::setdecompiledfunctionaddress (c++ function)": [[168, "_CPPv4N21DecompilerContextMenu28setDecompiledFunctionAddressE3RVA", false]], "decompilercontextmenu::setfirstoffsetinline (c++ function)": [[168, "_CPPv4N21DecompilerContextMenu20setFirstOffsetInLineE3RVA", false]], "decompilercontextmenu::setoffset (c++ function)": [[168, "_CPPv4N21DecompilerContextMenu9setOffsetE3RVA", false]], "decompilercontextmenu::~decompilercontextmenu (c++ function)": [[168, "_CPPv4N21DecompilerContextMenuD0Ev", false]], "decompilerhighlighter (c++ class)": [[16, "_CPPv421DecompilerHighlighter", false]], "decompilerhighlighter::decompilerhighlighter (c++ function)": [[16, "_CPPv4N21DecompilerHighlighter21DecompilerHighlighterEP13QTextDocument", false]], "decompilerhighlighter::setannotations (c++ function)": [[16, "_CPPv4N21DecompilerHighlighter14setAnnotationsEP15RzAnnotatedCode", false]], "decompilerhighlighter::~decompilerhighlighter (c++ function)": [[16, "_CPPv4N21DecompilerHighlighterD0Ev", false]], "decompilerwidget (c++ class)": [[222, "_CPPv416DecompilerWidget", false]], "decompilerwidget::decompilerwidget (c++ function)": [[222, "_CPPv4N16DecompilerWidget16DecompilerWidgetEP10MainWindow", false]], "decompilerwidget::getwidgettype (c++ function)": [[222, "_CPPv4N16DecompilerWidget13getWidgetTypeEv", false]], "decompilerwidget::highlightpc (c++ function)": [[222, "_CPPv4N16DecompilerWidget11highlightPCEv", false]], "decompilerwidget::showdecompilercontextmenu (c++ function)": [[222, "_CPPv4N16DecompilerWidget25showDecompilerContextMenuERK6QPoint", false]], "decompilerwidget::~decompilerwidget (c++ function)": [[222, "_CPPv4N16DecompilerWidgetD0Ev", false]], "directionalcombobox (c++ class)": [[17, "_CPPv419DirectionalComboBox", false]], "directionalcombobox::directionalcombobox (c++ function)": [[17, "_CPPv4N19DirectionalComboBox19DirectionalComboBoxEP7QWidgetb", false]], "directionalcombobox::setpopupdirection (c++ function)": [[17, "_CPPv4N19DirectionalComboBox17setPopupDirectionEb", false]], "disassemblergraphview (c++ class)": [[223, "_CPPv421DisassemblerGraphView", false]], "disassemblergraphview::blockclicked (c++ function)": [[223, "_CPPv4N21DisassemblerGraphView12blockClickedERN9GraphView10GraphBlockEP11QMouseEvent6QPoint", false]], "disassemblergraphview::blockdoubleclicked (c++ function)": [[223, "_CPPv4N21DisassemblerGraphView18blockDoubleClickedERN9GraphView10GraphBlockEP11QMouseEvent6QPoint", false]], "disassemblergraphview::blockhelpevent (c++ function)": [[223, "_CPPv4N21DisassemblerGraphView14blockHelpEventERN9GraphView10GraphBlockEP10QHelpEvent6QPoint", false]], "disassemblergraphview::blocktransitionedto (c++ function)": [[223, "_CPPv4N21DisassemblerGraphView19blockTransitionedToEPN9GraphView10GraphBlockE", false]], "disassemblergraphview::copyselection (c++ function)": [[223, "_CPPv4N21DisassemblerGraphView13copySelectionEv", false]], "disassemblergraphview::currentfcnaddr (c++ member)": [[223, "_CPPv4N21DisassemblerGraphView14currentFcnAddrE", false]], "disassemblergraphview::disassemblergraphview (c++ function)": [[223, "_CPPv4N21DisassemblerGraphView21DisassemblerGraphViewEP7QWidgetP14CutterSeekableP10MainWindow5QListIP7QActionE", false]], "disassemblergraphview::disassembly_blocks (c++ member)": [[223, "_CPPv4N21DisassemblerGraphView18disassembly_blocksE", false]], "disassemblergraphview::disassemblyblock (c++ struct)": [[320, "_CPPv4N21DisassemblerGraphView16DisassemblyBlockE", false]], "disassemblergraphview::disassemblyblock::entry (c++ member)": [[320, "_CPPv4N21DisassemblerGraphView16DisassemblyBlock5entryE", false]], "disassemblergraphview::disassemblyblock::false_path (c++ member)": [[320, "_CPPv4N21DisassemblerGraphView16DisassemblyBlock10false_pathE", false]], "disassemblergraphview::disassemblyblock::header_text (c++ member)": [[320, "_CPPv4N21DisassemblerGraphView16DisassemblyBlock11header_textE", false]], "disassemblergraphview::disassemblyblock::indirectcall (c++ member)": [[320, "_CPPv4N21DisassemblerGraphView16DisassemblyBlock12indirectcallE", false]], "disassemblergraphview::disassemblyblock::instrs (c++ member)": [[320, "_CPPv4N21DisassemblerGraphView16DisassemblyBlock6instrsE", false]], "disassemblergraphview::disassemblyblock::terminal (c++ member)": [[320, "_CPPv4N21DisassemblerGraphView16DisassemblyBlock8terminalE", false]], "disassemblergraphview::disassemblyblock::true_path (c++ member)": [[320, "_CPPv4N21DisassemblerGraphView16DisassemblyBlock9true_pathE", false]], "disassemblergraphview::drawblock (c++ function)": [[223, "_CPPv4N21DisassemblerGraphView9drawBlockER8QPainterRN9GraphView10GraphBlockEb", false]], "disassemblergraphview::edgeconfiguration (c++ function)": [[223, "_CPPv4N21DisassemblerGraphView17edgeConfigurationERN9GraphView10GraphBlockEPN9GraphView10GraphBlockEb", false]], "disassemblergraphview::edgeconfigurationmapping (c++ type)": [[223, "_CPPv4N21DisassemblerGraphView24EdgeConfigurationMappingE", false]], "disassemblergraphview::getblocks (c++ function)": [[223, "_CPPv4N21DisassemblerGraphView9getBlocksEv", false]], "disassemblergraphview::getedgeconfigurations (c++ function)": [[223, "_CPPv4N21DisassemblerGraphView21getEdgeConfigurationsEv", false]], "disassemblergraphview::getheight (c++ function)": [[223, "_CPPv4N21DisassemblerGraphView9getHeightEv", false]], "disassemblergraphview::getwidth (c++ function)": [[223, "_CPPv4N21DisassemblerGraphView8getWidthEv", false]], "disassemblergraphview::helpevent (c++ function)": [[223, "_CPPv4N21DisassemblerGraphView9helpEventEP10QHelpEvent", false]], "disassemblergraphview::instr (c++ struct)": [[321, "_CPPv4N21DisassemblerGraphView5InstrE", false]], "disassemblergraphview::instr::addr (c++ member)": [[321, "_CPPv4N21DisassemblerGraphView5Instr4addrE", false]], "disassemblergraphview::instr::contains (c++ function)": [[321, "_CPPv4NK21DisassemblerGraphView5Instr8containsE4ut64", false]], "disassemblergraphview::instr::empty (c++ function)": [[321, "_CPPv4NK21DisassemblerGraphView5Instr5emptyEv", false]], "disassemblergraphview::instr::fulltext (c++ member)": [[321, "_CPPv4N21DisassemblerGraphView5Instr8fullTextE", false]], "disassemblergraphview::instr::opcode (c++ member)": [[321, "_CPPv4N21DisassemblerGraphView5Instr6opcodeE", false]], "disassemblergraphview::instr::plaintext (c++ member)": [[321, "_CPPv4N21DisassemblerGraphView5Instr9plainTextE", false]], "disassemblergraphview::instr::size (c++ member)": [[321, "_CPPv4N21DisassemblerGraphView5Instr4sizeE", false]], "disassemblergraphview::instr::text (c++ member)": [[321, "_CPPv4N21DisassemblerGraphView5Instr4textE", false]], "disassemblergraphview::isgraphempty (c++ function)": [[223, "_CPPv4N21DisassemblerGraphView12isGraphEmptyEv", false]], "disassemblergraphview::loadcurrentgraph (c++ function)": [[223, "_CPPv4N21DisassemblerGraphView16loadCurrentGraphEv", false]], "disassemblergraphview::namechanged (c++ function)": [[223, "_CPPv4N21DisassemblerGraphView11nameChangedERK7QString", false]], "disassemblergraphview::nextinstr (c++ function)": [[223, "_CPPv4N21DisassemblerGraphView9nextInstrEv", false]], "disassemblergraphview::onseekchanged (c++ function)": [[223, "_CPPv4N21DisassemblerGraphView13onSeekChangedE3RVA", false]], "disassemblergraphview::previnstr (c++ function)": [[223, "_CPPv4N21DisassemblerGraphView9prevInstrEv", false]], "disassemblergraphview::refreshview (c++ function)": [[223, "_CPPv4N21DisassemblerGraphView11refreshViewEv", false]], "disassemblergraphview::takefalse (c++ function)": [[223, "_CPPv4N21DisassemblerGraphView9takeFalseEv", false]], "disassemblergraphview::taketrue (c++ function)": [[223, "_CPPv4N21DisassemblerGraphView8takeTrueEv", false]], "disassemblergraphview::text (c++ struct)": [[322, "_CPPv4N21DisassemblerGraphView4TextE", false]], "disassemblergraphview::text::lines (c++ member)": [[322, "_CPPv4N21DisassemblerGraphView4Text5linesE", false]], "disassemblergraphview::text::text (c++ function)": [[322, "_CPPv4N21DisassemblerGraphView4Text4TextERK7QString6QColor6QColor", false], [322, "_CPPv4N21DisassemblerGraphView4Text4TextERKN15RichTextPainter4ListE", false], [322, "_CPPv4N21DisassemblerGraphView4Text4TextEv", false]], "disassemblergraphview::text::toqstring (c++ function)": [[322, "_CPPv4NK21DisassemblerGraphView4Text9ToQStringEv", false]], "disassemblergraphview::token (c++ struct)": [[323, "_CPPv4N21DisassemblerGraphView5TokenE", false]], "disassemblergraphview::token::content (c++ member)": [[323, "_CPPv4N21DisassemblerGraphView5Token7contentE", false]], "disassemblergraphview::token::instr (c++ member)": [[323, "_CPPv4N21DisassemblerGraphView5Token5instrE", false]], "disassemblergraphview::token::length (c++ member)": [[323, "_CPPv4N21DisassemblerGraphView5Token6lengthE", false]], "disassemblergraphview::token::name (c++ member)": [[323, "_CPPv4N21DisassemblerGraphView5Token4nameE", false]], "disassemblergraphview::token::start (c++ member)": [[323, "_CPPv4N21DisassemblerGraphView5Token5startE", false]], "disassemblergraphview::token::type (c++ member)": [[323, "_CPPv4N21DisassemblerGraphView5Token4typeE", false]], "disassemblergraphview::windowtitle (c++ member)": [[223, "_CPPv4N21DisassemblerGraphView11windowTitleE", false]], "disassemblergraphview::~disassemblergraphview (c++ function)": [[223, "_CPPv4N21DisassemblerGraphViewD0Ev", false]], "disassemblycontextmenu (c++ class)": [[169, "_CPPv422DisassemblyContextMenu", false]], "disassemblycontextmenu::copy (c++ function)": [[169, "_CPPv4N22DisassemblyContextMenu4copyEv", false]], "disassemblycontextmenu::disassemblycontextmenu (c++ function)": [[169, "_CPPv4N22DisassemblyContextMenu22DisassemblyContextMenuEP7QWidgetP10MainWindow", false]], "disassemblycontextmenu::dorenameinfo (c++ struct)": [[171, "_CPPv4N22DisassemblyContextMenu12DoRenameInfoE", false]], "disassemblycontextmenu::dorenameinfo::addr (c++ member)": [[171, "_CPPv4N22DisassemblyContextMenu12DoRenameInfo4addrE", false]], "disassemblycontextmenu::dorenameinfo::name (c++ member)": [[171, "_CPPv4N22DisassemblyContextMenu12DoRenameInfo4nameE", false]], "disassemblycontextmenu::setcancopy (c++ function)": [[169, "_CPPv4N22DisassemblyContextMenu10setCanCopyEb", false]], "disassemblycontextmenu::setcurhighlightedword (c++ function)": [[169, "_CPPv4N22DisassemblyContextMenu21setCurHighlightedWordERK7QString", false]], "disassemblycontextmenu::setoffset (c++ function)": [[169, "_CPPv4N22DisassemblyContextMenu9setOffsetE3RVA", false]], "disassemblycontextmenu::thingusedhere (c++ struct)": [[172, "_CPPv4N22DisassemblyContextMenu13ThingUsedHereE", false]], "disassemblycontextmenu::thingusedhere::name (c++ member)": [[172, "_CPPv4N22DisassemblyContextMenu13ThingUsedHere4nameE", false]], "disassemblycontextmenu::thingusedhere::offset (c++ member)": [[172, "_CPPv4N22DisassemblyContextMenu13ThingUsedHere6offsetE", false]], "disassemblycontextmenu::thingusedhere::type (c++ enum)": [[172, "_CPPv4N22DisassemblyContextMenu13ThingUsedHere4TypeE", false]], "disassemblycontextmenu::thingusedhere::type (c++ member)": [[172, "_CPPv4N22DisassemblyContextMenu13ThingUsedHere4typeE", false]], "disassemblycontextmenu::thingusedhere::type::address (c++ enumerator)": [[172, "_CPPv4N22DisassemblyContextMenu13ThingUsedHere4Type7AddressE", false]], "disassemblycontextmenu::thingusedhere::type::flag (c++ enumerator)": [[172, "_CPPv4N22DisassemblyContextMenu13ThingUsedHere4Type4FlagE", false]], "disassemblycontextmenu::thingusedhere::type::function (c++ enumerator)": [[172, "_CPPv4N22DisassemblyContextMenu13ThingUsedHere4Type8FunctionE", false]], "disassemblycontextmenu::thingusedhere::type::var (c++ enumerator)": [[172, "_CPPv4N22DisassemblyContextMenu13ThingUsedHere4Type3VarE", false]], "disassemblycontextmenu::~disassemblycontextmenu (c++ function)": [[169, "_CPPv4N22DisassemblyContextMenuD0Ev", false]], "disassemblyleftpanel (c++ class)": [[224, "_CPPv420DisassemblyLeftPanel", false]], "disassemblyleftpanel::arrow (c++ struct)": [[324, "_CPPv4N20DisassemblyLeftPanel5ArrowE", false]], "disassemblyleftpanel::arrow::arrow (c++ function)": [[324, "_CPPv4N20DisassemblyLeftPanel5Arrow5ArrowE3RVA3RVA", false]], "disassemblyleftpanel::arrow::contains (c++ function)": [[324, "_CPPv4NK20DisassemblyLeftPanel5Arrow8containsE3RVA", false]], "disassemblyleftpanel::arrow::intersects (c++ function)": [[324, "_CPPv4NK20DisassemblyLeftPanel5Arrow10intersectsERK5Arrow", false]], "disassemblyleftpanel::arrow::jmpfromoffset (c++ function)": [[324, "_CPPv4NK20DisassemblyLeftPanel5Arrow13jmpFromOffsetEv", false]], "disassemblyleftpanel::arrow::jmptoffset (c++ function)": [[324, "_CPPv4NK20DisassemblyLeftPanel5Arrow10jmpToffsetEv", false]], "disassemblyleftpanel::arrow::length (c++ function)": [[324, "_CPPv4NK20DisassemblyLeftPanel5Arrow6lengthEv", false]], "disassemblyleftpanel::arrow::level (c++ member)": [[324, "_CPPv4N20DisassemblyLeftPanel5Arrow5levelE", false]], "disassemblyleftpanel::arrow::max (c++ member)": [[324, "_CPPv4N20DisassemblyLeftPanel5Arrow3maxE", false]], "disassemblyleftpanel::arrow::min (c++ member)": [[324, "_CPPv4N20DisassemblyLeftPanel5Arrow3minE", false]], "disassemblyleftpanel::arrow::up (c++ member)": [[324, "_CPPv4N20DisassemblyLeftPanel5Arrow2upE", false]], "disassemblyleftpanel::cleararrowfrom (c++ function)": [[224, "_CPPv4N20DisassemblyLeftPanel14clearArrowFromE3RVA", false]], "disassemblyleftpanel::disassemblyleftpanel (c++ function)": [[224, "_CPPv4N20DisassemblyLeftPanel20DisassemblyLeftPanelEP17DisassemblyWidget", false]], "disassemblyleftpanel::paintevent (c++ function)": [[224, "_CPPv4N20DisassemblyLeftPanel10paintEventEP11QPaintEvent", false]], "disassemblyleftpanel::wheelevent (c++ function)": [[224, "_CPPv4N20DisassemblyLeftPanel10wheelEventEP11QWheelEvent", false]], "disassemblyline (c++ struct)": [[94, "_CPPv415DisassemblyLine", false]], "disassemblyline::arrow (c++ member)": [[94, "_CPPv4N15DisassemblyLine5arrowE", false]], "disassemblyline::offset (c++ member)": [[94, "_CPPv4N15DisassemblyLine6offsetE", false]], "disassemblyline::text (c++ member)": [[94, "_CPPv4N15DisassemblyLine4textE", false]], "disassemblyscrollarea (c++ class)": [[225, "_CPPv421DisassemblyScrollArea", false]], "disassemblyscrollarea::disassemblyresized (c++ function)": [[225, "_CPPv4N21DisassemblyScrollArea18disassemblyResizedEv", false]], "disassemblyscrollarea::disassemblyscrollarea (c++ function)": [[225, "_CPPv4N21DisassemblyScrollArea21DisassemblyScrollAreaEP7QWidget", false]], "disassemblyscrollarea::scrolllines (c++ function)": [[225, "_CPPv4N21DisassemblyScrollArea11scrollLinesEi", false]], "disassemblytextblockuserdata (c++ class)": [[18, "_CPPv428DisassemblyTextBlockUserData", false]], "disassemblytextblockuserdata::disassemblytextblockuserdata (c++ function)": [[18, "_CPPv4N28DisassemblyTextBlockUserData28DisassemblyTextBlockUserDataERK15DisassemblyLine", false]], "disassemblytextblockuserdata::line (c++ member)": [[18, "_CPPv4N28DisassemblyTextBlockUserData4lineE", false]], "disassemblytextedit (c++ class)": [[226, "_CPPv419DisassemblyTextEdit", false]], "disassemblytextedit::disassemblytextedit (c++ function)": [[226, "_CPPv4N19DisassemblyTextEdit19DisassemblyTextEditEP7QWidget", false]], "disassemblytextedit::setlockscroll (c++ function)": [[226, "_CPPv4N19DisassemblyTextEdit13setLockScrollEb", false]], "disassemblytextedit::textoffset (c++ function)": [[226, "_CPPv4NK19DisassemblyTextEdit10textOffsetEv", false]], "disassemblywidget (c++ class)": [[227, "_CPPv417DisassemblyWidget", false]], "disassemblywidget::colorsupdatedslot (c++ function)": [[227, "_CPPv4N17DisassemblyWidget17colorsUpdatedSlotEv", false]], "disassemblywidget::disassemblywidget (c++ function)": [[227, "_CPPv4N17DisassemblyWidget17DisassemblyWidgetEP10MainWindow", false]], "disassemblywidget::fontsupdatedslot (c++ function)": [[227, "_CPPv4N17DisassemblyWidget16fontsUpdatedSlotEv", false]], "disassemblywidget::getfontmetrics (c++ function)": [[227, "_CPPv4N17DisassemblyWidget14getFontMetricsEv", false]], "disassemblywidget::getlines (c++ function)": [[227, "_CPPv4N17DisassemblyWidget8getLinesEv", false]], "disassemblywidget::gettextwidget (c++ function)": [[227, "_CPPv4N17DisassemblyWidget13getTextWidgetEv", false]], "disassemblywidget::getwidgettype (c++ function)": [[227, "_CPPv4N17DisassemblyWidget13getWidgetTypeEv", false]], "disassemblywidget::highlightcurrentline (c++ function)": [[227, "_CPPv4N17DisassemblyWidget20highlightCurrentLineEv", false]], "disassemblywidget::highlightpcline (c++ function)": [[227, "_CPPv4N17DisassemblyWidget15highlightPCLineEv", false]], "disassemblywidget::scrollinstructions (c++ function)": [[227, "_CPPv4N17DisassemblyWidget18scrollInstructionsEi", false]], "disassemblywidget::seekprev (c++ function)": [[227, "_CPPv4N17DisassemblyWidget8seekPrevEv", false]], "disassemblywidget::setpreviewmode (c++ function)": [[227, "_CPPv4N17DisassemblyWidget14setPreviewModeEb", false]], "disassemblywidget::showdisascontextmenu (c++ function)": [[227, "_CPPv4N17DisassemblyWidget20showDisasContextMenuERK6QPoint", false]], "duplicatefromoffsetdialog (c++ class)": [[133, "_CPPv425DuplicateFromOffsetDialog", false]], "duplicatefromoffsetdialog::duplicatefromoffsetdialog (c++ function)": [[133, "_CPPv4N25DuplicateFromOffsetDialog25DuplicateFromOffsetDialogEP7QWidget", false]], "duplicatefromoffsetdialog::getnbytes (c++ function)": [[133, "_CPPv4NK25DuplicateFromOffsetDialog9getNBytesEv", false]], "duplicatefromoffsetdialog::getoffset (c++ function)": [[133, "_CPPv4NK25DuplicateFromOffsetDialog9getOffsetEv", false]], "editfunctiondialog (c++ class)": [[134, "_CPPv418EditFunctionDialog", false]], "editfunctiondialog::editfunctiondialog (c++ function)": [[134, "_CPPv4N18EditFunctionDialog18EditFunctionDialogEP7QWidget", false]], "editfunctiondialog::getcallconselected (c++ function)": [[134, "_CPPv4N18EditFunctionDialog18getCallConSelectedEv", false]], "editfunctiondialog::getendaddrtext (c++ function)": [[134, "_CPPv4N18EditFunctionDialog14getEndAddrTextEv", false]], "editfunctiondialog::getnametext (c++ function)": [[134, "_CPPv4N18EditFunctionDialog11getNameTextEv", false]], "editfunctiondialog::getstacksizetext (c++ function)": [[134, "_CPPv4N18EditFunctionDialog16getStackSizeTextEv", false]], "editfunctiondialog::getstartaddrtext (c++ function)": [[134, "_CPPv4N18EditFunctionDialog16getStartAddrTextEv", false]], "editfunctiondialog::setcallconlist (c++ function)": [[134, "_CPPv4N18EditFunctionDialog14setCallConListERK11QStringList", false]], "editfunctiondialog::setcallconselected (c++ function)": [[134, "_CPPv4N18EditFunctionDialog18setCallConSelectedERK7QString", false]], "editfunctiondialog::setendaddrtext (c++ function)": [[134, "_CPPv4N18EditFunctionDialog14setEndAddrTextERK7QString", false]], "editfunctiondialog::setnametext (c++ function)": [[134, "_CPPv4N18EditFunctionDialog11setNameTextERK7QString", false]], "editfunctiondialog::setstacksizetext (c++ function)": [[134, "_CPPv4N18EditFunctionDialog16setStackSizeTextERK7QString", false]], "editfunctiondialog::setstartaddrtext (c++ function)": [[134, "_CPPv4N18EditFunctionDialog16setStartAddrTextERK7QString", false]], "editfunctiondialog::~editfunctiondialog (c++ function)": [[134, "_CPPv4N18EditFunctionDialogD0Ev", false]], "editinstructiondialog (c++ class)": [[135, "_CPPv421EditInstructionDialog", false]], "editinstructiondialog::editinstructiondialog (c++ function)": [[135, "_CPPv4N21EditInstructionDialog21EditInstructionDialogE19InstructionEditModeP7QWidget", false]], "editinstructiondialog::getinstruction (c++ function)": [[135, "_CPPv4NK21EditInstructionDialog14getInstructionEv", false]], "editinstructiondialog::needsnops (c++ function)": [[135, "_CPPv4NK21EditInstructionDialog9needsNopsEv", false]], "editinstructiondialog::setinstruction (c++ function)": [[135, "_CPPv4N21EditInstructionDialog14setInstructionERK7QString", false]], "editinstructiondialog::~editinstructiondialog (c++ function)": [[135, "_CPPv4N21EditInstructionDialogD0Ev", false]], "editmethoddialog (c++ class)": [[136, "_CPPv416EditMethodDialog", false]], "editmethoddialog::editmethod (c++ function)": [[136, "_CPPv4N16EditMethodDialog10editMethodERK7QStringRK7QStringP7QWidget", false]], "editmethoddialog::editmethoddialog (c++ function)": [[136, "_CPPv4N16EditMethodDialog16EditMethodDialogEbP7QWidget", false]], "editmethoddialog::getclass (c++ function)": [[136, "_CPPv4NK16EditMethodDialog8getClassEv", false]], "editmethoddialog::getmethod (c++ function)": [[136, "_CPPv4NK16EditMethodDialog9getMethodEv", false]], "editmethoddialog::newmethod (c++ function)": [[136, "_CPPv4N16EditMethodDialog9newMethodE7QStringRK7QStringP7QWidget", false]], "editmethoddialog::setclass (c++ function)": [[136, "_CPPv4N16EditMethodDialog8setClassERK7QString", false]], "editmethoddialog::setmethod (c++ function)": [[136, "_CPPv4N16EditMethodDialog9setMethodERK25AnalysisMethodDescription", false]], "editmethoddialog::showdialog (c++ function)": [[136, "_CPPv4N16EditMethodDialog10showDialogERK7QStringbP7QStringP25AnalysisMethodDescriptionP7QWidget", false]], "editmethoddialog::~editmethoddialog (c++ function)": [[136, "_CPPv4N16EditMethodDialogD0Ev", false]], "editstringdialog (c++ class)": [[137, "_CPPv416EditStringDialog", false]], "editstringdialog::editstringdialog (c++ function)": [[137, "_CPPv4N16EditStringDialog16EditStringDialogEP7QWidget", false]], "editstringdialog::getstringsizevalue (c++ function)": [[137, "_CPPv4NK16EditStringDialog18getStringSizeValueEv", false]], "editstringdialog::getstringstartaddress (c++ function)": [[137, "_CPPv4NK16EditStringDialog21getStringStartAddressER8uint64_t", false]], "editstringdialog::getstringtype (c++ function)": [[137, "_CPPv4NK16EditStringDialog13getStringTypeEv", false]], "editstringdialog::setstringsizevalue (c++ function)": [[137, "_CPPv4N16EditStringDialog18setStringSizeValueE8uint32_t", false]], "editstringdialog::setstringstartaddress (c++ function)": [[137, "_CPPv4N16EditStringDialog21setStringStartAddressE8uint64_t", false]], "editstringdialog::stringtype (c++ enum)": [[137, "_CPPv4N16EditStringDialog10StringTypeE", false]], "editstringdialog::stringtype::ascii_latin1 (c++ enumerator)": [[137, "_CPPv4N16EditStringDialog10StringType12ASCII_LATIN1E", false]], "editstringdialog::stringtype::auto (c++ enumerator)": [[137, "_CPPv4N16EditStringDialog10StringType4AutoE", false]], "editstringdialog::stringtype::utf8 (c++ enumerator)": [[137, "_CPPv4N16EditStringDialog10StringType4UTF8E", false]], "editstringdialog::~editstringdialog (c++ function)": [[137, "_CPPv4N16EditStringDialogD0Ev", false]], "editvariablesdialog (c++ class)": [[138, "_CPPv419EditVariablesDialog", false]], "editvariablesdialog::editvariablesdialog (c++ function)": [[138, "_CPPv4N19EditVariablesDialog19EditVariablesDialogE3RVA7QStringP7QWidget", false]], "editvariablesdialog::empty (c++ function)": [[138, "_CPPv4NK19EditVariablesDialog5emptyEv", false]], "editvariablesdialog::~editvariablesdialog (c++ function)": [[138, "_CPPv4N19EditVariablesDialogD0Ev", false]], "entrypointdescription (c++ struct)": [[95, "_CPPv421EntrypointDescription", false]], "entrypointdescription::baddr (c++ member)": [[95, "_CPPv4N21EntrypointDescription5baddrE", false]], "entrypointdescription::haddr (c++ member)": [[95, "_CPPv4N21EntrypointDescription5haddrE", false]], "entrypointdescription::laddr (c++ member)": [[95, "_CPPv4N21EntrypointDescription5laddrE", false]], "entrypointdescription::paddr (c++ member)": [[95, "_CPPv4N21EntrypointDescription5paddrE", false]], "entrypointdescription::type (c++ member)": [[95, "_CPPv4N21EntrypointDescription4typeE", false]], "entrypointdescription::vaddr (c++ member)": [[95, "_CPPv4N21EntrypointDescription5vaddrE", false]], "entrypointwidget (c++ class)": [[228, "_CPPv416EntrypointWidget", false]], "entrypointwidget::entrypointwidget (c++ function)": [[228, "_CPPv4N16EntrypointWidget16EntrypointWidgetEP10MainWindow", false]], "entrypointwidget::~entrypointwidget (c++ function)": [[228, "_CPPv4N16EntrypointWidgetD0Ev", false]], "exportdescription (c++ struct)": [[96, "_CPPv417ExportDescription", false]], "exportdescription::flag_name (c++ member)": [[96, "_CPPv4N17ExportDescription9flag_nameE", false]], "exportdescription::name (c++ member)": [[96, "_CPPv4N17ExportDescription4nameE", false]], "exportdescription::paddr (c++ member)": [[96, "_CPPv4N17ExportDescription5paddrE", false]], "exportdescription::size (c++ member)": [[96, "_CPPv4N17ExportDescription4sizeE", false]], "exportdescription::type (c++ member)": [[96, "_CPPv4N17ExportDescription4typeE", false]], "exportdescription::vaddr (c++ member)": [[96, "_CPPv4N17ExportDescription5vaddrE", false]], "exportsmodel (c++ class)": [[229, "_CPPv412ExportsModel", false]], "exportsmodel::address (c++ function)": [[229, "_CPPv4NK12ExportsModel7addressERK11QModelIndex", false]], "exportsmodel::column (c++ enum)": [[229, "_CPPv4N12ExportsModel6ColumnE", false]], "exportsmodel::column::columncount (c++ enumerator)": [[229, "_CPPv4N12ExportsModel6Column11ColumnCountE", false]], "exportsmodel::column::commentcolumn (c++ enumerator)": [[229, "_CPPv4N12ExportsModel6Column13CommentColumnE", false]], "exportsmodel::column::namecolumn (c++ enumerator)": [[229, "_CPPv4N12ExportsModel6Column10NameColumnE", false]], "exportsmodel::column::offsetcolumn (c++ enumerator)": [[229, "_CPPv4N12ExportsModel6Column12OffsetColumnE", false]], "exportsmodel::column::sizecolumn (c++ enumerator)": [[229, "_CPPv4N12ExportsModel6Column10SizeColumnE", false]], "exportsmodel::column::typecolumn (c++ enumerator)": [[229, "_CPPv4N12ExportsModel6Column10TypeColumnE", false]], "exportsmodel::columncount (c++ function)": [[229, "_CPPv4NK12ExportsModel11columnCountERK11QModelIndex", false]], "exportsmodel::data (c++ function)": [[229, "_CPPv4NK12ExportsModel4dataERK11QModelIndexi", false]], "exportsmodel::exportsmodel (c++ function)": [[229, "_CPPv4N12ExportsModel12ExportsModelEP5QListI17ExportDescriptionEP7QObject", false]], "exportsmodel::headerdata (c++ function)": [[229, "_CPPv4NK12ExportsModel10headerDataEiN2Qt11OrientationEi", false]], "exportsmodel::name (c++ function)": [[229, "_CPPv4NK12ExportsModel4nameERK11QModelIndex", false]], "exportsmodel::role (c++ enum)": [[229, "_CPPv4N12ExportsModel4RoleE", false]], "exportsmodel::role::exportdescriptionrole (c++ enumerator)": [[229, "_CPPv4N12ExportsModel4Role21ExportDescriptionRoleE", false]], "exportsmodel::rowcount (c++ function)": [[229, "_CPPv4NK12ExportsModel8rowCountERK11QModelIndex", false]], "exportsproxymodel (c++ class)": [[230, "_CPPv417ExportsProxyModel", false]], "exportsproxymodel::exportsproxymodel (c++ function)": [[230, "_CPPv4N17ExportsProxyModel17ExportsProxyModelEP12ExportsModelP7QObject", false]], "exportswidget (c++ class)": [[231, "_CPPv413ExportsWidget", false]], "exportswidget::exportswidget (c++ function)": [[231, "_CPPv4N13ExportsWidget13ExportsWidgetEP10MainWindow", false]], "exportswidget::~exportswidget (c++ function)": [[231, "_CPPv4N13ExportsWidgetD0Ev", false]], "fallbacksyntaxhighlighter (c++ class)": [[19, "_CPPv425FallbackSyntaxHighlighter", false]], "fallbacksyntaxhighlighter::fallbacksyntaxhighlighter (c++ function)": [[19, "_CPPv4N25FallbackSyntaxHighlighter25FallbackSyntaxHighlighterEP13QTextDocument", false]], "fallbacksyntaxhighlighter::highlightingrule (c++ struct)": [[52, "_CPPv4N25FallbackSyntaxHighlighter16HighlightingRuleE", false]], "fallbacksyntaxhighlighter::highlightingrule::format (c++ member)": [[52, "_CPPv4N25FallbackSyntaxHighlighter16HighlightingRule6formatE", false]], "fallbacksyntaxhighlighter::highlightingrule::pattern (c++ member)": [[52, "_CPPv4N25FallbackSyntaxHighlighter16HighlightingRule7patternE", false]], "fallbacksyntaxhighlighter::~fallbacksyntaxhighlighter (c++ function)": [[19, "_CPPv4N25FallbackSyntaxHighlighterD0Ev", false]], "flagdescription (c++ struct)": [[97, "_CPPv415FlagDescription", false]], "flagdescription::name (c++ member)": [[97, "_CPPv4N15FlagDescription4nameE", false]], "flagdescription::offset (c++ member)": [[97, "_CPPv4N15FlagDescription6offsetE", false]], "flagdescription::realname (c++ member)": [[97, "_CPPv4N15FlagDescription8realnameE", false]], "flagdescription::size (c++ member)": [[97, "_CPPv4N15FlagDescription4sizeE", false]], "flagdialog (c++ class)": [[139, "_CPPv410FlagDialog", false]], "flagdialog::flagdialog (c++ function)": [[139, "_CPPv4N10FlagDialog10FlagDialogE3RVAP7QWidget", false]], "flagdialog::~flagdialog (c++ function)": [[139, "_CPPv4N10FlagDialogD0Ev", false]], "flagsmodel (c++ class)": [[232, "_CPPv410FlagsModel", false]], "flagsmodel::address (c++ function)": [[232, "_CPPv4NK10FlagsModel7addressERK11QModelIndex", false]], "flagsmodel::columncount (c++ function)": [[232, "_CPPv4NK10FlagsModel11columnCountERK11QModelIndex", false]], "flagsmodel::columns (c++ enum)": [[232, "_CPPv4N10FlagsModel7ColumnsE", false]], "flagsmodel::columns::comment (c++ enumerator)": [[232, "_CPPv4N10FlagsModel7Columns7COMMENTE", false]], "flagsmodel::columns::count (c++ enumerator)": [[232, "_CPPv4N10FlagsModel7Columns5COUNTE", false]], "flagsmodel::columns::name (c++ enumerator)": [[232, "_CPPv4N10FlagsModel7Columns4NAMEE", false]], "flagsmodel::columns::offset (c++ enumerator)": [[232, "_CPPv4N10FlagsModel7Columns6OFFSETE", false]], "flagsmodel::columns::realname (c++ enumerator)": [[232, "_CPPv4N10FlagsModel7Columns8REALNAMEE", false]], "flagsmodel::columns::size (c++ enumerator)": [[232, "_CPPv4N10FlagsModel7Columns4SIZEE", false]], "flagsmodel::data (c++ function)": [[232, "_CPPv4NK10FlagsModel4dataERK11QModelIndexi", false]], "flagsmodel::description (c++ function)": [[232, "_CPPv4NK10FlagsModel11descriptionE11QModelIndex", false]], "flagsmodel::flagdescriptionrole (c++ member)": [[232, "_CPPv4N10FlagsModel19FlagDescriptionRoleE", false]], "flagsmodel::flagsmodel (c++ function)": [[232, "_CPPv4N10FlagsModel10FlagsModelEP5QListI15FlagDescriptionEP7QObject", false]], "flagsmodel::headerdata (c++ function)": [[232, "_CPPv4NK10FlagsModel10headerDataEiN2Qt11OrientationEi", false]], "flagsmodel::name (c++ function)": [[232, "_CPPv4NK10FlagsModel4nameERK11QModelIndex", false]], "flagsmodel::rowcount (c++ function)": [[232, "_CPPv4NK10FlagsModel8rowCountERK11QModelIndex", false]], "flagspacedescription (c++ struct)": [[98, "_CPPv420FlagspaceDescription", false]], "flagspacedescription::name (c++ member)": [[98, "_CPPv4N20FlagspaceDescription4nameE", false]], "flagssortfilterproxymodel (c++ class)": [[233, "_CPPv425FlagsSortFilterProxyModel", false]], "flagssortfilterproxymodel::flagssortfilterproxymodel (c++ function)": [[233, "_CPPv4N25FlagsSortFilterProxyModel25FlagsSortFilterProxyModelEP10FlagsModelP7QObject", false]], "flagswidget (c++ class)": [[234, "_CPPv411FlagsWidget", false]], "flagswidget::flagswidget (c++ function)": [[234, "_CPPv4N11FlagsWidget11FlagsWidgetEP10MainWindow", false]], "flagswidget::~flagswidget (c++ function)": [[234, "_CPPv4N11FlagsWidgetD0Ev", false]], "flirtcontextmenu (c++ class)": [[170, "_CPPv416FlirtContextMenu", false]], "flirtcontextmenu::cleartarget (c++ function)": [[170, "_CPPv4N16FlirtContextMenu11clearTargetEv", false]], "flirtcontextmenu::flirtcontextmenu (c++ function)": [[170, "_CPPv4N16FlirtContextMenu16FlirtContextMenuEP7QWidgetP10MainWindow", false]], "flirtcontextmenu::settarget (c++ function)": [[170, "_CPPv4N16FlirtContextMenu9setTargetERK16FlirtDescription", false]], "flirtcontextmenu::~flirtcontextmenu (c++ function)": [[170, "_CPPv4N16FlirtContextMenuD0Ev", false]], "flirtdescription (c++ struct)": [[99, "_CPPv416FlirtDescription", false]], "flirtdescription::arch_bits (c++ member)": [[99, "_CPPv4N16FlirtDescription9arch_bitsE", false]], "flirtdescription::arch_name (c++ member)": [[99, "_CPPv4N16FlirtDescription9arch_nameE", false]], "flirtdescription::base_name (c++ member)": [[99, "_CPPv4N16FlirtDescription9base_nameE", false]], "flirtdescription::bin_name (c++ member)": [[99, "_CPPv4N16FlirtDescription8bin_nameE", false]], "flirtdescription::details (c++ member)": [[99, "_CPPv4N16FlirtDescription7detailsE", false]], "flirtdescription::file_path (c++ member)": [[99, "_CPPv4N16FlirtDescription9file_pathE", false]], "flirtdescription::n_modules (c++ member)": [[99, "_CPPv4N16FlirtDescription9n_modulesE", false]], "flirtdescription::short_path (c++ member)": [[99, "_CPPv4N16FlirtDescription10short_pathE", false]], "flirtmodel (c++ class)": [[235, "_CPPv410FlirtModel", false]], "flirtmodel::column (c++ enum)": [[235, "_CPPv4N10FlirtModel6ColumnE", false]], "flirtmodel::column::archbitscolumn (c++ enumerator)": [[235, "_CPPv4N10FlirtModel6Column14ArchBitsColumnE", false]], "flirtmodel::column::archnamecolumn (c++ enumerator)": [[235, "_CPPv4N10FlirtModel6Column14ArchNameColumnE", false]], "flirtmodel::column::bintypecolumn (c++ enumerator)": [[235, "_CPPv4N10FlirtModel6Column13BinTypeColumnE", false]], "flirtmodel::column::columncount (c++ enumerator)": [[235, "_CPPv4N10FlirtModel6Column11ColumnCountE", false]], "flirtmodel::column::detailscolumn (c++ enumerator)": [[235, "_CPPv4N10FlirtModel6Column13DetailsColumnE", false]], "flirtmodel::column::namecolumn (c++ enumerator)": [[235, "_CPPv4N10FlirtModel6Column10NameColumnE", false]], "flirtmodel::column::nummodulescolumn (c++ enumerator)": [[235, "_CPPv4N10FlirtModel6Column16NumModulesColumnE", false]], "flirtmodel::columncount (c++ function)": [[235, "_CPPv4NK10FlirtModel11columnCountERK11QModelIndex", false]], "flirtmodel::data (c++ function)": [[235, "_CPPv4NK10FlirtModel4dataERK11QModelIndexi", false]], "flirtmodel::flirtmodel (c++ function)": [[235, "_CPPv4N10FlirtModel10FlirtModelEP5QListI16FlirtDescriptionEP7QObject", false]], "flirtmodel::headerdata (c++ function)": [[235, "_CPPv4NK10FlirtModel10headerDataEiN2Qt11OrientationEi", false]], "flirtmodel::role (c++ enum)": [[235, "_CPPv4N10FlirtModel4RoleE", false]], "flirtmodel::role::flirtdescriptionrole (c++ enumerator)": [[235, "_CPPv4N10FlirtModel4Role20FlirtDescriptionRoleE", false]], "flirtmodel::rowcount (c++ function)": [[235, "_CPPv4NK10FlirtModel8rowCountERK11QModelIndex", false]], "flirtproxymodel (c++ class)": [[236, "_CPPv415FlirtProxyModel", false]], "flirtproxymodel::flirtproxymodel (c++ function)": [[236, "_CPPv4N15FlirtProxyModel15FlirtProxyModelEP10FlirtModelP7QObject", false]], "flirtwidget (c++ class)": [[237, "_CPPv411FlirtWidget", false]], "flirtwidget::flirtwidget (c++ function)": [[237, "_CPPv4N11FlirtWidget11FlirtWidgetEP10MainWindow", false]], "flirtwidget::~flirtwidget (c++ function)": [[237, "_CPPv4N11FlirtWidgetD0Ev", false]], "freebinder (c++ class)": [[75, "_CPPv4I0_PFvP1TEE10FreeBinder", false]], "freebinder::operator() (c++ function)": [[75, "_CPPv4N10FreeBinderclEP1T", false]], "functiondescription (c++ struct)": [[100, "_CPPv419FunctionDescription", false]], "functiondescription::calltype (c++ member)": [[100, "_CPPv4N19FunctionDescription8calltypeE", false]], "functiondescription::contains (c++ function)": [[100, "_CPPv4NK19FunctionDescription8containsE3RVA", false]], "functiondescription::edges (c++ member)": [[100, "_CPPv4N19FunctionDescription5edgesE", false]], "functiondescription::linearsize (c++ member)": [[100, "_CPPv4N19FunctionDescription10linearSizeE", false]], "functiondescription::name (c++ member)": [[100, "_CPPv4N19FunctionDescription4nameE", false]], "functiondescription::nargs (c++ member)": [[100, "_CPPv4N19FunctionDescription5nargsE", false]], "functiondescription::nbbs (c++ member)": [[100, "_CPPv4N19FunctionDescription4nbbsE", false]], "functiondescription::nlocals (c++ member)": [[100, "_CPPv4N19FunctionDescription7nlocalsE", false]], "functiondescription::offset (c++ member)": [[100, "_CPPv4N19FunctionDescription6offsetE", false]], "functiondescription::stackframe (c++ member)": [[100, "_CPPv4N19FunctionDescription10stackframeE", false]], "functionmodel (c++ class)": [[238, "_CPPv413FunctionModel", false]], "functionmodel::address (c++ function)": [[238, "_CPPv4NK13FunctionModel7addressERK11QModelIndex", false]], "functionmodel::column (c++ enum)": [[238, "_CPPv4N13FunctionModel6ColumnE", false]], "functionmodel::column::calltypecolumn (c++ enumerator)": [[238, "_CPPv4N13FunctionModel6Column14CalltypeColumnE", false]], "functionmodel::column::columncount (c++ enumerator)": [[238, "_CPPv4N13FunctionModel6Column11ColumnCountE", false]], "functionmodel::column::commentcolumn (c++ enumerator)": [[238, "_CPPv4N13FunctionModel6Column13CommentColumnE", false]], "functionmodel::column::edgescolumn (c++ enumerator)": [[238, "_CPPv4N13FunctionModel6Column11EdgesColumnE", false]], "functionmodel::column::framecolumn (c++ enumerator)": [[238, "_CPPv4N13FunctionModel6Column11FrameColumnE", false]], "functionmodel::column::importcolumn (c++ enumerator)": [[238, "_CPPv4N13FunctionModel6Column12ImportColumnE", false]], "functionmodel::column::namecolumn (c++ enumerator)": [[238, "_CPPv4N13FunctionModel6Column10NameColumnE", false]], "functionmodel::column::nargscolumn (c++ enumerator)": [[238, "_CPPv4N13FunctionModel6Column11NargsColumnE", false]], "functionmodel::column::nbbscolumn (c++ enumerator)": [[238, "_CPPv4N13FunctionModel6Column10NbbsColumnE", false]], "functionmodel::column::nlocalscolumn (c++ enumerator)": [[238, "_CPPv4N13FunctionModel6Column13NlocalsColumnE", false]], "functionmodel::column::offsetcolumn (c++ enumerator)": [[238, "_CPPv4N13FunctionModel6Column12OffsetColumnE", false]], "functionmodel::column::sizecolumn (c++ enumerator)": [[238, "_CPPv4N13FunctionModel6Column10SizeColumnE", false]], "functionmodel::columncount (c++ function)": [[238, "_CPPv4NK13FunctionModel11columnCountERK11QModelIndex", false]], "functionmodel::data (c++ function)": [[238, "_CPPv4NK13FunctionModel4dataERK11QModelIndexi", false]], "functionmodel::functiondescriptionrole (c++ member)": [[238, "_CPPv4N13FunctionModel23FunctionDescriptionRoleE", false]], "functionmodel::functionmodel (c++ function)": [[238, "_CPPv4N13FunctionModel13FunctionModelEP5QListI19FunctionDescriptionEP4QSetI3RVAEP4ut64b5QFont5QFontP7QObject", false]], "functionmodel::headerdata (c++ function)": [[238, "_CPPv4NK13FunctionModel10headerDataEiN2Qt11OrientationEi", false]], "functionmodel::index (c++ function)": [[238, "_CPPv4NK13FunctionModel5indexEiiRK11QModelIndex", false]], "functionmodel::isimportrole (c++ member)": [[238, "_CPPv4N13FunctionModel12IsImportRoleE", false]], "functionmodel::isnested (c++ function)": [[238, "_CPPv4N13FunctionModel8isNestedEv", false]], "functionmodel::name (c++ function)": [[238, "_CPPv4NK13FunctionModel4nameERK11QModelIndex", false]], "functionmodel::parent (c++ function)": [[238, "_CPPv4NK13FunctionModel6parentERK11QModelIndex", false]], "functionmodel::rowcount (c++ function)": [[238, "_CPPv4NK13FunctionModel8rowCountERK11QModelIndex", false]], "functionmodel::setnested (c++ function)": [[238, "_CPPv4N13FunctionModel9setNestedEb", false]], "functionmodel::updatecurrentindex (c++ function)": [[238, "_CPPv4N13FunctionModel18updateCurrentIndexEv", false]], "functionsortfilterproxymodel (c++ class)": [[239, "_CPPv428FunctionSortFilterProxyModel", false]], "functionsortfilterproxymodel::functionsortfilterproxymodel (c++ function)": [[239, "_CPPv4N28FunctionSortFilterProxyModel28FunctionSortFilterProxyModelEP13FunctionModelP7QObject", false]], "functionstask (c++ class)": [[20, "_CPPv413FunctionsTask", false]], "functionstask::fetchfinished (c++ function)": [[20, "_CPPv4N13FunctionsTask13fetchFinishedERK5QListI19FunctionDescriptionE", false]], "functionstask::gettitle (c++ function)": [[20, "_CPPv4N13FunctionsTask8getTitleEv", false]], "functionswidget (c++ class)": [[240, "_CPPv415FunctionsWidget", false]], "functionswidget::changesizepolicy (c++ function)": [[240, "_CPPv4N15FunctionsWidget16changeSizePolicyEN11QSizePolicy6PolicyEN11QSizePolicy6PolicyE", false]], "functionswidget::functionswidget (c++ function)": [[240, "_CPPv4N15FunctionsWidget15FunctionsWidgetEP10MainWindow", false]], "functionswidget::~functionswidget (c++ function)": [[240, "_CPPv4N15FunctionsWidgetD0Ev", false]], "genericrizingraphview (c++ class)": [[241, "_CPPv421GenericRizinGraphView", false]], "genericrizingraphview::genericrizingraphview (c++ function)": [[241, "_CPPv4N21GenericRizinGraphView21GenericRizinGraphViewEP16RizinGraphWidgetP10MainWindow", false]], "genericrizingraphview::refreshview (c++ function)": [[241, "_CPPv4N21GenericRizinGraphView11refreshViewEv", false]], "genericrizingraphview::setgraphcommand (c++ function)": [[241, "_CPPv4N21GenericRizinGraphView15setGraphCommandE7QString", false]], "glibcheapbinsdialog (c++ class)": [[140, "_CPPv419GlibcHeapBinsDialog", false]], "glibcheapbinsdialog::glibcheapbinsdialog (c++ function)": [[140, "_CPPv4N19GlibcHeapBinsDialog19GlibcHeapBinsDialogE3RVAP10MainWindowP7QWidget", false]], "glibcheapbinsdialog::oncurrentchanged (c++ function)": [[140, "_CPPv4N19GlibcHeapBinsDialog16onCurrentChangedERK11QModelIndexRK11QModelIndex", false]], "glibcheapbinsdialog::setchaininfo (c++ function)": [[140, "_CPPv4N19GlibcHeapBinsDialog12setChainInfoEi", false]], "glibcheapbinsdialog::setgraphview (c++ function)": [[140, "_CPPv4N19GlibcHeapBinsDialog12setGraphViewEi", false]], "glibcheapbinsdialog::~glibcheapbinsdialog (c++ function)": [[140, "_CPPv4N19GlibcHeapBinsDialogD0Ev", false]], "glibcheapinfodialog (c++ class)": [[141, "_CPPv419GlibcHeapInfoDialog", false]], "glibcheapinfodialog::glibcheapinfodialog (c++ function)": [[141, "_CPPv4N19GlibcHeapInfoDialog19GlibcHeapInfoDialogE3RVA7QStringP7QWidget", false]], "glibcheapinfodialog::~glibcheapinfodialog (c++ function)": [[141, "_CPPv4N19GlibcHeapInfoDialogD0Ev", false]], "glibcheapmodel (c++ class)": [[242, "_CPPv414GlibcHeapModel", false]], "glibcheapmodel::arena_addr (c++ member)": [[242, "_CPPv4N14GlibcHeapModel10arena_addrE", false]], "glibcheapmodel::column (c++ enum)": [[242, "_CPPv4N14GlibcHeapModel6ColumnE", false]], "glibcheapmodel::column::columncount (c++ enumerator)": [[242, "_CPPv4N14GlibcHeapModel6Column11ColumnCountE", false]], "glibcheapmodel::column::offsetcolumn (c++ enumerator)": [[242, "_CPPv4N14GlibcHeapModel6Column12OffsetColumnE", false]], "glibcheapmodel::column::sizecolumn (c++ enumerator)": [[242, "_CPPv4N14GlibcHeapModel6Column10SizeColumnE", false]], "glibcheapmodel::column::statuscolumn (c++ enumerator)": [[242, "_CPPv4N14GlibcHeapModel6Column12StatusColumnE", false]], "glibcheapmodel::columncount (c++ function)": [[242, "_CPPv4NK14GlibcHeapModel11columnCountERK11QModelIndex", false]], "glibcheapmodel::data (c++ function)": [[242, "_CPPv4NK14GlibcHeapModel4dataERK11QModelIndexi", false]], "glibcheapmodel::glibcheapmodel (c++ function)": [[242, "_CPPv4N14GlibcHeapModel14GlibcHeapModelEP7QObject", false]], "glibcheapmodel::headerdata (c++ function)": [[242, "_CPPv4NK14GlibcHeapModel10headerDataEiN2Qt11OrientationEi", false]], "glibcheapmodel::reload (c++ function)": [[242, "_CPPv4N14GlibcHeapModel6reloadEv", false]], "glibcheapmodel::rowcount (c++ function)": [[242, "_CPPv4NK14GlibcHeapModel8rowCountERK11QModelIndex", false]], "glibcheapwidget (c++ class)": [[243, "_CPPv415GlibcHeapWidget", false]], "glibcheapwidget::glibcheapwidget (c++ function)": [[243, "_CPPv4N15GlibcHeapWidget15GlibcHeapWidgetEP10MainWindowP7QWidget", false]], "glibcheapwidget::~glibcheapwidget (c++ function)": [[243, "_CPPv4N15GlibcHeapWidgetD0Ev", false]], "globaldescription (c++ struct)": [[101, "_CPPv417GlobalDescription", false]], "globaldescription::addr (c++ member)": [[101, "_CPPv4N17GlobalDescription4addrE", false]], "globaldescription::name (c++ member)": [[101, "_CPPv4N17GlobalDescription4nameE", false]], "globaldescription::type (c++ member)": [[101, "_CPPv4N17GlobalDescription4typeE", false]], "globalsmodel (c++ class)": [[244, "_CPPv412GlobalsModel", false]], "globalsmodel::address (c++ function)": [[244, "_CPPv4NK12GlobalsModel7addressERK11QModelIndex", false]], "globalsmodel::column (c++ enum)": [[244, "_CPPv4N12GlobalsModel6ColumnE", false]], "globalsmodel::column::addresscolumn (c++ enumerator)": [[244, "_CPPv4N12GlobalsModel6Column13AddressColumnE", false]], "globalsmodel::column::columncount (c++ enumerator)": [[244, "_CPPv4N12GlobalsModel6Column11ColumnCountE", false]], "globalsmodel::column::commentcolumn (c++ enumerator)": [[244, "_CPPv4N12GlobalsModel6Column13CommentColumnE", false]], "globalsmodel::column::namecolumn (c++ enumerator)": [[244, "_CPPv4N12GlobalsModel6Column10NameColumnE", false]], "globalsmodel::column::typecolumn (c++ enumerator)": [[244, "_CPPv4N12GlobalsModel6Column10TypeColumnE", false]], "globalsmodel::columncount (c++ function)": [[244, "_CPPv4NK12GlobalsModel11columnCountERK11QModelIndex", false]], "globalsmodel::data (c++ function)": [[244, "_CPPv4NK12GlobalsModel4dataERK11QModelIndexi", false]], "globalsmodel::globalsmodel (c++ function)": [[244, "_CPPv4N12GlobalsModel12GlobalsModelEP5QListI17GlobalDescriptionEP7QObject", false]], "globalsmodel::headerdata (c++ function)": [[244, "_CPPv4NK12GlobalsModel10headerDataEiN2Qt11OrientationEi", false]], "globalsmodel::name (c++ function)": [[244, "_CPPv4NK12GlobalsModel4nameERK11QModelIndex", false]], "globalsmodel::role (c++ enum)": [[244, "_CPPv4N12GlobalsModel4RoleE", false]], "globalsmodel::role::globaldescriptionrole (c++ enumerator)": [[244, "_CPPv4N12GlobalsModel4Role21GlobalDescriptionRoleE", false]], "globalsmodel::rowcount (c++ function)": [[244, "_CPPv4NK12GlobalsModel8rowCountERK11QModelIndex", false]], "globalsproxymodel (c++ class)": [[245, "_CPPv417GlobalsProxyModel", false]], "globalsproxymodel::globalsproxymodel (c++ function)": [[245, "_CPPv4N17GlobalsProxyModel17GlobalsProxyModelEP12GlobalsModelP7QObject", false]], "globalswidget (c++ class)": [[246, "_CPPv413GlobalsWidget", false]], "globalswidget::globalswidget (c++ function)": [[246, "_CPPv4N13GlobalsWidget13GlobalsWidgetEP10MainWindow", false]], "globalswidget::~globalswidget (c++ function)": [[246, "_CPPv4N13GlobalsWidgetD0Ev", false]], "globalvariabledialog (c++ class)": [[142, "_CPPv420GlobalVariableDialog", false]], "globalvariabledialog::globalvariabledialog (c++ function)": [[142, "_CPPv4N20GlobalVariableDialog20GlobalVariableDialogE3RVAP7QWidget", false]], "globalvariabledialog::~globalvariabledialog (c++ function)": [[142, "_CPPv4N20GlobalVariableDialogD0Ev", false]], "graphgridlayout (c++ class)": [[247, "_CPPv415GraphGridLayout", false]], "graphgridlayout::calculatelayout (c++ function)": [[247, "_CPPv4NK15GraphGridLayout15CalculateLayoutER5Graph4ut64RiRi", false]], "graphgridlayout::graphgridlayout (c++ function)": [[247, "_CPPv4N15GraphGridLayout15GraphGridLayoutE10LayoutType", false]], "graphgridlayout::gridblock (c++ struct)": [[325, "_CPPv4N15GraphGridLayout9GridBlockE", false]], "graphgridlayout::gridblock::col (c++ member)": [[325, "_CPPv4N15GraphGridLayout9GridBlock3colE", false]], "graphgridlayout::gridblock::dag_edge (c++ member)": [[325, "_CPPv4N15GraphGridLayout9GridBlock8dag_edgeE", false]], "graphgridlayout::gridblock::has_parent (c++ member)": [[325, "_CPPv4N15GraphGridLayout9GridBlock10has_parentE", false]], "graphgridlayout::gridblock::id (c++ member)": [[325, "_CPPv4N15GraphGridLayout9GridBlock2idE", false]], "graphgridlayout::gridblock::inputcount (c++ member)": [[325, "_CPPv4N15GraphGridLayout9GridBlock10inputCountE", false]], "graphgridlayout::gridblock::lastrowleft (c++ member)": [[325, "_CPPv4N15GraphGridLayout9GridBlock11lastRowLeftE", false]], "graphgridlayout::gridblock::lastrowright (c++ member)": [[325, "_CPPv4N15GraphGridLayout9GridBlock12lastRowRightE", false]], "graphgridlayout::gridblock::leftposition (c++ member)": [[325, "_CPPv4N15GraphGridLayout9GridBlock12leftPositionE", false]], "graphgridlayout::gridblock::leftsideshape (c++ member)": [[325, "_CPPv4N15GraphGridLayout9GridBlock13leftSideShapeE", false]], "graphgridlayout::gridblock::mergeblock (c++ member)": [[325, "_CPPv4N15GraphGridLayout9GridBlock10mergeBlockE", false]], "graphgridlayout::gridblock::outputcount (c++ member)": [[325, "_CPPv4N15GraphGridLayout9GridBlock11outputCountE", false]], "graphgridlayout::gridblock::rightposition (c++ member)": [[325, "_CPPv4N15GraphGridLayout9GridBlock13rightPositionE", false]], "graphgridlayout::gridblock::rightsideshape (c++ member)": [[325, "_CPPv4N15GraphGridLayout9GridBlock14rightSideShapeE", false]], "graphgridlayout::gridblock::row (c++ member)": [[325, "_CPPv4N15GraphGridLayout9GridBlock3rowE", false]], "graphgridlayout::gridblock::row_count (c++ member)": [[325, "_CPPv4N15GraphGridLayout9GridBlock9row_countE", false]], "graphgridlayout::gridblock::tree_edge (c++ member)": [[325, "_CPPv4N15GraphGridLayout9GridBlock9tree_edgeE", false]], "graphgridlayout::gridedge (c++ struct)": [[326, "_CPPv4N15GraphGridLayout8GridEdgeE", false]], "graphgridlayout::gridedge::addpoint (c++ function)": [[326, "_CPPv4N15GraphGridLayout8GridEdge8addPointEii7int16_t", false]], "graphgridlayout::gridedge::dest (c++ member)": [[326, "_CPPv4N15GraphGridLayout8GridEdge4destE", false]], "graphgridlayout::gridedge::maincolumn (c++ member)": [[326, "_CPPv4N15GraphGridLayout8GridEdge10mainColumnE", false]], "graphgridlayout::gridedge::points (c++ member)": [[326, "_CPPv4N15GraphGridLayout8GridEdge6pointsE", false]], "graphgridlayout::gridedge::secondarypriority (c++ member)": [[326, "_CPPv4N15GraphGridLayout8GridEdge17secondaryPriorityE", false]], "graphgridlayout::layoutstate (c++ struct)": [[327, "_CPPv4N15GraphGridLayout11LayoutStateE", false]], "graphgridlayout::layoutstate::blocks (c++ member)": [[327, "_CPPv4N15GraphGridLayout11LayoutState6blocksE", false]], "graphgridlayout::layoutstate::columnoffset (c++ member)": [[327, "_CPPv4N15GraphGridLayout11LayoutState12columnOffsetE", false]], "graphgridlayout::layoutstate::columns (c++ member)": [[327, "_CPPv4N15GraphGridLayout11LayoutState7columnsE", false]], "graphgridlayout::layoutstate::columnwidth (c++ member)": [[327, "_CPPv4N15GraphGridLayout11LayoutState11columnWidthE", false]], "graphgridlayout::layoutstate::edge (c++ member)": [[327, "_CPPv4N15GraphGridLayout11LayoutState4edgeE", false]], "graphgridlayout::layoutstate::edgecolumnoffset (c++ member)": [[327, "_CPPv4N15GraphGridLayout11LayoutState16edgeColumnOffsetE", false]], "graphgridlayout::layoutstate::edgecolumnwidth (c++ member)": [[327, "_CPPv4N15GraphGridLayout11LayoutState15edgeColumnWidthE", false]], "graphgridlayout::layoutstate::edgerowheight (c++ member)": [[327, "_CPPv4N15GraphGridLayout11LayoutState13edgeRowHeightE", false]], "graphgridlayout::layoutstate::edgerowoffset (c++ member)": [[327, "_CPPv4N15GraphGridLayout11LayoutState13edgeRowOffsetE", false]], "graphgridlayout::layoutstate::grid_blocks (c++ member)": [[327, "_CPPv4N15GraphGridLayout11LayoutState11grid_blocksE", false]], "graphgridlayout::layoutstate::rowheight (c++ member)": [[327, "_CPPv4N15GraphGridLayout11LayoutState9rowHeightE", false]], "graphgridlayout::layoutstate::rowoffset (c++ member)": [[327, "_CPPv4N15GraphGridLayout11LayoutState9rowOffsetE", false]], "graphgridlayout::layoutstate::rows (c++ member)": [[327, "_CPPv4N15GraphGridLayout11LayoutState4rowsE", false]], "graphgridlayout::layouttype (c++ enum)": [[247, "_CPPv4N15GraphGridLayout10LayoutTypeE", false]], "graphgridlayout::layouttype::medium (c++ enumerator)": [[247, "_CPPv4N15GraphGridLayout10LayoutType6MediumE", false]], "graphgridlayout::layouttype::narrow (c++ enumerator)": [[247, "_CPPv4N15GraphGridLayout10LayoutType6NarrowE", false]], "graphgridlayout::layouttype::wide (c++ enumerator)": [[247, "_CPPv4N15GraphGridLayout10LayoutType4WideE", false]], "graphgridlayout::point (c++ struct)": [[328, "_CPPv4N15GraphGridLayout5PointE", false]], "graphgridlayout::point::col (c++ member)": [[328, "_CPPv4N15GraphGridLayout5Point3colE", false]], "graphgridlayout::point::kind (c++ member)": [[328, "_CPPv4N15GraphGridLayout5Point4kindE", false]], "graphgridlayout::point::offset (c++ member)": [[328, "_CPPv4N15GraphGridLayout5Point6offsetE", false]], "graphgridlayout::point::row (c++ member)": [[328, "_CPPv4N15GraphGridLayout5Point3rowE", false]], "graphgridlayout::point::spacingoverride (c++ member)": [[328, "_CPPv4N15GraphGridLayout5Point15spacingOverrideE", false]], "graphgridlayout::setlayoutoptimization (c++ function)": [[247, "_CPPv4N15GraphGridLayout21setLayoutOptimizationEb", false]], "graphgridlayout::setparentbetweendirectchild (c++ function)": [[247, "_CPPv4N15GraphGridLayout27setParentBetweenDirectChildEb", false]], "graphgridlayout::settightsubtreeplacement (c++ function)": [[247, "_CPPv4N15GraphGridLayout24setTightSubtreePlacementEb", false]], "graphgridlayout::setverticalblockalignmentmiddle (c++ function)": [[247, "_CPPv4N15GraphGridLayout31setverticalBlockAlignmentMiddleEb", false]], "graphhorizontaladapter (c++ class)": [[248, "_CPPv422GraphHorizontalAdapter", false]], "graphhorizontaladapter::calculatelayout (c++ function)": [[248, "_CPPv4NK22GraphHorizontalAdapter15CalculateLayoutERN11GraphLayout5GraphE4ut64RiRi", false]], "graphhorizontaladapter::graphhorizontaladapter (c++ function)": [[248, "_CPPv4N22GraphHorizontalAdapter22GraphHorizontalAdapterENSt10unique_ptrI11GraphLayoutEE", false]], "graphhorizontaladapter::setlayoutconfig (c++ function)": [[248, "_CPPv4N22GraphHorizontalAdapter15setLayoutConfigERK12LayoutConfig", false]], "graphlayout (c++ class)": [[249, "_CPPv411GraphLayout", false]], "graphlayout::calculatelayout (c++ function)": [[249, "_CPPv4NK11GraphLayout15CalculateLayoutER5Graph4ut64RiRi", false]], "graphlayout::graph (c++ type)": [[249, "_CPPv4N11GraphLayout5GraphE", false]], "graphlayout::graphblock (c++ struct)": [[249, "_CPPv4N11GraphLayout10GraphBlockE", false], [329, "_CPPv4N11GraphLayout10GraphBlockE", false]], "graphlayout::graphblock::edges (c++ member)": [[249, "_CPPv4N11GraphLayout10GraphBlock5edgesE", false], [329, "_CPPv4N11GraphLayout10GraphBlock5edgesE", false]], "graphlayout::graphblock::entry (c++ member)": [[249, "_CPPv4N11GraphLayout10GraphBlock5entryE", false], [329, "_CPPv4N11GraphLayout10GraphBlock5entryE", false]], "graphlayout::graphblock::height (c++ member)": [[249, "_CPPv4N11GraphLayout10GraphBlock6heightE", false], [329, "_CPPv4N11GraphLayout10GraphBlock6heightE", false]], "graphlayout::graphblock::width (c++ member)": [[249, "_CPPv4N11GraphLayout10GraphBlock5widthE", false], [329, "_CPPv4N11GraphLayout10GraphBlock5widthE", false]], "graphlayout::graphblock::x (c++ member)": [[249, "_CPPv4N11GraphLayout10GraphBlock1xE", false], [329, "_CPPv4N11GraphLayout10GraphBlock1xE", false]], "graphlayout::graphblock::y (c++ member)": [[249, "_CPPv4N11GraphLayout10GraphBlock1yE", false], [329, "_CPPv4N11GraphLayout10GraphBlock1yE", false]], "graphlayout::graphedge (c++ struct)": [[249, "_CPPv4N11GraphLayout9GraphEdgeE", false], [330, "_CPPv4N11GraphLayout9GraphEdgeE", false]], "graphlayout::graphedge::arrow (c++ member)": [[249, "_CPPv4N11GraphLayout9GraphEdge5arrowE", false], [330, "_CPPv4N11GraphLayout9GraphEdge5arrowE", false]], "graphlayout::graphedge::arrowdirection (c++ enum)": [[249, "_CPPv4N11GraphLayout9GraphEdge14ArrowDirectionE", false], [330, "_CPPv4N11GraphLayout9GraphEdge14ArrowDirectionE", false]], "graphlayout::graphedge::arrowdirection::down (c++ enumerator)": [[249, "_CPPv4N11GraphLayout9GraphEdge14ArrowDirection4DownE", false], [330, "_CPPv4N11GraphLayout9GraphEdge14ArrowDirection4DownE", false]], "graphlayout::graphedge::arrowdirection::left (c++ enumerator)": [[249, "_CPPv4N11GraphLayout9GraphEdge14ArrowDirection4LeftE", false], [330, "_CPPv4N11GraphLayout9GraphEdge14ArrowDirection4LeftE", false]], "graphlayout::graphedge::arrowdirection::none (c++ enumerator)": [[249, "_CPPv4N11GraphLayout9GraphEdge14ArrowDirection4NoneE", false], [330, "_CPPv4N11GraphLayout9GraphEdge14ArrowDirection4NoneE", false]], "graphlayout::graphedge::arrowdirection::right (c++ enumerator)": [[249, "_CPPv4N11GraphLayout9GraphEdge14ArrowDirection5RightE", false], [330, "_CPPv4N11GraphLayout9GraphEdge14ArrowDirection5RightE", false]], "graphlayout::graphedge::arrowdirection::up (c++ enumerator)": [[249, "_CPPv4N11GraphLayout9GraphEdge14ArrowDirection2UpE", false], [330, "_CPPv4N11GraphLayout9GraphEdge14ArrowDirection2UpE", false]], "graphlayout::graphedge::graphedge (c++ function)": [[249, "_CPPv4N11GraphLayout9GraphEdge9GraphEdgeE4ut64", false], [330, "_CPPv4N11GraphLayout9GraphEdge9GraphEdgeE4ut64", false]], "graphlayout::graphedge::polyline (c++ member)": [[249, "_CPPv4N11GraphLayout9GraphEdge8polylineE", false], [330, "_CPPv4N11GraphLayout9GraphEdge8polylineE", false]], "graphlayout::graphedge::target (c++ member)": [[249, "_CPPv4N11GraphLayout9GraphEdge6targetE", false], [330, "_CPPv4N11GraphLayout9GraphEdge6targetE", false]], "graphlayout::graphlayout (c++ function)": [[249, "_CPPv4N11GraphLayout11GraphLayoutERK12LayoutConfig", false]], "graphlayout::layoutconfig (c++ struct)": [[249, "_CPPv4N11GraphLayout12LayoutConfigE", false], [331, "_CPPv4N11GraphLayout12LayoutConfigE", false]], "graphlayout::layoutconfig::blockhorizontalspacing (c++ member)": [[249, "_CPPv4N11GraphLayout12LayoutConfig22blockHorizontalSpacingE", false], [331, "_CPPv4N11GraphLayout12LayoutConfig22blockHorizontalSpacingE", false]], "graphlayout::layoutconfig::blockverticalspacing (c++ member)": [[249, "_CPPv4N11GraphLayout12LayoutConfig20blockVerticalSpacingE", false], [331, "_CPPv4N11GraphLayout12LayoutConfig20blockVerticalSpacingE", false]], "graphlayout::layoutconfig::edgehorizontalspacing (c++ member)": [[249, "_CPPv4N11GraphLayout12LayoutConfig21edgeHorizontalSpacingE", false], [331, "_CPPv4N11GraphLayout12LayoutConfig21edgeHorizontalSpacingE", false]], "graphlayout::layoutconfig::edgeverticalspacing (c++ member)": [[249, "_CPPv4N11GraphLayout12LayoutConfig19edgeVerticalSpacingE", false], [331, "_CPPv4N11GraphLayout12LayoutConfig19edgeVerticalSpacingE", false]], "graphlayout::setlayoutconfig (c++ function)": [[249, "_CPPv4N11GraphLayout15setLayoutConfigERK12LayoutConfig", false]], "graphlayout::~graphlayout (c++ function)": [[249, "_CPPv4N11GraphLayoutD0Ev", false]], "graphview (c++ class)": [[250, "_CPPv49GraphView", false]], "graphview::center (c++ function)": [[250, "_CPPv4N9GraphView6centerEv", false]], "graphview::centerx (c++ function)": [[250, "_CPPv4N9GraphView7centerXEv", false]], "graphview::centery (c++ function)": [[250, "_CPPv4N9GraphView7centerYEv", false]], "graphview::cleanupedges (c++ function)": [[250, "_CPPv4N9GraphView12cleanupEdgesERN11GraphLayout5GraphE", false]], "graphview::computegraphplacement (c++ function)": [[250, "_CPPv4N9GraphView21computeGraphPlacementEv", false]], "graphview::edgeconfiguration (c++ struct)": [[250, "_CPPv4N9GraphView17EdgeConfigurationE", false], [332, "_CPPv4N9GraphView17EdgeConfigurationE", false]], "graphview::edgeconfiguration::color (c++ member)": [[250, "_CPPv4N9GraphView17EdgeConfiguration5colorE", false], [332, "_CPPv4N9GraphView17EdgeConfiguration5colorE", false]], "graphview::edgeconfiguration::end_arrow (c++ member)": [[250, "_CPPv4N9GraphView17EdgeConfiguration9end_arrowE", false], [332, "_CPPv4N9GraphView17EdgeConfiguration9end_arrowE", false]], "graphview::edgeconfiguration::linestyle (c++ member)": [[250, "_CPPv4N9GraphView17EdgeConfiguration9lineStyleE", false], [332, "_CPPv4N9GraphView17EdgeConfiguration9lineStyleE", false]], "graphview::edgeconfiguration::start_arrow (c++ member)": [[250, "_CPPv4N9GraphView17EdgeConfiguration11start_arrowE", false], [332, "_CPPv4N9GraphView17EdgeConfiguration11start_arrowE", false]], "graphview::edgeconfiguration::width_scale (c++ member)": [[250, "_CPPv4N9GraphView17EdgeConfiguration11width_scaleE", false], [332, "_CPPv4N9GraphView17EdgeConfiguration11width_scaleE", false]], "graphview::getblockcontaining (c++ function)": [[250, "_CPPv4N9GraphView18getBlockContainingE6QPoint", false]], "graphview::getgraphlayout (c++ function)": [[250, "_CPPv4NK9GraphView14getGraphLayoutEv", false]], "graphview::getviewoffset (c++ function)": [[250, "_CPPv4NK9GraphView13getViewOffsetEv", false]], "graphview::getviewscale (c++ function)": [[250, "_CPPv4NK9GraphView12getViewScaleEv", false]], "graphview::graphblock (c++ type)": [[250, "_CPPv4N9GraphView10GraphBlockE", false]], "graphview::graphedge (c++ type)": [[250, "_CPPv4N9GraphView9GraphEdgeE", false]], "graphview::graphview (c++ function)": [[250, "_CPPv4N9GraphView9GraphViewEP7QWidget", false]], "graphview::layout (c++ enum)": [[250, "_CPPv4N9GraphView6LayoutE", false]], "graphview::layout::gridaaa (c++ enumerator)": [[250, "_CPPv4N9GraphView6Layout7GridAAAE", false]], "graphview::layout::gridaab (c++ enumerator)": [[250, "_CPPv4N9GraphView6Layout7GridAABE", false]], "graphview::layout::gridaba (c++ enumerator)": [[250, "_CPPv4N9GraphView6Layout7GridABAE", false]], "graphview::layout::gridabb (c++ enumerator)": [[250, "_CPPv4N9GraphView6Layout7GridABBE", false]], "graphview::layout::gridbaa (c++ enumerator)": [[250, "_CPPv4N9GraphView6Layout7GridBAAE", false]], "graphview::layout::gridbab (c++ enumerator)": [[250, "_CPPv4N9GraphView6Layout7GridBABE", false]], "graphview::layout::gridbba (c++ enumerator)": [[250, "_CPPv4N9GraphView6Layout7GridBBAE", false]], "graphview::layout::gridbbb (c++ enumerator)": [[250, "_CPPv4N9GraphView6Layout7GridBBBE", false]], "graphview::layout::gridmedium (c++ enumerator)": [[250, "_CPPv4N9GraphView6Layout10GridMediumE", false]], "graphview::layout::gridnarrow (c++ enumerator)": [[250, "_CPPv4N9GraphView6Layout10GridNarrowE", false]], "graphview::layout::gridwide (c++ enumerator)": [[250, "_CPPv4N9GraphView6Layout8GridWideE", false]], "graphview::logicaltoviewcoordinates (c++ function)": [[250, "_CPPv4N9GraphView24logicalToViewCoordinatesE6QPoint", false]], "graphview::makegraphlayout (c++ function)": [[250, "_CPPv4N9GraphView15makeGraphLayoutE6Layoutb", false]], "graphview::paint (c++ function)": [[250, "_CPPv4N9GraphView5paintER8QPainter6QPoint5QRect5qrealb", false]], "graphview::saveasbitmap (c++ function)": [[250, "_CPPv4N9GraphView12saveAsBitmapE7QStringPKcdb", false]], "graphview::saveassvg (c++ function)": [[250, "_CPPv4N9GraphView9saveAsSvgE7QString", false]], "graphview::setgraphlayout (c++ function)": [[250, "_CPPv4N9GraphView14setGraphLayoutENSt10unique_ptrI11GraphLayoutEE", false]], "graphview::setlayoutconfig (c++ function)": [[250, "_CPPv4N9GraphView15setLayoutConfigERKN11GraphLayout12LayoutConfigE", false]], "graphview::setviewoffset (c++ function)": [[250, "_CPPv4N9GraphView13setViewOffsetE6QPoint", false]], "graphview::setviewscale (c++ function)": [[250, "_CPPv4N9GraphView12setViewScaleE5qreal", false]], "graphview::showblock (c++ function)": [[250, "_CPPv4N9GraphView9showBlockER10GraphBlockb", false]], "graphview::showrectangle (c++ function)": [[250, "_CPPv4N9GraphView13showRectangleERK5QRectb", false]], "graphview::viewoffsetchanged (c++ function)": [[250, "_CPPv4N9GraphView17viewOffsetChangedE6QPoint", false]], "graphview::viewscalechanged (c++ function)": [[250, "_CPPv4N9GraphView16viewScaleChangedE5qreal", false]], "graphview::viewtologicalcoordinates (c++ function)": [[250, "_CPPv4N9GraphView24viewToLogicalCoordinatesE6QPoint", false]], "graphview::~graphview (c++ function)": [[250, "_CPPv4N9GraphViewD0Ev", false]], "graphvizlayout (c++ class)": [[252, "_CPPv414GraphvizLayout", false]], "graphvizlayout::calculatelayout (c++ function)": [[252, "_CPPv4NK14GraphvizLayout15CalculateLayoutERNSt13unordered_mapI4ut6410GraphBlockEE4ut64RiRi", false]], "graphvizlayout::direction (c++ enum)": [[252, "_CPPv4N14GraphvizLayout9DirectionE", false]], "graphvizlayout::direction::lr (c++ enumerator)": [[252, "_CPPv4N14GraphvizLayout9Direction2LRE", false]], "graphvizlayout::direction::tb (c++ enumerator)": [[252, "_CPPv4N14GraphvizLayout9Direction2TBE", false]], "graphvizlayout::graphvizlayout (c++ function)": [[252, "_CPPv4N14GraphvizLayout14GraphvizLayoutE10LayoutType9Direction", false]], "graphvizlayout::layouttype (c++ enum)": [[252, "_CPPv4N14GraphvizLayout10LayoutTypeE", false]], "graphvizlayout::layouttype::circo (c++ enumerator)": [[252, "_CPPv4N14GraphvizLayout10LayoutType5CircoE", false]], "graphvizlayout::layouttype::dotortho (c++ enumerator)": [[252, "_CPPv4N14GraphvizLayout10LayoutType8DotOrthoE", false]], "graphvizlayout::layouttype::dotpolyline (c++ enumerator)": [[252, "_CPPv4N14GraphvizLayout10LayoutType11DotPolylineE", false]], "graphvizlayout::layouttype::neato (c++ enumerator)": [[252, "_CPPv4N14GraphvizLayout10LayoutType5NeatoE", false]], "graphvizlayout::layouttype::sfdp (c++ enumerator)": [[252, "_CPPv4N14GraphvizLayout10LayoutType4SfdpE", false]], "graphvizlayout::layouttype::twopi (c++ enumerator)": [[252, "_CPPv4N14GraphvizLayout10LayoutType5TwoPiE", false]], "graphwidget (c++ class)": [[251, "_CPPv411GraphWidget", false]], "graphwidget::getgraphview (c++ function)": [[251, "_CPPv4NK11GraphWidget12getGraphViewEv", false]], "graphwidget::getwidgettype (c++ function)": [[251, "_CPPv4N11GraphWidget13getWidgetTypeEv", false]], "graphwidget::graphclosed (c++ function)": [[251, "_CPPv4N11GraphWidget11graphClosedEv", false]], "graphwidget::graphwidget (c++ function)": [[251, "_CPPv4N11GraphWidget11GraphWidgetEP10MainWindow", false]], "graphwidget::~graphwidget (c++ function)": [[251, "_CPPv4N11GraphWidgetD0Ev", false]], "headerdescription (c++ struct)": [[102, "_CPPv417HeaderDescription", false]], "headerdescription::name (c++ member)": [[102, "_CPPv4N17HeaderDescription4nameE", false]], "headerdescription::paddr (c++ member)": [[102, "_CPPv4N17HeaderDescription5paddrE", false]], "headerdescription::vaddr (c++ member)": [[102, "_CPPv4N17HeaderDescription5vaddrE", false]], "headerdescription::value (c++ member)": [[102, "_CPPv4N17HeaderDescription5valueE", false]], "headersmodel (c++ class)": [[253, "_CPPv412HeadersModel", false]], "headersmodel::address (c++ function)": [[253, "_CPPv4NK12HeadersModel7addressERK11QModelIndex", false]], "headersmodel::column (c++ enum)": [[253, "_CPPv4N12HeadersModel6ColumnE", false]], "headersmodel::column::columncount (c++ enumerator)": [[253, "_CPPv4N12HeadersModel6Column11ColumnCountE", false]], "headersmodel::column::commentcolumn (c++ enumerator)": [[253, "_CPPv4N12HeadersModel6Column13CommentColumnE", false]], "headersmodel::column::namecolumn (c++ enumerator)": [[253, "_CPPv4N12HeadersModel6Column10NameColumnE", false]], "headersmodel::column::offsetcolumn (c++ enumerator)": [[253, "_CPPv4N12HeadersModel6Column12OffsetColumnE", false]], "headersmodel::column::valuecolumn (c++ enumerator)": [[253, "_CPPv4N12HeadersModel6Column11ValueColumnE", false]], "headersmodel::columncount (c++ function)": [[253, "_CPPv4NK12HeadersModel11columnCountERK11QModelIndex", false]], "headersmodel::data (c++ function)": [[253, "_CPPv4NK12HeadersModel4dataERK11QModelIndexi", false]], "headersmodel::headerdata (c++ function)": [[253, "_CPPv4NK12HeadersModel10headerDataEiN2Qt11OrientationEi", false]], "headersmodel::headersmodel (c++ function)": [[253, "_CPPv4N12HeadersModel12HeadersModelEP5QListI17HeaderDescriptionEP7QObject", false]], "headersmodel::name (c++ function)": [[253, "_CPPv4NK12HeadersModel4nameERK11QModelIndex", false]], "headersmodel::role (c++ enum)": [[253, "_CPPv4N12HeadersModel4RoleE", false]], "headersmodel::role::headerdescriptionrole (c++ enumerator)": [[253, "_CPPv4N12HeadersModel4Role21HeaderDescriptionRoleE", false]], "headersmodel::rowcount (c++ function)": [[253, "_CPPv4NK12HeadersModel8rowCountERK11QModelIndex", false]], "headersproxymodel (c++ class)": [[254, "_CPPv417HeadersProxyModel", false]], "headersproxymodel::headersproxymodel (c++ function)": [[254, "_CPPv4N17HeadersProxyModel17HeadersProxyModelEP12HeadersModelP7QObject", false]], "headerswidget (c++ class)": [[255, "_CPPv413HeadersWidget", false]], "headerswidget::headerswidget (c++ function)": [[255, "_CPPv4N13HeadersWidget13HeadersWidgetEP10MainWindow", false]], "headerswidget::~headerswidget (c++ function)": [[255, "_CPPv4N13HeadersWidgetD0Ev", false]], "heapbinsgraphview (c++ class)": [[256, "_CPPv417HeapBinsGraphView", false]], "heapbinsgraphview::graphheapchunk (c++ struct)": [[333, "_CPPv4N17HeapBinsGraphView14GraphHeapChunkE", false]], "heapbinsgraphview::graphheapchunk::addr (c++ member)": [[333, "_CPPv4N17HeapBinsGraphView14GraphHeapChunk4addrE", false]], "heapbinsgraphview::graphheapchunk::bk (c++ member)": [[333, "_CPPv4N17HeapBinsGraphView14GraphHeapChunk2bkE", false]], "heapbinsgraphview::graphheapchunk::content (c++ member)": [[333, "_CPPv4N17HeapBinsGraphView14GraphHeapChunk7contentE", false]], "heapbinsgraphview::graphheapchunk::fd (c++ member)": [[333, "_CPPv4N17HeapBinsGraphView14GraphHeapChunk2fdE", false]], "heapbinsgraphview::heapbinsgraphview (c++ function)": [[256, "_CPPv4N17HeapBinsGraphView17HeapBinsGraphViewEP7QWidgetP9RzHeapBinP10MainWindow", false]], "heapdockwidget (c++ class)": [[257, "_CPPv414HeapDockWidget", false]], "heapdockwidget::heapdockwidget (c++ function)": [[257, "_CPPv4N14HeapDockWidget14HeapDockWidgetEP10MainWindow", false]], "heapdockwidget::~heapdockwidget (c++ function)": [[257, "_CPPv4N14HeapDockWidgetD0Ev", false]], "hexcursor (c++ struct)": [[334, "_CPPv49HexCursor", false]], "hexcursor::address (c++ member)": [[334, "_CPPv4N9HexCursor7addressE", false]], "hexcursor::blink (c++ function)": [[334, "_CPPv4N9HexCursor5blinkEv", false]], "hexcursor::blinktimer (c++ member)": [[334, "_CPPv4N9HexCursor10blinkTimerE", false]], "hexcursor::cachedchar (c++ member)": [[334, "_CPPv4N9HexCursor10cachedCharE", false]], "hexcursor::cachedcolor (c++ member)": [[334, "_CPPv4N9HexCursor11cachedColorE", false]], "hexcursor::hexcursor (c++ function)": [[334, "_CPPv4N9HexCursor9HexCursorEv", false]], "hexcursor::isvisible (c++ member)": [[334, "_CPPv4N9HexCursor9isVisibleE", false]], "hexcursor::onasciiarea (c++ member)": [[334, "_CPPv4N9HexCursor11onAsciiAreaE", false]], "hexcursor::screenpos (c++ member)": [[334, "_CPPv4N9HexCursor9screenPosE", false]], "hexcursor::setblinkperiod (c++ function)": [[334, "_CPPv4N9HexCursor14setBlinkPeriodEi", false]], "hexcursor::startblinking (c++ function)": [[334, "_CPPv4N9HexCursor13startBlinkingEv", false]], "hexcursor::stopblinking (c++ function)": [[334, "_CPPv4N9HexCursor12stopBlinkingEv", false]], "hexdumprangedialog (c++ class)": [[143, "_CPPv418HexdumpRangeDialog", false]], "hexdumprangedialog::empty (c++ function)": [[143, "_CPPv4N18HexdumpRangeDialog5emptyEv", false]], "hexdumprangedialog::getendaddress (c++ function)": [[143, "_CPPv4NK18HexdumpRangeDialog13getEndAddressEv", false]], "hexdumprangedialog::getstartaddress (c++ function)": [[143, "_CPPv4NK18HexdumpRangeDialog15getStartAddressEv", false]], "hexdumprangedialog::hexdumprangedialog (c++ function)": [[143, "_CPPv4N18HexdumpRangeDialog18HexdumpRangeDialogEP7QWidgetb", false]], "hexdumprangedialog::open (c++ function)": [[143, "_CPPv4N18HexdumpRangeDialog4openE4ut64", false]], "hexdumprangedialog::setstartaddress (c++ function)": [[143, "_CPPv4N18HexdumpRangeDialog15setStartAddressE4ut64", false]], "hexdumprangedialog::textedited (c++ function)": [[143, "_CPPv4N18HexdumpRangeDialog10textEditedEv", false]], "hexdumprangedialog::~hexdumprangedialog (c++ function)": [[143, "_CPPv4N18HexdumpRangeDialogD0Ev", false]], "hexdumpwidget (c++ class)": [[260, "_CPPv413HexdumpWidget", false]], "hexdumpwidget::getwidgettype (c++ function)": [[260, "_CPPv4N13HexdumpWidget13getWidgetTypeEv", false]], "hexdumpwidget::hexdumpwidget (c++ function)": [[260, "_CPPv4N13HexdumpWidget13HexdumpWidgetEP10MainWindow", false]], "hexdumpwidget::highlighter (c++ member)": [[260, "_CPPv4N13HexdumpWidget11highlighterE", false]], "hexdumpwidget::initparsing (c++ function)": [[260, "_CPPv4N13HexdumpWidget11initParsingEv", false]], "hexdumpwidget::~hexdumpwidget (c++ function)": [[260, "_CPPv4N13HexdumpWidgetD0Ev", false]], "hexselection (c++ class)": [[258, "_CPPv412HexSelection", false]], "hexselection::contains (c++ function)": [[258, "_CPPv4NK12HexSelection8containsE8uint64_t", false]], "hexselection::end (c++ function)": [[258, "_CPPv4NK12HexSelection3endEv", false]], "hexselection::hexselection (c++ function)": [[258, "_CPPv4N12HexSelection12HexSelectionEv", false]], "hexselection::init (c++ function)": [[258, "_CPPv4N12HexSelection4initE11BasicCursor", false]], "hexselection::intersects (c++ function)": [[258, "_CPPv4N12HexSelection10intersectsE8uint64_t8uint64_t", false]], "hexselection::isempty (c++ function)": [[258, "_CPPv4NK12HexSelection7isEmptyEv", false]], "hexselection::set (c++ function)": [[258, "_CPPv4N12HexSelection3setE8uint64_t8uint64_t", false]], "hexselection::size (c++ function)": [[258, "_CPPv4NK12HexSelection4sizeEv", false]], "hexselection::start (c++ function)": [[258, "_CPPv4NK12HexSelection5startEv", false]], "hexselection::update (c++ function)": [[258, "_CPPv4N12HexSelection6updateE11BasicCursor", false]], "hexwidget (c++ class)": [[259, "_CPPv49HexWidget", false]], "hexwidget::addrwidth (c++ enum)": [[259, "_CPPv4N9HexWidget9AddrWidthE", false]], "hexwidget::addrwidth::addrwidth32 (c++ enumerator)": [[259, "_CPPv4N9HexWidget9AddrWidth11AddrWidth32E", false]], "hexwidget::addrwidth::addrwidth64 (c++ enumerator)": [[259, "_CPPv4N9HexWidget9AddrWidth11AddrWidth64E", false]], "hexwidget::clearselection (c++ function)": [[259, "_CPPv4N9HexWidget14clearSelectionEv", false]], "hexwidget::columnmode (c++ enum)": [[259, "_CPPv4N9HexWidget10ColumnModeE", false]], "hexwidget::columnmode::fixed (c++ enumerator)": [[259, "_CPPv4N9HexWidget10ColumnMode5FixedE", false]], "hexwidget::columnmode::powerof2 (c++ enumerator)": [[259, "_CPPv4N9HexWidget10ColumnMode8PowerOf2E", false]], "hexwidget::editwordstate (c++ enum)": [[259, "_CPPv4N9HexWidget13EditWordStateE", false]], "hexwidget::editwordstate::read (c++ enumerator)": [[259, "_CPPv4N9HexWidget13EditWordState4ReadE", false]], "hexwidget::editwordstate::writeedited (c++ enumerator)": [[259, "_CPPv4N9HexWidget13EditWordState11WriteEditedE", false]], "hexwidget::editwordstate::writenotedited (c++ enumerator)": [[259, "_CPPv4N9HexWidget13EditWordState14WriteNotEditedE", false]], "hexwidget::editwordstate::writenotstarted (c++ enumerator)": [[259, "_CPPv4N9HexWidget13EditWordState15WriteNotStartedE", false]], "hexwidget::getselection (c++ function)": [[259, "_CPPv4N9HexWidget12getSelectionEv", false]], "hexwidget::hexnavigationmode (c++ enum)": [[259, "_CPPv4N9HexWidget17HexNavigationModeE", false]], "hexwidget::hexnavigationmode::anychar (c++ enumerator)": [[259, "_CPPv4N9HexWidget17HexNavigationMode7AnyCharE", false]], "hexwidget::hexnavigationmode::wordchar (c++ enumerator)": [[259, "_CPPv4N9HexWidget17HexNavigationMode8WordCharE", false]], "hexwidget::hexnavigationmode::words (c++ enumerator)": [[259, "_CPPv4N9HexWidget17HexNavigationMode5WordsE", false]], "hexwidget::hexwidget (c++ function)": [[259, "_CPPv4N9HexWidget9HexWidgetEP7QWidget", false]], "hexwidget::itemformat (c++ enum)": [[259, "_CPPv4N9HexWidget10ItemFormatE", false]], "hexwidget::itemformat::itemformatdec (c++ enumerator)": [[259, "_CPPv4N9HexWidget10ItemFormat13ItemFormatDecE", false]], "hexwidget::itemformat::itemformatfloat (c++ enumerator)": [[259, "_CPPv4N9HexWidget10ItemFormat15ItemFormatFloatE", false]], "hexwidget::itemformat::itemformathex (c++ enumerator)": [[259, "_CPPv4N9HexWidget10ItemFormat13ItemFormatHexE", false]], "hexwidget::itemformat::itemformatoct (c++ enumerator)": [[259, "_CPPv4N9HexWidget10ItemFormat13ItemFormatOctE", false]], "hexwidget::itemformat::itemformatsigneddec (c++ enumerator)": [[259, "_CPPv4N9HexWidget10ItemFormat19ItemFormatSignedDecE", false]], "hexwidget::itemsize (c++ enum)": [[259, "_CPPv4N9HexWidget8ItemSizeE", false]], "hexwidget::itemsize::itemsizebyte (c++ enumerator)": [[259, "_CPPv4N9HexWidget8ItemSize12ItemSizeByteE", false]], "hexwidget::itemsize::itemsizedword (c++ enumerator)": [[259, "_CPPv4N9HexWidget8ItemSize13ItemSizeDwordE", false]], "hexwidget::itemsize::itemsizeqword (c++ enumerator)": [[259, "_CPPv4N9HexWidget8ItemSize13ItemSizeQwordE", false]], "hexwidget::itemsize::itemsizeword (c++ enumerator)": [[259, "_CPPv4N9HexWidget8ItemSize12ItemSizeWordE", false]], "hexwidget::positionchanged (c++ function)": [[259, "_CPPv4N9HexWidget15positionChangedE3RVA", false]], "hexwidget::refresh (c++ function)": [[259, "_CPPv4N9HexWidget7refreshEv", false]], "hexwidget::seek (c++ function)": [[259, "_CPPv4N9HexWidget4seekE8uint64_t", false]], "hexwidget::selection (c++ struct)": [[259, "_CPPv4N9HexWidget9SelectionE", false], [335, "_CPPv4N9HexWidget9SelectionE", false]], "hexwidget::selection::empty (c++ member)": [[259, "_CPPv4N9HexWidget9Selection5emptyE", false], [335, "_CPPv4N9HexWidget9Selection5emptyE", false]], "hexwidget::selection::endaddress (c++ member)": [[259, "_CPPv4N9HexWidget9Selection10endAddressE", false], [335, "_CPPv4N9HexWidget9Selection10endAddressE", false]], "hexwidget::selection::startaddress (c++ member)": [[259, "_CPPv4N9HexWidget9Selection12startAddressE", false], [335, "_CPPv4N9HexWidget9Selection12startAddressE", false]], "hexwidget::selectionchanged (c++ function)": [[259, "_CPPv4N9HexWidget16selectionChangedEN9HexWidget9SelectionE", false]], "hexwidget::selectrange (c++ function)": [[259, "_CPPv4N9HexWidget11selectRangeE3RVA3RVA", false]], "hexwidget::setcolumnmode (c++ function)": [[259, "_CPPv4N9HexWidget13setColumnModeE10ColumnMode", false]], "hexwidget::setfixedlinesize (c++ function)": [[259, "_CPPv4N9HexWidget16setFixedLineSizeEi", false]], "hexwidget::setitemendianness (c++ function)": [[259, "_CPPv4N9HexWidget17setItemEndiannessEb", false]], "hexwidget::setitemformat (c++ function)": [[259, "_CPPv4N9HexWidget13setItemFormatE10ItemFormat", false]], "hexwidget::setitemgroupsize (c++ function)": [[259, "_CPPv4N9HexWidget16setItemGroupSizeEi", false]], "hexwidget::setitemsize (c++ function)": [[259, "_CPPv4N9HexWidget11setItemSizeEi", false]], "hexwidget::setmonospacefont (c++ function)": [[259, "_CPPv4N9HexWidget16setMonospaceFontERK5QFont", false]], "hexwidget::updatecolors (c++ function)": [[259, "_CPPv4N9HexWidget12updateColorsEv", false]], "hexwidget::~hexwidget (c++ function)": [[259, "_CPPv4N9HexWidgetD0Ev", false]], "highdpipixmap (c++ class)": [[21, "_CPPv413HighDpiPixmap", false]], "highdpipixmap::highdpipixmap (c++ function)": [[21, "_CPPv4N13HighDpiPixmap13HighDpiPixmapEii5qreal", false]], "highlighter (c++ class)": [[22, "_CPPv411Highlighter", false]], "highlighter::highlighter (c++ function)": [[22, "_CPPv4N11Highlighter11HighlighterEP13QTextDocument", false]], "highlighter::highlightingrule (c++ struct)": [[53, "_CPPv4N11Highlighter16HighlightingRuleE", false]], "highlighter::highlightingrule::format (c++ member)": [[53, "_CPPv4N11Highlighter16HighlightingRule6formatE", false]], "highlighter::highlightingrule::pattern (c++ member)": [[53, "_CPPv4N11Highlighter16HighlightingRule7patternE", false]], "importdescription (c++ struct)": [[103, "_CPPv417ImportDescription", false]], "importdescription::bind (c++ member)": [[103, "_CPPv4N17ImportDescription4bindE", false]], "importdescription::libname (c++ member)": [[103, "_CPPv4N17ImportDescription7libnameE", false]], "importdescription::name (c++ member)": [[103, "_CPPv4N17ImportDescription4nameE", false]], "importdescription::ordinal (c++ member)": [[103, "_CPPv4N17ImportDescription7ordinalE", false]], "importdescription::plt (c++ member)": [[103, "_CPPv4N17ImportDescription3pltE", false]], "importdescription::type (c++ member)": [[103, "_CPPv4N17ImportDescription4typeE", false]], "importsmodel (c++ class)": [[261, "_CPPv412ImportsModel", false]], "importsmodel::address (c++ function)": [[261, "_CPPv4NK12ImportsModel7addressERK11QModelIndex", false]], "importsmodel::column (c++ enum)": [[261, "_CPPv4N12ImportsModel6ColumnE", false]], "importsmodel::column::addresscolumn (c++ enumerator)": [[261, "_CPPv4N12ImportsModel6Column13AddressColumnE", false]], "importsmodel::column::columncount (c++ enumerator)": [[261, "_CPPv4N12ImportsModel6Column11ColumnCountE", false]], "importsmodel::column::commentcolumn (c++ enumerator)": [[261, "_CPPv4N12ImportsModel6Column13CommentColumnE", false]], "importsmodel::column::librarycolumn (c++ enumerator)": [[261, "_CPPv4N12ImportsModel6Column13LibraryColumnE", false]], "importsmodel::column::namecolumn (c++ enumerator)": [[261, "_CPPv4N12ImportsModel6Column10NameColumnE", false]], "importsmodel::column::safetycolumn (c++ enumerator)": [[261, "_CPPv4N12ImportsModel6Column12SafetyColumnE", false]], "importsmodel::column::typecolumn (c++ enumerator)": [[261, "_CPPv4N12ImportsModel6Column10TypeColumnE", false]], "importsmodel::columncount (c++ function)": [[261, "_CPPv4NK12ImportsModel11columnCountERK11QModelIndex", false]], "importsmodel::data (c++ function)": [[261, "_CPPv4NK12ImportsModel4dataERK11QModelIndexi", false]], "importsmodel::headerdata (c++ function)": [[261, "_CPPv4NK12ImportsModel10headerDataEiN2Qt11OrientationEi", false]], "importsmodel::importsmodel (c++ function)": [[261, "_CPPv4N12ImportsModel12ImportsModelEP7QObject", false]], "importsmodel::libname (c++ function)": [[261, "_CPPv4NK12ImportsModel7libnameERK11QModelIndex", false]], "importsmodel::name (c++ function)": [[261, "_CPPv4NK12ImportsModel4nameERK11QModelIndex", false]], "importsmodel::reload (c++ function)": [[261, "_CPPv4N12ImportsModel6reloadEv", false]], "importsmodel::role (c++ enum)": [[261, "_CPPv4N12ImportsModel4RoleE", false]], "importsmodel::role::addressrole (c++ enumerator)": [[261, "_CPPv4N12ImportsModel4Role11AddressRoleE", false]], "importsmodel::role::importdescriptionrole (c++ enumerator)": [[261, "_CPPv4N12ImportsModel4Role21ImportDescriptionRoleE", false]], "importsmodel::rowcount (c++ function)": [[261, "_CPPv4NK12ImportsModel8rowCountERK11QModelIndex", false]], "importsproxymodel (c++ class)": [[262, "_CPPv417ImportsProxyModel", false]], "importsproxymodel::importsproxymodel (c++ function)": [[262, "_CPPv4N17ImportsProxyModel17ImportsProxyModelEP12ImportsModelP7QObject", false]], "importswidget (c++ class)": [[263, "_CPPv413ImportsWidget", false]], "importswidget::importswidget (c++ function)": [[263, "_CPPv4N13ImportsWidget13ImportsWidgetEP10MainWindow", false]], "importswidget::~importswidget (c++ function)": [[263, "_CPPv4N13ImportsWidgetD0Ev", false]], "incrementdecrementdialog (c++ class)": [[144, "_CPPv424IncrementDecrementDialog", false]], "incrementdecrementdialog::getmode (c++ function)": [[144, "_CPPv4NK24IncrementDecrementDialog7getModeEv", false]], "incrementdecrementdialog::getnbytes (c++ function)": [[144, "_CPPv4NK24IncrementDecrementDialog9getNBytesEv", false]], "incrementdecrementdialog::getvalue (c++ function)": [[144, "_CPPv4NK24IncrementDecrementDialog8getValueEv", false]], "incrementdecrementdialog::incrementdecrementdialog (c++ function)": [[144, "_CPPv4N24IncrementDecrementDialog24IncrementDecrementDialogEP7QWidget", false]], "incrementdecrementdialog::mode (c++ enum)": [[144, "_CPPv4N24IncrementDecrementDialog4ModeE", false]], "incrementdecrementdialog::mode::decrease (c++ enumerator)": [[144, "_CPPv4N24IncrementDecrementDialog4Mode8DecreaseE", false]], "incrementdecrementdialog::mode::increase (c++ enumerator)": [[144, "_CPPv4N24IncrementDecrementDialog4Mode8IncreaseE", false]], "initialoptions (c++ struct)": [[54, "_CPPv414InitialOptions", false]], "initialoptions::analysiscmd (c++ member)": [[54, "_CPPv4N14InitialOptions11analysisCmdE", false]], "initialoptions::arch (c++ member)": [[54, "_CPPv4N14InitialOptions4archE", false]], "initialoptions::binloadaddr (c++ member)": [[54, "_CPPv4N14InitialOptions11binLoadAddrE", false]], "initialoptions::bits (c++ member)": [[54, "_CPPv4N14InitialOptions4bitsE", false]], "initialoptions::cpu (c++ member)": [[54, "_CPPv4N14InitialOptions3cpuE", false]], "initialoptions::demangle (c++ member)": [[54, "_CPPv4N14InitialOptions8demangleE", false]], "initialoptions::endian (c++ member)": [[54, "_CPPv4N14InitialOptions6endianE", false]], "initialoptions::endianness (c++ enum)": [[54, "_CPPv4N14InitialOptions10EndiannessE", false]], "initialoptions::endianness::auto (c++ enumerator)": [[54, "_CPPv4N14InitialOptions10Endianness4AutoE", false]], "initialoptions::endianness::big (c++ enumerator)": [[54, "_CPPv4N14InitialOptions10Endianness3BigE", false]], "initialoptions::endianness::little (c++ enumerator)": [[54, "_CPPv4N14InitialOptions10Endianness6LittleE", false]], "initialoptions::filename (c++ member)": [[54, "_CPPv4N14InitialOptions8filenameE", false]], "initialoptions::forcebinplugin (c++ member)": [[54, "_CPPv4N14InitialOptions14forceBinPluginE", false]], "initialoptions::loadbininfo (c++ member)": [[54, "_CPPv4N14InitialOptions11loadBinInfoE", false]], "initialoptions::mapaddr (c++ member)": [[54, "_CPPv4N14InitialOptions7mapAddrE", false]], "initialoptions::os (c++ member)": [[54, "_CPPv4N14InitialOptions2osE", false]], "initialoptions::pdbfile (c++ member)": [[54, "_CPPv4N14InitialOptions7pdbFileE", false]], "initialoptions::projectfile (c++ member)": [[54, "_CPPv4N14InitialOptions11projectFileE", false]], "initialoptions::script (c++ member)": [[54, "_CPPv4N14InitialOptions6scriptE", false]], "initialoptions::shellcode (c++ member)": [[54, "_CPPv4N14InitialOptions9shellcodeE", false]], "initialoptions::useva (c++ member)": [[54, "_CPPv4N14InitialOptions5useVAE", false]], "initialoptions::writeenabled (c++ member)": [[54, "_CPPv4N14InitialOptions12writeEnabledE", false]], "initialoptionsdialog (c++ class)": [[145, "_CPPv420InitialOptionsDialog", false]], "initialoptionsdialog::analysiscommands (c++ struct)": [[164, "_CPPv4N20InitialOptionsDialog16AnalysisCommandsE", false]], "initialoptionsdialog::analysiscommands::checkbox (c++ member)": [[164, "_CPPv4N20InitialOptionsDialog16AnalysisCommands8checkboxE", false]], "initialoptionsdialog::analysiscommands::checked (c++ member)": [[164, "_CPPv4N20InitialOptionsDialog16AnalysisCommands7checkedE", false]], "initialoptionsdialog::analysiscommands::commanddesc (c++ member)": [[164, "_CPPv4N20InitialOptionsDialog16AnalysisCommands11commandDescE", false]], "initialoptionsdialog::initialoptionsdialog (c++ function)": [[145, "_CPPv4N20InitialOptionsDialog20InitialOptionsDialogEP10MainWindow", false]], "initialoptionsdialog::loadoptions (c++ function)": [[145, "_CPPv4N20InitialOptionsDialog11loadOptionsERK14InitialOptions", false]], "initialoptionsdialog::reject (c++ function)": [[145, "_CPPv4N20InitialOptionsDialog6rejectEv", false]], "initialoptionsdialog::setupandstartanalysis (c++ function)": [[145, "_CPPv4N20InitialOptionsDialog21setupAndStartAnalysisEv", false]], "initialoptionsdialog::~initialoptionsdialog (c++ function)": [[145, "_CPPv4N20InitialOptionsDialogD0Ev", false]], "iomodescontroller (c++ class)": [[23, "_CPPv417IOModesController", false]], "iomodescontroller::allchangescomitted (c++ function)": [[23, "_CPPv4N17IOModesController18allChangesComittedEv", false]], "iomodescontroller::askcommitunsavedchanges (c++ function)": [[23, "_CPPv4N17IOModesController23askCommitUnsavedChangesEv", false]], "iomodescontroller::canwrite (c++ function)": [[23, "_CPPv4N17IOModesController8canWriteEv", false]], "iomodescontroller::getiomode (c++ function)": [[23, "_CPPv4N17IOModesController9getIOModeEv", false]], "iomodescontroller::iomodescontroller (c++ function)": [[23, "_CPPv4N17IOModesController17IOModesControllerEP7QWidget", false]], "iomodescontroller::mode (c++ enum)": [[23, "_CPPv4N17IOModesController4ModeE", false]], "iomodescontroller::mode::cache (c++ enumerator)": [[23, "_CPPv4N17IOModesController4Mode5CACHEE", false]], "iomodescontroller::mode::read_only (c++ enumerator)": [[23, "_CPPv4N17IOModesController4Mode9READ_ONLYE", false]], "iomodescontroller::mode::write (c++ enumerator)": [[23, "_CPPv4N17IOModesController4Mode5WRITEE", false]], "iomodescontroller::prepareforwriting (c++ function)": [[23, "_CPPv4N17IOModesController17prepareForWritingEv", false]], "iomodescontroller::setiomode (c++ function)": [[23, "_CPPv4N17IOModesController9setIOModeE4Mode", false]], "layoutmanager (c++ class)": [[146, "_CPPv413LayoutManager", false]], "layoutmanager::layoutmanager (c++ function)": [[146, "_CPPv4N13LayoutManager13LayoutManagerER4QMapI7QStringN6Cutter12CutterLayoutEEP7QWidget", false]], "layoutmanager::~layoutmanager (c++ function)": [[146, "_CPPv4N13LayoutManagerD0Ev", false]], "lazysegmenttreebase (c++ class)": [[24, "_CPPv4I000E19LazySegmentTreeBase", false]], "lazysegmenttreebase::lazysegmenttreebase (c++ function)": [[24, "_CPPv4N19LazySegmentTreeBase19LazySegmentTreeBaseE6size_t8NodeType11PromiseType", false], [24, "_CPPv4N19LazySegmentTreeBase19LazySegmentTreeBaseE6size_tRK11PromiseType", false]], "lazysegmenttreebase::rangeoperation (c++ function)": [[24, "_CPPv4N19LazySegmentTreeBase14rangeOperationE6size_t6size_t8NodeType", false]], "linkedlistpool (c++ class)": [[25, "_CPPv4I0E14LinkedListPool", false]], "linkedlistpool::append (c++ function)": [[25, "_CPPv4N14LinkedListPool6appendERK4ListRK4List", false]], "linkedlistpool::end (c++ function)": [[25, "_CPPv4N14LinkedListPool3endERK4List", false]], "linkedlistpool::head (c++ function)": [[25, "_CPPv4N14LinkedListPool4headERK4List", false]], "linkedlistpool::item (c++ struct)": [[55, "_CPPv4N14LinkedListPool4ItemE", false]], "linkedlistpool::item::next (c++ member)": [[55, "_CPPv4N14LinkedListPool4Item4nextE", false]], "linkedlistpool::item::value (c++ member)": [[55, "_CPPv4N14LinkedListPool4Item5valueE", false]], "linkedlistpool::linkedlistpool (c++ function)": [[25, "_CPPv4N14LinkedListPool14LinkedListPoolE6size_t", false]], "linkedlistpool::list (c++ class)": [[25, "_CPPv4N14LinkedListPool4ListE", false], [26, "_CPPv4N14LinkedListPool4ListE", false]], "linkedlistpool::list::isempty (c++ function)": [[25, "_CPPv4NK14LinkedListPool4List7isEmptyEv", false], [26, "_CPPv4NK14LinkedListPool4List7isEmptyEv", false]], "linkedlistpool::list::list (c++ function)": [[25, "_CPPv4N14LinkedListPool4List4ListEv", false], [26, "_CPPv4N14LinkedListPool4List4ListEv", false]], "linkedlistpool::listiterator (c++ class)": [[25, "_CPPv4N14LinkedListPool12ListIteratorE", false], [27, "_CPPv4N14LinkedListPool12ListIteratorE", false]], "linkedlistpool::listiterator::difference_type (c++ type)": [[25, "_CPPv4N14LinkedListPool12ListIterator15difference_typeE", false], [27, "_CPPv4N14LinkedListPool12ListIterator15difference_typeE", false]], "linkedlistpool::listiterator::iterator_category (c++ type)": [[25, "_CPPv4N14LinkedListPool12ListIterator17iterator_categoryE", false], [27, "_CPPv4N14LinkedListPool12ListIterator17iterator_categoryE", false]], "linkedlistpool::listiterator::listiterator (c++ function)": [[25, "_CPPv4N14LinkedListPool12ListIterator12ListIteratorEv", false], [27, "_CPPv4N14LinkedListPool12ListIterator12ListIteratorEv", false]], "linkedlistpool::listiterator::operator bool (c++ function)": [[25, "_CPPv4NK14LinkedListPool12ListIteratorcvbEv", false], [27, "_CPPv4NK14LinkedListPool12ListIteratorcvbEv", false]], "linkedlistpool::listiterator::operator!= (c++ function)": [[25, "_CPPv4NK14LinkedListPool12ListIteratorneERK12ListIterator", false], [27, "_CPPv4NK14LinkedListPool12ListIteratorneERK12ListIterator", false]], "linkedlistpool::listiterator::operator* (c++ function)": [[25, "_CPPv4N14LinkedListPool12ListIteratormlEv", false], [27, "_CPPv4N14LinkedListPool12ListIteratormlEv", false]], "linkedlistpool::listiterator::operator++ (c++ function)": [[25, "_CPPv4N14LinkedListPool12ListIteratorppEi", false], [25, "_CPPv4N14LinkedListPool12ListIteratorppEv", false], [27, "_CPPv4N14LinkedListPool12ListIteratorppEi", false], [27, "_CPPv4N14LinkedListPool12ListIteratorppEv", false]], "linkedlistpool::listiterator::operator-> (c++ function)": [[25, "_CPPv4N14LinkedListPool12ListIteratorptEv", false], [27, "_CPPv4N14LinkedListPool12ListIteratorptEv", false]], "linkedlistpool::listiterator::pointer (c++ type)": [[25, "_CPPv4N14LinkedListPool12ListIterator7pointerE", false], [27, "_CPPv4N14LinkedListPool12ListIterator7pointerE", false]], "linkedlistpool::listiterator::reference (c++ type)": [[25, "_CPPv4N14LinkedListPool12ListIterator9referenceE", false], [27, "_CPPv4N14LinkedListPool12ListIterator9referenceE", false]], "linkedlistpool::listiterator::value_type (c++ type)": [[25, "_CPPv4N14LinkedListPool12ListIterator10value_typeE", false], [27, "_CPPv4N14LinkedListPool12ListIterator10value_typeE", false]], "linkedlistpool::makelist (c++ function)": [[25, "_CPPv4N14LinkedListPool8makeListERK1T", false]], "linkedlistpool::splithead (c++ function)": [[25, "_CPPv4N14LinkedListPool9splitHeadERK4ListRK12ListIterator", false]], "linkedlistpool::splittail (c++ function)": [[25, "_CPPv4N14LinkedListPool9splitTailERK4ListRK12ListIterator", false]], "listdockwidget (c++ class)": [[264, "_CPPv414ListDockWidget", false]], "listdockwidget::listdockwidget (c++ function)": [[264, "_CPPv4N14ListDockWidget14ListDockWidgetEP10MainWindow15SearchBarPolicy", false]], "listdockwidget::searchbarpolicy (c++ enum)": [[264, "_CPPv4N14ListDockWidget15SearchBarPolicyE", false]], "listdockwidget::searchbarpolicy::hide (c++ enumerator)": [[264, "_CPPv4N14ListDockWidget15SearchBarPolicy4HideE", false]], "listdockwidget::searchbarpolicy::hidebydefault (c++ enumerator)": [[264, "_CPPv4N14ListDockWidget15SearchBarPolicy13HideByDefaultE", false]], "listdockwidget::searchbarpolicy::showbydefault (c++ enumerator)": [[264, "_CPPv4N14ListDockWidget15SearchBarPolicy13ShowByDefaultE", false]], "listdockwidget::showcount (c++ function)": [[264, "_CPPv4N14ListDockWidget9showCountEb", false]], "listdockwidget::~listdockwidget (c++ function)": [[264, "_CPPv4N14ListDockWidgetD0Ev", false]], "mainwindow (c++ class)": [[76, "_CPPv410MainWindow", false]], "mainwindow::addextrawidget (c++ function)": [[76, "_CPPv4N10MainWindow14addExtraWidgetEP16CutterDockWidget", false]], "mainwindow::addmemorydockwidget (c++ function)": [[76, "_CPPv4N10MainWindow19addMemoryDockWidgetEP16MemoryDockWidget", false]], "mainwindow::addmenufileaction (c++ function)": [[76, "_CPPv4N10MainWindow17addMenuFileActionEP7QAction", false]], "mainwindow::addnewmemorywidget (c++ function)": [[76, "_CPPv4N10MainWindow18addNewMemoryWidgetE16MemoryWidgetType3RVAb", false]], "mainwindow::addplugindockwidget (c++ function)": [[76, "_CPPv4N10MainWindow19addPluginDockWidgetEP16CutterDockWidget", false], [76, "_CPPv4N10MainWindow19addPluginDockWidgetEP16CutterDockWidgetP7QAction", false]], "mainwindow::addresstypehint (c++ enum)": [[76, "_CPPv4N10MainWindow15AddressTypeHintE", false]], "mainwindow::addresstypehint::data (c++ enumerator)": [[76, "_CPPv4N10MainWindow15AddressTypeHint4DataE", false]], "mainwindow::addresstypehint::function (c++ enumerator)": [[76, "_CPPv4N10MainWindow15AddressTypeHint8FunctionE", false]], "mainwindow::addresstypehint::unknown (c++ enumerator)": [[76, "_CPPv4N10MainWindow15AddressTypeHint7UnknownE", false]], "mainwindow::addwidget (c++ function)": [[76, "_CPPv4N10MainWindow9addWidgetEP16CutterDockWidget", false]], "mainwindow::closeevent (c++ function)": [[76, "_CPPv4N10MainWindow10closeEventEP11QCloseEvent", false]], "mainwindow::closenewfiledialog (c++ function)": [[76, "_CPPv4N10MainWindow18closeNewFileDialogEv", false]], "mainwindow::contextmenutype (c++ enum)": [[76, "_CPPv4N10MainWindow15ContextMenuTypeE", false]], "mainwindow::contextmenutype::addressable (c++ enumerator)": [[76, "_CPPv4N10MainWindow15ContextMenuType11AddressableE", false]], "mainwindow::contextmenutype::disassembly (c++ enumerator)": [[76, "_CPPv4N10MainWindow15ContextMenuType11DisassemblyE", false]], "mainwindow::createshowinmenu (c++ function)": [[76, "_CPPv4N10MainWindow16createShowInMenuEP7QWidget3RVA15AddressTypeHint", false]], "mainwindow::displaynewfiledialog (c++ function)": [[76, "_CPPv4N10MainWindow20displayNewFileDialogEv", false]], "mainwindow::displaywelcomedialog (c++ function)": [[76, "_CPPv4N10MainWindow20displayWelcomeDialogEv", false]], "mainwindow::finalizeopen (c++ function)": [[76, "_CPPv4N10MainWindow12finalizeOpenEv", false]], "mainwindow::getcontextmenuextensions (c++ function)": [[76, "_CPPv4N10MainWindow24getContextMenuExtensionsE15ContextMenuType", false]], "mainwindow::getfilename (c++ function)": [[76, "_CPPv4NK10MainWindow11getFilenameEv", false]], "mainwindow::getlastmemorywidget (c++ function)": [[76, "_CPPv4N10MainWindow19getLastMemoryWidgetEv", false]], "mainwindow::getmenubytype (c++ function)": [[76, "_CPPv4N10MainWindow13getMenuByTypeE8MenuType", false]], "mainwindow::getuniqueobjectname (c++ function)": [[76, "_CPPv4NK10MainWindow19getUniqueObjectNameERK7QString", false]], "mainwindow::lockdocks (c++ function)": [[76, "_CPPv4N10MainWindow9lockDocksEb", false]], "mainwindow::mainwindow (c++ function)": [[76, "_CPPv4N10MainWindow10MainWindowEP7QWidget", false]], "mainwindow::menutype (c++ enum)": [[76, "_CPPv4N10MainWindow8MenuTypeE", false]], "mainwindow::menutype::debug (c++ enumerator)": [[76, "_CPPv4N10MainWindow8MenuType5DebugE", false]], "mainwindow::menutype::edit (c++ enumerator)": [[76, "_CPPv4N10MainWindow8MenuType4EditE", false]], "mainwindow::menutype::file (c++ enumerator)": [[76, "_CPPv4N10MainWindow8MenuType4FileE", false]], "mainwindow::menutype::help (c++ enumerator)": [[76, "_CPPv4N10MainWindow8MenuType4HelpE", false]], "mainwindow::menutype::plugins (c++ enumerator)": [[76, "_CPPv4N10MainWindow8MenuType7PluginsE", false]], "mainwindow::menutype::view (c++ enumerator)": [[76, "_CPPv4N10MainWindow8MenuType4ViewE", false]], "mainwindow::menutype::windows (c++ enumerator)": [[76, "_CPPv4N10MainWindow8MenuType7WindowsE", false]], "mainwindow::messageboxwarning (c++ function)": [[76, "_CPPv4N10MainWindow17messageBoxWarningE7QString7QString", false]], "mainwindow::on_actionanalyze_triggered (c++ function)": [[76, "_CPPv4N10MainWindow26on_actionAnalyze_triggeredEv", false]], "mainwindow::on_actionrun_script_triggered (c++ function)": [[76, "_CPPv4N10MainWindow29on_actionRun_Script_triggeredEv", false]], "mainwindow::on_actiontabs_triggered (c++ function)": [[76, "_CPPv4N10MainWindow23on_actionTabs_triggeredEv", false]], "mainwindow::opennewfile (c++ function)": [[76, "_CPPv4N10MainWindow11openNewFileER14InitialOptionsb", false]], "mainwindow::opennewfilefailed (c++ function)": [[76, "_CPPv4N10MainWindow17openNewFileFailedEv", false]], "mainwindow::openproject (c++ function)": [[76, "_CPPv4N10MainWindow11openProjectERK7QString", false]], "mainwindow::paintevent (c++ function)": [[76, "_CPPv4N10MainWindow10paintEventEP11QPaintEvent", false]], "mainwindow::readsettings (c++ function)": [[76, "_CPPv4N10MainWindow12readSettingsEv", false]], "mainwindow::refreshall (c++ function)": [[76, "_CPPv4N10MainWindow10refreshAllEv", false]], "mainwindow::refreshomnibar (c++ function)": [[76, "_CPPv4N10MainWindow14refreshOmniBarERK11QStringList", false]], "mainwindow::removewidget (c++ function)": [[76, "_CPPv4N10MainWindow12removeWidgetEP16CutterDockWidget", false]], "mainwindow::responsive (c++ member)": [[76, "_CPPv4N10MainWindow10responsiveE", false]], "mainwindow::saveproject (c++ function)": [[76, "_CPPv4N10MainWindow11saveProjectEPb", false]], "mainwindow::saveprojectas (c++ function)": [[76, "_CPPv4N10MainWindow13saveProjectAsEPb", false]], "mainwindow::savesettings (c++ function)": [[76, "_CPPv4N10MainWindow12saveSettingsEv", false]], "mainwindow::seektofunctionlastinstruction (c++ function)": [[76, "_CPPv4N10MainWindow29seekToFunctionLastInstructionEv", false]], "mainwindow::seektofunctionstart (c++ function)": [[76, "_CPPv4N10MainWindow19seekToFunctionStartEv", false]], "mainwindow::setcurrentmemorywidget (c++ function)": [[76, "_CPPv4N10MainWindow22setCurrentMemoryWidgetEP16MemoryDockWidget", false]], "mainwindow::setfilename (c++ function)": [[76, "_CPPv4N10MainWindow11setFilenameERK7QString", false]], "mainwindow::settablocation (c++ function)": [[76, "_CPPv4N10MainWindow14setTabLocationEv", false]], "mainwindow::showmemorywidget (c++ function)": [[76, "_CPPv4N10MainWindow16showMemoryWidgetE16MemoryWidgetType", false], [76, "_CPPv4N10MainWindow16showMemoryWidgetEv", false]], "mainwindow::showprojectsaveerror (c++ function)": [[76, "_CPPv4N10MainWindow20showProjectSaveErrorE12RzProjectErr", false]], "mainwindow::toggleoverview (c++ function)": [[76, "_CPPv4N10MainWindow14toggleOverviewEbP11GraphWidget", false]], "mainwindow::toggleresponsive (c++ function)": [[76, "_CPPv4N10MainWindow16toggleResponsiveEb", false]], "mainwindow::~mainwindow (c++ function)": [[76, "_CPPv4N10MainWindowD0Ev", false]], "mapfiledialog (c++ class)": [[147, "_CPPv413MapFileDialog", false]], "mapfiledialog::mapfiledialog (c++ function)": [[147, "_CPPv4N13MapFileDialog13MapFileDialogEP7QWidget", false]], "mapfiledialog::~mapfiledialog (c++ function)": [[147, "_CPPv4N13MapFileDialogD0Ev", false]], "mdhighlighter (c++ class)": [[28, "_CPPv413MdHighlighter", false]], "mdhighlighter::highlightingrule (c++ struct)": [[56, "_CPPv4N13MdHighlighter16HighlightingRuleE", false]], "mdhighlighter::highlightingrule::format (c++ member)": [[56, "_CPPv4N13MdHighlighter16HighlightingRule6formatE", false]], "mdhighlighter::highlightingrule::pattern (c++ member)": [[56, "_CPPv4N13MdHighlighter16HighlightingRule7patternE", false]], "mdhighlighter::mdhighlighter (c++ function)": [[28, "_CPPv4N13MdHighlighter13MdHighlighterEP13QTextDocument", false]], "memorydata (c++ class)": [[265, "_CPPv410MemoryData", false]], "memorydata::block_size (c++ member)": [[265, "_CPPv4N10MemoryData10BLOCK_SIZEE", false]], "memorydata::copy (c++ function)": [[265, "_CPPv4N10MemoryData4copyEPv8uint64_t6size_t", false]], "memorydata::fetch (c++ function)": [[265, "_CPPv4N10MemoryData5fetchE8uint64_ti", false]], "memorydata::maxindex (c++ function)": [[265, "_CPPv4N10MemoryData8maxIndexEv", false]], "memorydata::memorydata (c++ function)": [[265, "_CPPv4N10MemoryData10MemoryDataEv", false]], "memorydata::minindex (c++ function)": [[265, "_CPPv4N10MemoryData8minIndexEv", false]], "memorydata::write (c++ function)": [[265, "_CPPv4N10MemoryData5writeEPK7uint8_t8uint64_t6size_t", false]], "memorydata::writetocache (c++ function)": [[265, "_CPPv4N10MemoryData12writeToCacheEPK7uint8_t8uint64_t6size_t", false]], "memorydata::~memorydata (c++ function)": [[265, "_CPPv4N10MemoryDataD0Ev", false]], "memorydockwidget (c++ class)": [[266, "_CPPv416MemoryDockWidget", false]], "memorydockwidget::eventfilter (c++ function)": [[266, "_CPPv4N16MemoryDockWidget11eventFilterEP7QObjectP6QEvent", false]], "memorydockwidget::gettype (c++ function)": [[266, "_CPPv4NK16MemoryDockWidget7getTypeEv", false]], "memorydockwidget::memorydockwidget (c++ function)": [[266, "_CPPv4N16MemoryDockWidget16MemoryDockWidgetE16MemoryWidgetTypeP10MainWindow", false]], "memorydockwidget::tryraisememorywidget (c++ function)": [[266, "_CPPv4N16MemoryDockWidget20tryRaiseMemoryWidgetEv", false]], "memorydockwidget::~memorydockwidget (c++ function)": [[266, "_CPPv4N16MemoryDockWidgetD0Ev", false]], "memorymapdescription (c++ struct)": [[104, "_CPPv420MemoryMapDescription", false]], "memorymapdescription::addrend (c++ member)": [[104, "_CPPv4N20MemoryMapDescription7addrEndE", false]], "memorymapdescription::addrstart (c++ member)": [[104, "_CPPv4N20MemoryMapDescription9addrStartE", false]], "memorymapdescription::filename (c++ member)": [[104, "_CPPv4N20MemoryMapDescription8fileNameE", false]], "memorymapdescription::name (c++ member)": [[104, "_CPPv4N20MemoryMapDescription4nameE", false]], "memorymapdescription::permission (c++ member)": [[104, "_CPPv4N20MemoryMapDescription10permissionE", false]], "memorymapdescription::type (c++ member)": [[104, "_CPPv4N20MemoryMapDescription4typeE", false]], "memorymapmodel (c++ class)": [[267, "_CPPv414MemoryMapModel", false]], "memorymapmodel::address (c++ function)": [[267, "_CPPv4NK14MemoryMapModel7addressERK11QModelIndex", false]], "memorymapmodel::column (c++ enum)": [[267, "_CPPv4N14MemoryMapModel6ColumnE", false]], "memorymapmodel::column::addrendcolumn (c++ enumerator)": [[267, "_CPPv4N14MemoryMapModel6Column13AddrEndColumnE", false]], "memorymapmodel::column::addrstartcolumn (c++ enumerator)": [[267, "_CPPv4N14MemoryMapModel6Column15AddrStartColumnE", false]], "memorymapmodel::column::columncount (c++ enumerator)": [[267, "_CPPv4N14MemoryMapModel6Column11ColumnCountE", false]], "memorymapmodel::column::commentcolumn (c++ enumerator)": [[267, "_CPPv4N14MemoryMapModel6Column13CommentColumnE", false]], "memorymapmodel::column::namecolumn (c++ enumerator)": [[267, "_CPPv4N14MemoryMapModel6Column10NameColumnE", false]], "memorymapmodel::column::permcolumn (c++ enumerator)": [[267, "_CPPv4N14MemoryMapModel6Column10PermColumnE", false]], "memorymapmodel::columncount (c++ function)": [[267, "_CPPv4NK14MemoryMapModel11columnCountERK11QModelIndex", false]], "memorymapmodel::data (c++ function)": [[267, "_CPPv4NK14MemoryMapModel4dataERK11QModelIndexi", false]], "memorymapmodel::headerdata (c++ function)": [[267, "_CPPv4NK14MemoryMapModel10headerDataEiN2Qt11OrientationEi", false]], "memorymapmodel::memorymapmodel (c++ function)": [[267, "_CPPv4N14MemoryMapModel14MemoryMapModelEP5QListI20MemoryMapDescriptionEP7QObject", false]], "memorymapmodel::role (c++ enum)": [[267, "_CPPv4N14MemoryMapModel4RoleE", false]], "memorymapmodel::role::memorydescriptionrole (c++ enumerator)": [[267, "_CPPv4N14MemoryMapModel4Role21MemoryDescriptionRoleE", false]], "memorymapmodel::rowcount (c++ function)": [[267, "_CPPv4NK14MemoryMapModel8rowCountERK11QModelIndex", false]], "memorymapwidget (c++ class)": [[268, "_CPPv415MemoryMapWidget", false]], "memorymapwidget::memorymapwidget (c++ function)": [[268, "_CPPv4N15MemoryMapWidget15MemoryMapWidgetEP10MainWindow", false]], "memorymapwidget::~memorymapwidget (c++ function)": [[268, "_CPPv4N15MemoryMapWidgetD0Ev", false]], "memoryproxymodel (c++ class)": [[269, "_CPPv416MemoryProxyModel", false]], "memoryproxymodel::memoryproxymodel (c++ function)": [[269, "_CPPv4N16MemoryProxyModel16MemoryProxyModelEP14MemoryMapModelP7QObject", false]], "metrics (c++ struct)": [[57, "_CPPv4I0E7Metrics", false]], "metrics (c++ struct)": [[58, "_CPPv4IE7MetricsIiE", false]], "metrics::fontmetrics (c++ type)": [[58, "_CPPv4N7MetricsIiE11FontMetricsE", false]], "metrics::rect (c++ type)": [[58, "_CPPv4N7MetricsIiE4RectE", false]], "metrics (c++ struct)": [[59, "_CPPv4IE7MetricsI5qrealE", false]], "metrics::fontmetrics (c++ type)": [[59, "_CPPv4N7MetricsI5qrealE11FontMetricsE", false]], "metrics::rect (c++ type)": [[59, "_CPPv4N7MetricsI5qrealE4RectE", false]], "minmaxaccumulatetree (c++ class)": [[29, "_CPPv4I0E20MinMaxAccumulateTree", false]], "minmaxaccumulatetree::minmaxaccumulatetree (c++ function)": [[29, "_CPPv4N20MinMaxAccumulateTree20MinMaxAccumulateTreeE6size_t9ValueType", false]], "minmaxaccumulatetree::pushdown (c++ function)": [[29, "_CPPv4N20MinMaxAccumulateTree8pushDownE12NodePosition", false]], "minmaxaccumulatetree::rangeminmax (c++ function)": [[29, "_CPPv4N20MinMaxAccumulateTree11rangeMinMaxE6size_t6size_t", false]], "minmaxaccumulatetree::updatefromchildren (c++ function)": [[29, "_CPPv4N20MinMaxAccumulateTree18updateFromChildrenER8NodeTypeRK8NodeTypeRK8NodeType", false]], "minmaxaccumulatetree::updaterange (c++ function)": [[29, "_CPPv4N20MinMaxAccumulateTree11updateRangeE6size_t6size_t11IntegerType", false]], "mmio_lookup_context (c++ struct)": [[61, "_CPPv419mmio_lookup_context", false]], "mmio_lookup_context::mmio_address (c++ member)": [[61, "_CPPv4N19mmio_lookup_context12mmio_addressE", false]], "mmio_lookup_context::selected (c++ member)": [[61, "_CPPv4N19mmio_lookup_context8selectedE", false]], "multitypefilesavedialog (c++ class)": [[148, "_CPPv423MultitypeFileSaveDialog", false]], "multitypefilesavedialog::multitypefilesavedialog (c++ function)": [[148, "_CPPv4N23MultitypeFileSaveDialog23MultitypeFileSaveDialogEP7QWidgetRK7QStringRK7QString", false]], "multitypefilesavedialog::selectedtype (c++ function)": [[148, "_CPPv4NK23MultitypeFileSaveDialog12selectedTypeEv", false]], "multitypefilesavedialog::settypes (c++ function)": [[148, "_CPPv4N23MultitypeFileSaveDialog8setTypesEK7QVectorI15TypeDescriptionEb", false]], "multitypefilesavedialog::typedescription (c++ struct)": [[148, "_CPPv4N23MultitypeFileSaveDialog15TypeDescriptionE", false], [165, "_CPPv4N23MultitypeFileSaveDialog15TypeDescriptionE", false]], "multitypefilesavedialog::typedescription::data (c++ member)": [[148, "_CPPv4N23MultitypeFileSaveDialog15TypeDescription4dataE", false], [165, "_CPPv4N23MultitypeFileSaveDialog15TypeDescription4dataE", false]], "multitypefilesavedialog::typedescription::description (c++ member)": [[148, "_CPPv4N23MultitypeFileSaveDialog15TypeDescription11descriptionE", false], [165, "_CPPv4N23MultitypeFileSaveDialog15TypeDescription11descriptionE", false]], "multitypefilesavedialog::typedescription::extension (c++ member)": [[148, "_CPPv4N23MultitypeFileSaveDialog15TypeDescription9extensionE", false], [165, "_CPPv4N23MultitypeFileSaveDialog15TypeDescription9extensionE", false]], "nativedebugdialog (c++ class)": [[149, "_CPPv417NativeDebugDialog", false]], "nativedebugdialog::getargs (c++ function)": [[149, "_CPPv4NK17NativeDebugDialog7getArgsEv", false]], "nativedebugdialog::nativedebugdialog (c++ function)": [[149, "_CPPv4N17NativeDebugDialog17NativeDebugDialogEP7QWidget", false]], "nativedebugdialog::setargs (c++ function)": [[149, "_CPPv4N17NativeDebugDialog7setArgsERK7QString", false]], "nativedebugdialog::~nativedebugdialog (c++ function)": [[149, "_CPPv4N17NativeDebugDialogD0Ev", false]], "newfiledialog (c++ class)": [[150, "_CPPv413NewFileDialog", false]], "newfiledialog::newfiledialog (c++ function)": [[150, "_CPPv4N13NewFileDialog13NewFileDialogEP10MainWindow", false]], "newfiledialog::~newfiledialog (c++ function)": [[150, "_CPPv4N13NewFileDialogD0Ev", false]], "omnibar (c++ class)": [[270, "_CPPv47Omnibar", false]], "omnibar::clear (c++ function)": [[270, "_CPPv4N7Omnibar5clearEv", false]], "omnibar::omnibar (c++ function)": [[270, "_CPPv4N7Omnibar7OmnibarEP10MainWindowP7QWidget", false]], "omnibar::refresh (c++ function)": [[270, "_CPPv4N7Omnibar7refreshERK11QStringList", false]], "optioninfo (c++ struct)": [[336, "_CPPv410OptionInfo", false]], "optioninfo::displayingtext (c++ member)": [[336, "_CPPv4N10OptionInfo14displayingtextE", false]], "optioninfo::info (c++ member)": [[336, "_CPPv4N10OptionInfo4infoE", false]], "overviewview (c++ class)": [[271, "_CPPv412OverviewView", false]], "overviewview::centrerect (c++ function)": [[271, "_CPPv4N12OverviewView10centreRectEv", false]], "overviewview::currentfcnaddr (c++ member)": [[271, "_CPPv4N12OverviewView14currentFcnAddrE", false]], "overviewview::getrangerect (c++ function)": [[271, "_CPPv4N12OverviewView12getRangeRectEv", false]], "overviewview::mousemoved (c++ function)": [[271, "_CPPv4N12OverviewView10mouseMovedEv", false]], "overviewview::overviewview (c++ function)": [[271, "_CPPv4N12OverviewView12OverviewViewEP7QWidget", false]], "overviewview::refreshview (c++ function)": [[271, "_CPPv4N12OverviewView11refreshViewEv", false]], "overviewview::setdata (c++ function)": [[271, "_CPPv4N12OverviewView7setDataEiiNSt13unordered_mapI4ut6410GraphBlockEEN21DisassemblerGraphView24EdgeConfigurationMappingE", false]], "overviewview::setrangerect (c++ function)": [[271, "_CPPv4N12OverviewView12setRangeRectE6QRectF", false]], "overviewview::~overviewview (c++ function)": [[271, "_CPPv4N12OverviewViewD0Ev", false]], "overviewwidget (c++ class)": [[272, "_CPPv414OverviewWidget", false]], "overviewwidget::getgraphview (c++ function)": [[272, "_CPPv4NK14OverviewWidget12getGraphViewEv", false]], "overviewwidget::getisavailable (c++ function)": [[272, "_CPPv4NK14OverviewWidget14getIsAvailableEv", false]], "overviewwidget::gettargetgraphwidget (c++ function)": [[272, "_CPPv4N14OverviewWidget20getTargetGraphWidgetEv", false]], "overviewwidget::getuseropened (c++ function)": [[272, "_CPPv4NK14OverviewWidget13getUserOpenedEv", false]], "overviewwidget::isavailablechanged (c++ function)": [[272, "_CPPv4N14OverviewWidget18isAvailableChangedEb", false]], "overviewwidget::overviewwidget (c++ function)": [[272, "_CPPv4N14OverviewWidget14OverviewWidgetEP10MainWindow", false]], "overviewwidget::resized (c++ function)": [[272, "_CPPv4N14OverviewWidget7resizedEv", false]], "overviewwidget::settargetgraphwidget (c++ function)": [[272, "_CPPv4N14OverviewWidget20setTargetGraphWidgetEP11GraphWidget", false]], "overviewwidget::useropenedchanged (c++ function)": [[272, "_CPPv4N14OverviewWidget17userOpenedChangedEb", false]], "overviewwidget::wheelevent (c++ function)": [[272, "_CPPv4N14OverviewWidget10wheelEventEP11QWheelEvent", false]], "overviewwidget::~overviewwidget (c++ function)": [[272, "_CPPv4N14OverviewWidgetD0Ev", false]], "pluginmanager (c++ class)": [[175, "_CPPv413PluginManager", false]], "pluginmanager::destroyplugins (c++ function)": [[175, "_CPPv4N13PluginManager14destroyPluginsEv", false]], "pluginmanager::getinstance (c++ function)": [[175, "_CPPv4N13PluginManager11getInstanceEv", false]], "pluginmanager::getplugindirectories (c++ function)": [[175, "_CPPv4NK13PluginManager20getPluginDirectoriesEv", false]], "pluginmanager::getplugins (c++ function)": [[175, "_CPPv4N13PluginManager10getPluginsEv", false]], "pluginmanager::getuserpluginsdirectory (c++ function)": [[175, "_CPPv4NK13PluginManager23getUserPluginsDirectoryEv", false]], "pluginmanager::loadplugins (c++ function)": [[175, "_CPPv4N13PluginManager11loadPluginsEb", false]], "pluginmanager::pluginmanager (c++ function)": [[175, "_CPPv4N13PluginManager13PluginManagerEv", false]], "pluginmanager::pluginptr (c++ type)": [[175, "_CPPv4N13PluginManager9PluginPtrE", false]], "pluginmanager::pluginterminator (c++ class)": [[175, "_CPPv4N13PluginManager16PluginTerminatorE", false], [176, "_CPPv4N13PluginManager16PluginTerminatorE", false]], "pluginmanager::pluginterminator::operator() (c++ function)": [[175, "_CPPv4NK13PluginManager16PluginTerminatorclEP12CutterPlugin", false], [176, "_CPPv4NK13PluginManager16PluginTerminatorclEP12CutterPlugin", false]], "pluginmanager::~pluginmanager (c++ function)": [[175, "_CPPv4N13PluginManagerD0Ev", false]], "pointsetmintree (c++ class)": [[30, "_CPPv415PointSetMinTree", false]], "pointsetmintree::leftmostlessthan (c++ function)": [[30, "_CPPv4N15PointSetMinTree16leftMostLessThanE6size_ti", false]], "pointsetmintree::nodetype (c++ type)": [[30, "_CPPv4N15PointSetMinTree8NodeTypeE", false]], "pointsetmintree::rightmostlessthan (c++ function)": [[30, "_CPPv4N15PointSetMinTree17rightMostLessThanE6size_ti", false]], "pointsetmintree::updatefromchildren (c++ function)": [[30, "_CPPv4N15PointSetMinTree18updateFromChildrenER8NodeTypeR8NodeTypeR8NodeType", false]], "pointsetsegmenttree (c++ class)": [[31, "_CPPv4I00E19PointSetSegmentTree", false]], "pointsetsegmenttree::set (c++ function)": [[31, "_CPPv4N19PointSetSegmentTree3setE6size_tRK8NodeType", false]], "pointsetsegmenttree::valueatpoint (c++ function)": [[31, "_CPPv4NK19PointSetSegmentTree12valueAtPointE6size_t", false]], "processbeinganalysedproxymodel (c++ class)": [[151, "_CPPv430ProcessBeingAnalysedProxyModel", false]], "processbeinganalysedproxymodel::processbeinganalysedproxymodel (c++ function)": [[151, "_CPPv4N30ProcessBeingAnalysedProxyModel30ProcessBeingAnalysedProxyModelEP12ProcessModelP7QObject", false]], "processdescription (c++ struct)": [[105, "_CPPv418ProcessDescription", false]], "processdescription::current (c++ member)": [[105, "_CPPv4N18ProcessDescription7currentE", false]], "processdescription::path (c++ member)": [[105, "_CPPv4N18ProcessDescription4pathE", false]], "processdescription::pid (c++ member)": [[105, "_CPPv4N18ProcessDescription3pidE", false]], "processdescription::ppid (c++ member)": [[105, "_CPPv4N18ProcessDescription4ppidE", false]], "processdescription::status (c++ member)": [[105, "_CPPv4N18ProcessDescription6statusE", false]], "processdescription::uid (c++ member)": [[105, "_CPPv4N18ProcessDescription3uidE", false]], "processesfiltermodel (c++ class)": [[273, "_CPPv420ProcessesFilterModel", false]], "processesfiltermodel::processesfiltermodel (c++ function)": [[273, "_CPPv4N20ProcessesFilterModel20ProcessesFilterModelEP7QObject", false]], "processeswidget (c++ class)": [[274, "_CPPv415ProcessesWidget", false]], "processeswidget::columnindex (c++ enum)": [[274, "_CPPv4N15ProcessesWidget11ColumnIndexE", false]], "processeswidget::columnindex::column_path (c++ enumerator)": [[274, "_CPPv4N15ProcessesWidget11ColumnIndex11COLUMN_PATHE", false]], "processeswidget::columnindex::column_pid (c++ enumerator)": [[274, "_CPPv4N15ProcessesWidget11ColumnIndex10COLUMN_PIDE", false]], "processeswidget::columnindex::column_status (c++ enumerator)": [[274, "_CPPv4N15ProcessesWidget11ColumnIndex13COLUMN_STATUSE", false]], "processeswidget::columnindex::column_uid (c++ enumerator)": [[274, "_CPPv4N15ProcessesWidget11ColumnIndex10COLUMN_UIDE", false]], "processeswidget::processeswidget (c++ function)": [[274, "_CPPv4N15ProcessesWidget15ProcessesWidgetEP10MainWindow", false]], "processeswidget::~processeswidget (c++ function)": [[274, "_CPPv4N15ProcessesWidgetD0Ev", false]], "processmodel (c++ class)": [[152, "_CPPv412ProcessModel", false]], "processmodel::column (c++ enum)": [[152, "_CPPv4N12ProcessModel6ColumnE", false]], "processmodel::column::columncount (c++ enumerator)": [[152, "_CPPv4N12ProcessModel6Column11ColumnCountE", false]], "processmodel::column::pathcolumn (c++ enumerator)": [[152, "_CPPv4N12ProcessModel6Column10PathColumnE", false]], "processmodel::column::pidcolumn (c++ enumerator)": [[152, "_CPPv4N12ProcessModel6Column9PidColumnE", false]], "processmodel::column::statuscolumn (c++ enumerator)": [[152, "_CPPv4N12ProcessModel6Column12StatusColumnE", false]], "processmodel::column::uidcolumn (c++ enumerator)": [[152, "_CPPv4N12ProcessModel6Column9UidColumnE", false]], "processmodel::columncount (c++ function)": [[152, "_CPPv4NK12ProcessModel11columnCountERK11QModelIndex", false]], "processmodel::data (c++ function)": [[152, "_CPPv4NK12ProcessModel4dataERK11QModelIndexi", false]], "processmodel::headerdata (c++ function)": [[152, "_CPPv4NK12ProcessModel10headerDataEiN2Qt11OrientationEi", false]], "processmodel::lessthan (c++ function)": [[152, "_CPPv4N12ProcessModel8lessThanERK18ProcessDescriptionRK18ProcessDescriptioni", false]], "processmodel::processmodel (c++ function)": [[152, "_CPPv4N12ProcessModel12ProcessModelEP7QObject", false]], "processmodel::role (c++ enum)": [[152, "_CPPv4N12ProcessModel4RoleE", false]], "processmodel::role::procdescriptionrole (c++ enumerator)": [[152, "_CPPv4N12ProcessModel4Role19ProcDescriptionRoleE", false]], "processmodel::rowcount (c++ function)": [[152, "_CPPv4NK12ProcessModel8rowCountERK11QModelIndex", false]], "processmodel::updatedata (c++ function)": [[152, "_CPPv4N12ProcessModel10updateDataEv", false]], "processproxymodel (c++ class)": [[153, "_CPPv417ProcessProxyModel", false]], "processproxymodel::processproxymodel (c++ function)": [[153, "_CPPv4N17ProcessProxyModel17ProcessProxyModelEP12ProcessModelP7QObject", false]], "progressindicator (c++ class)": [[32, "_CPPv417ProgressIndicator", false]], "progressindicator::getanimating (c++ function)": [[32, "_CPPv4NK17ProgressIndicator12getAnimatingEv", false]], "progressindicator::getprogressindicatorvisible (c++ function)": [[32, "_CPPv4NK17ProgressIndicator27getProgressIndicatorVisibleEv", false]], "progressindicator::minimumsizehint (c++ function)": [[32, "_CPPv4NK17ProgressIndicator15minimumSizeHintEv", false]], "progressindicator::progressindicator (c++ function)": [[32, "_CPPv4N17ProgressIndicator17ProgressIndicatorEP7QWidget", false]], "progressindicator::setanimating (c++ function)": [[32, "_CPPv4N17ProgressIndicator12setAnimatingEb", false]], "progressindicator::setprogressindicatorvisible (c++ function)": [[32, "_CPPv4N17ProgressIndicator27setProgressIndicatorVisibleEb", false]], "progressindicator::sizehint (c++ function)": [[32, "_CPPv4NK17ProgressIndicator8sizeHintEv", false]], "progressindicator::~progressindicator (c++ function)": [[32, "_CPPv4N17ProgressIndicatorD0Ev", false]], "qhelpers::sizepolicyminmax (c++ struct)": [[62, "_CPPv4N8qhelpers16SizePolicyMinMaxE", false]], "qhelpers::sizepolicyminmax::max (c++ member)": [[62, "_CPPv4N8qhelpers16SizePolicyMinMax3maxE", false]], "qhelpers::sizepolicyminmax::min (c++ member)": [[62, "_CPPv4N8qhelpers16SizePolicyMinMax3minE", false]], "qhelpers::sizepolicyminmax::restoreheight (c++ function)": [[62, "_CPPv4N8qhelpers16SizePolicyMinMax13restoreHeightEP7QWidget", false]], "qhelpers::sizepolicyminmax::restorewidth (c++ function)": [[62, "_CPPv4N8qhelpers16SizePolicyMinMax12restoreWidthEP7QWidget", false]], "qhelpers::sizepolicyminmax::sizepolicy (c++ member)": [[62, "_CPPv4N8qhelpers16SizePolicyMinMax10sizePolicyE", false]], "quickfilterview (c++ class)": [[275, "_CPPv415QuickFilterView", false]], "quickfilterview::clearfilter (c++ function)": [[275, "_CPPv4N15QuickFilterView11clearFilterEv", false]], "quickfilterview::closefilter (c++ function)": [[275, "_CPPv4N15QuickFilterView11closeFilterEv", false]], "quickfilterview::filterclosed (c++ function)": [[275, "_CPPv4N15QuickFilterView12filterClosedEv", false]], "quickfilterview::filtertextchanged (c++ function)": [[275, "_CPPv4N15QuickFilterView17filterTextChangedERK7QString", false]], "quickfilterview::quickfilterview (c++ function)": [[275, "_CPPv4N15QuickFilterView15QuickFilterViewEP7QWidgetb", false]], "quickfilterview::showfilter (c++ function)": [[275, "_CPPv4N15QuickFilterView10showFilterEv", false]], "quickfilterview::~quickfilterview (c++ function)": [[275, "_CPPv4N15QuickFilterViewD0Ev", false]], "rangeassignmaxtree (c++ class)": [[33, "_CPPv418RangeAssignMaxTree", false]], "rangeassignmaxtree::pushdown (c++ function)": [[33, "_CPPv4N18RangeAssignMaxTree8pushDownE6size_t", false]], "rangeassignmaxtree::rangeassignmaxtree (c++ function)": [[33, "_CPPv4N18RangeAssignMaxTree18RangeAssignMaxTreeE6size_t9ValueType", false]], "rangeassignmaxtree::rangemaximum (c++ function)": [[33, "_CPPv4N18RangeAssignMaxTree12rangeMaximumE6size_t6size_t", false]], "rangeassignmaxtree::setrange (c++ function)": [[33, "_CPPv4N18RangeAssignMaxTree8setRangeE6size_t6size_t8NodeType", false]], "rangeassignmaxtree::updatefromchildren (c++ function)": [[33, "_CPPv4N18RangeAssignMaxTree18updateFromChildrenER8NodeTypeRK8NodeTypeRK8NodeType", false]], "rangeassignmaxtree::valuetype (c++ type)": [[33, "_CPPv4N18RangeAssignMaxTree9ValueTypeE", false]], "rawaddrdock (c++ class)": [[276, "_CPPv411RawAddrDock", false]], "rawaddrdock::rawaddrdock (c++ function)": [[276, "_CPPv4N11RawAddrDock11RawAddrDockEP13SectionsModelP7QWidget", false]], "rawaddrdock::updatedock (c++ function)": [[276, "_CPPv4N11RawAddrDock10updateDockEv", false]], "rawaddrdock::~rawaddrdock (c++ function)": [[276, "_CPPv4N11RawAddrDockD0Ev", false]], "refdescription (c++ struct)": [[106, "_CPPv414RefDescription", false]], "refdescription::ref (c++ member)": [[106, "_CPPv4N14RefDescription3refE", false]], "refdescription::refcolor (c++ member)": [[106, "_CPPv4N14RefDescription8refColorE", false]], "refreshdeferrer (c++ class)": [[34, "_CPPv415RefreshDeferrer", false]], "refreshdeferrer::attemptrefresh (c++ function)": [[34, "_CPPv4N15RefreshDeferrer14attemptRefreshE21RefreshDeferrerParams", false]], "refreshdeferrer::refreshdeferrer (c++ function)": [[34, "_CPPv4N15RefreshDeferrer15RefreshDeferrerEP26RefreshDeferrerAccumulatorP7QObject", false]], "refreshdeferrer::refreshnow (c++ function)": [[34, "_CPPv4N15RefreshDeferrer10refreshNowEK27RefreshDeferrerParamsResult", false]], "refreshdeferrer::registerfor (c++ function)": [[34, "_CPPv4N15RefreshDeferrer11registerForEP16CutterDockWidget", false]], "refreshdeferrer::~refreshdeferrer (c++ function)": [[34, "_CPPv4N15RefreshDeferrerD0Ev", false]], "refreshdeferreraccumulator (c++ class)": [[35, "_CPPv426RefreshDeferrerAccumulator", false]], "refreshdeferreraccumulator::~refreshdeferreraccumulator (c++ function)": [[35, "_CPPv4N26RefreshDeferrerAccumulatorD0Ev", false]], "registerref (c++ struct)": [[107, "_CPPv411RegisterRef", false]], "registerref::name (c++ member)": [[107, "_CPPv4N11RegisterRef4nameE", false]], "registerref::ref (c++ member)": [[107, "_CPPv4N11RegisterRef3refE", false]], "registerref::value (c++ member)": [[107, "_CPPv4N11RegisterRef5valueE", false]], "registerrefdescription (c++ struct)": [[337, "_CPPv422RegisterRefDescription", false]], "registerrefdescription::refdesc (c++ member)": [[337, "_CPPv4N22RegisterRefDescription7refDescE", false]], "registerrefdescription::reg (c++ member)": [[337, "_CPPv4N22RegisterRefDescription3regE", false]], "registerrefdescription::value (c++ member)": [[337, "_CPPv4N22RegisterRefDescription5valueE", false]], "registerrefmodel (c++ class)": [[277, "_CPPv416RegisterRefModel", false]], "registerrefmodel::column (c++ enum)": [[277, "_CPPv4N16RegisterRefModel6ColumnE", false]], "registerrefmodel::column::columncount (c++ enumerator)": [[277, "_CPPv4N16RegisterRefModel6Column11ColumnCountE", false]], "registerrefmodel::column::commentcolumn (c++ enumerator)": [[277, "_CPPv4N16RegisterRefModel6Column13CommentColumnE", false]], "registerrefmodel::column::refcolumn (c++ enumerator)": [[277, "_CPPv4N16RegisterRefModel6Column9RefColumnE", false]], "registerrefmodel::column::regcolumn (c++ enumerator)": [[277, "_CPPv4N16RegisterRefModel6Column9RegColumnE", false]], "registerrefmodel::column::valuecolumn (c++ enumerator)": [[277, "_CPPv4N16RegisterRefModel6Column11ValueColumnE", false]], "registerrefmodel::columncount (c++ function)": [[277, "_CPPv4NK16RegisterRefModel11columnCountERK11QModelIndex", false]], "registerrefmodel::data (c++ function)": [[277, "_CPPv4NK16RegisterRefModel4dataERK11QModelIndexi", false]], "registerrefmodel::headerdata (c++ function)": [[277, "_CPPv4NK16RegisterRefModel10headerDataEiN2Qt11OrientationEi", false]], "registerrefmodel::registerrefmodel (c++ function)": [[277, "_CPPv4N16RegisterRefModel16RegisterRefModelEP5QListI22RegisterRefDescriptionEP7QObject", false]], "registerrefmodel::role (c++ enum)": [[277, "_CPPv4N16RegisterRefModel4RoleE", false]], "registerrefmodel::role::registerrefdescriptionrole (c++ enumerator)": [[277, "_CPPv4N16RegisterRefModel4Role26RegisterRefDescriptionRoleE", false]], "registerrefmodel::rowcount (c++ function)": [[277, "_CPPv4NK16RegisterRefModel8rowCountERK11QModelIndex", false]], "registerrefproxymodel (c++ class)": [[278, "_CPPv421RegisterRefProxyModel", false]], "registerrefproxymodel::registerrefproxymodel (c++ function)": [[278, "_CPPv4N21RegisterRefProxyModel21RegisterRefProxyModelEP16RegisterRefModelP7QObject", false]], "registerrefswidget (c++ class)": [[279, "_CPPv418RegisterRefsWidget", false]], "registerrefswidget::registerrefswidget (c++ function)": [[279, "_CPPv4N18RegisterRefsWidget18RegisterRefsWidgetEP10MainWindow", false]], "registerrefswidget::~registerrefswidget (c++ function)": [[279, "_CPPv4N18RegisterRefsWidgetD0Ev", false]], "registerrefvaluedescription (c++ struct)": [[108, "_CPPv427RegisterRefValueDescription", false]], "registerrefvaluedescription::name (c++ member)": [[108, "_CPPv4N27RegisterRefValueDescription4nameE", false]], "registerrefvaluedescription::ref (c++ member)": [[108, "_CPPv4N27RegisterRefValueDescription3refE", false]], "registerrefvaluedescription::value (c++ member)": [[108, "_CPPv4N27RegisterRefValueDescription5valueE", false]], "registerswidget (c++ class)": [[280, "_CPPv415RegistersWidget", false]], "registerswidget::registerswidget (c++ function)": [[280, "_CPPv4N15RegistersWidget15RegistersWidgetEP10MainWindow", false]], "registerswidget::~registerswidget (c++ function)": [[280, "_CPPv4N15RegistersWidgetD0Ev", false]], "relocdescription (c++ struct)": [[109, "_CPPv416RelocDescription", false]], "relocdescription::name (c++ member)": [[109, "_CPPv4N16RelocDescription4nameE", false]], "relocdescription::paddr (c++ member)": [[109, "_CPPv4N16RelocDescription5paddrE", false]], "relocdescription::type (c++ member)": [[109, "_CPPv4N16RelocDescription4typeE", false]], "relocdescription::vaddr (c++ member)": [[109, "_CPPv4N16RelocDescription5vaddrE", false]], "relocsmodel (c++ class)": [[281, "_CPPv411RelocsModel", false]], "relocsmodel::address (c++ function)": [[281, "_CPPv4NK11RelocsModel7addressERK11QModelIndex", false]], "relocsmodel::column (c++ enum)": [[281, "_CPPv4N11RelocsModel6ColumnE", false]], "relocsmodel::column::columncount (c++ enumerator)": [[281, "_CPPv4N11RelocsModel6Column11ColumnCountE", false]], "relocsmodel::column::commentcolumn (c++ enumerator)": [[281, "_CPPv4N11RelocsModel6Column13CommentColumnE", false]], "relocsmodel::column::namecolumn (c++ enumerator)": [[281, "_CPPv4N11RelocsModel6Column10NameColumnE", false]], "relocsmodel::column::typecolumn (c++ enumerator)": [[281, "_CPPv4N11RelocsModel6Column10TypeColumnE", false]], "relocsmodel::column::vaddrcolumn (c++ enumerator)": [[281, "_CPPv4N11RelocsModel6Column11VAddrColumnE", false]], "relocsmodel::columncount (c++ function)": [[281, "_CPPv4NK11RelocsModel11columnCountERK11QModelIndex", false]], "relocsmodel::data (c++ function)": [[281, "_CPPv4NK11RelocsModel4dataERK11QModelIndexi", false]], "relocsmodel::headerdata (c++ function)": [[281, "_CPPv4NK11RelocsModel10headerDataEiN2Qt11OrientationEi", false]], "relocsmodel::name (c++ function)": [[281, "_CPPv4NK11RelocsModel4nameERK11QModelIndex", false]], "relocsmodel::reload (c++ function)": [[281, "_CPPv4N11RelocsModel6reloadEv", false]], "relocsmodel::relocsmodel (c++ function)": [[281, "_CPPv4N11RelocsModel11RelocsModelEP7QObject", false]], "relocsmodel::role (c++ enum)": [[281, "_CPPv4N11RelocsModel4RoleE", false]], "relocsmodel::role::addressrole (c++ enumerator)": [[281, "_CPPv4N11RelocsModel4Role11AddressRoleE", false]], "relocsmodel::role::relocdescriptionrole (c++ enumerator)": [[281, "_CPPv4N11RelocsModel4Role20RelocDescriptionRoleE", false]], "relocsmodel::rowcount (c++ function)": [[281, "_CPPv4NK11RelocsModel8rowCountERK11QModelIndex", false]], "relocsproxymodel (c++ class)": [[282, "_CPPv416RelocsProxyModel", false]], "relocsproxymodel::relocsproxymodel (c++ function)": [[282, "_CPPv4N16RelocsProxyModel16RelocsProxyModelEP11RelocsModelP7QObject", false]], "relocswidget (c++ class)": [[283, "_CPPv412RelocsWidget", false]], "relocswidget::relocswidget (c++ function)": [[283, "_CPPv4N12RelocsWidget12RelocsWidgetEP10MainWindow", false]], "relocswidget::~relocswidget (c++ function)": [[283, "_CPPv4N12RelocsWidgetD0Ev", false]], "remotedebugdialog (c++ class)": [[154, "_CPPv417RemoteDebugDialog", false]], "remotedebugdialog::geturi (c++ function)": [[154, "_CPPv4NK17RemoteDebugDialog6getUriEv", false]], "remotedebugdialog::remotedebugdialog (c++ function)": [[154, "_CPPv4N17RemoteDebugDialog17RemoteDebugDialogEP7QWidget", false]], "remotedebugdialog::validate (c++ function)": [[154, "_CPPv4N17RemoteDebugDialog8validateEv", false]], "remotedebugdialog::~remotedebugdialog (c++ function)": [[154, "_CPPv4N17RemoteDebugDialogD0Ev", false]], "replacingrefreshdeferreraccumulator (c++ class)": [[36, "_CPPv4I0E35ReplacingRefreshDeferrerAccumulator", false]], "replacingrefreshdeferreraccumulator::replacingrefreshdeferreraccumulator (c++ function)": [[36, "_CPPv4N35ReplacingRefreshDeferrerAccumulator35ReplacingRefreshDeferrerAccumulatorEb", false]], "replacingrefreshdeferreraccumulator::~replacingrefreshdeferreraccumulator (c++ function)": [[36, "_CPPv4N35ReplacingRefreshDeferrerAccumulatorD0Ev", false]], "resourcesdescription (c++ struct)": [[110, "_CPPv420ResourcesDescription", false]], "resourcesdescription::index (c++ member)": [[110, "_CPPv4N20ResourcesDescription5indexE", false]], "resourcesdescription::lang (c++ member)": [[110, "_CPPv4N20ResourcesDescription4langE", false]], "resourcesdescription::name (c++ member)": [[110, "_CPPv4N20ResourcesDescription4nameE", false]], "resourcesdescription::size (c++ member)": [[110, "_CPPv4N20ResourcesDescription4sizeE", false]], "resourcesdescription::type (c++ member)": [[110, "_CPPv4N20ResourcesDescription4typeE", false]], "resourcesdescription::vaddr (c++ member)": [[110, "_CPPv4N20ResourcesDescription5vaddrE", false]], "resourcesmodel (c++ class)": [[284, "_CPPv414ResourcesModel", false]], "resourcesmodel::address (c++ function)": [[284, "_CPPv4NK14ResourcesModel7addressERK11QModelIndex", false]], "resourcesmodel::columncount (c++ function)": [[284, "_CPPv4NK14ResourcesModel11columnCountERK11QModelIndex", false]], "resourcesmodel::columns (c++ enum)": [[284, "_CPPv4N14ResourcesModel7ColumnsE", false]], "resourcesmodel::columns::comment (c++ enumerator)": [[284, "_CPPv4N14ResourcesModel7Columns7COMMENTE", false]], "resourcesmodel::columns::count (c++ enumerator)": [[284, "_CPPv4N14ResourcesModel7Columns5COUNTE", false]], "resourcesmodel::columns::index (c++ enumerator)": [[284, "_CPPv4N14ResourcesModel7Columns5INDEXE", false]], "resourcesmodel::columns::lang (c++ enumerator)": [[284, "_CPPv4N14ResourcesModel7Columns4LANGE", false]], "resourcesmodel::columns::name (c++ enumerator)": [[284, "_CPPv4N14ResourcesModel7Columns4NAMEE", false]], "resourcesmodel::columns::size (c++ enumerator)": [[284, "_CPPv4N14ResourcesModel7Columns4SIZEE", false]], "resourcesmodel::columns::type (c++ enumerator)": [[284, "_CPPv4N14ResourcesModel7Columns4TYPEE", false]], "resourcesmodel::columns::vaddr (c++ enumerator)": [[284, "_CPPv4N14ResourcesModel7Columns5VADDRE", false]], "resourcesmodel::data (c++ function)": [[284, "_CPPv4NK14ResourcesModel4dataERK11QModelIndexi", false]], "resourcesmodel::headerdata (c++ function)": [[284, "_CPPv4NK14ResourcesModel10headerDataEiN2Qt11OrientationEi", false]], "resourcesmodel::resourcesmodel (c++ function)": [[284, "_CPPv4N14ResourcesModel14ResourcesModelEP5QListI20ResourcesDescriptionEP7QObject", false]], "resourcesmodel::rowcount (c++ function)": [[284, "_CPPv4NK14ResourcesModel8rowCountERK11QModelIndex", false]], "resourceswidget (c++ class)": [[285, "_CPPv415ResourcesWidget", false]], "resourceswidget::resourceswidget (c++ function)": [[285, "_CPPv4N15ResourcesWidget15ResourcesWidgetEP10MainWindow", false]], "richtextpainter (c++ class)": [[37, "_CPPv415RichTextPainter", false]], "richtextpainter::cropped (c++ function)": [[37, "_CPPv4N15RichTextPainter7croppedERK4ListiRK7QStringPb", false]], "richtextpainter::customrichtext_t (c++ struct)": [[37, "_CPPv4N15RichTextPainter16CustomRichText_tE", false], [60, "_CPPv4N15RichTextPainter16CustomRichText_tE", false]], "richtextpainter::customrichtext_t::flags (c++ member)": [[37, "_CPPv4N15RichTextPainter16CustomRichText_t5flagsE", false], [60, "_CPPv4N15RichTextPainter16CustomRichText_t5flagsE", false]], "richtextpainter::customrichtext_t::highlight (c++ member)": [[37, "_CPPv4N15RichTextPainter16CustomRichText_t9highlightE", false], [60, "_CPPv4N15RichTextPainter16CustomRichText_t9highlightE", false]], "richtextpainter::customrichtext_t::highlightcolor (c++ member)": [[37, "_CPPv4N15RichTextPainter16CustomRichText_t14highlightColorE", false], [60, "_CPPv4N15RichTextPainter16CustomRichText_t14highlightColorE", false]], "richtextpainter::customrichtext_t::highlightconnectprev (c++ member)": [[37, "_CPPv4N15RichTextPainter16CustomRichText_t20highlightConnectPrevE", false], [60, "_CPPv4N15RichTextPainter16CustomRichText_t20highlightConnectPrevE", false]], "richtextpainter::customrichtext_t::highlightwidth (c++ member)": [[37, "_CPPv4N15RichTextPainter16CustomRichText_t14highlightWidthE", false], [60, "_CPPv4N15RichTextPainter16CustomRichText_t14highlightWidthE", false]], "richtextpainter::customrichtext_t::text (c++ member)": [[37, "_CPPv4N15RichTextPainter16CustomRichText_t4textE", false], [60, "_CPPv4N15RichTextPainter16CustomRichText_t4textE", false]], "richtextpainter::customrichtext_t::textbackground (c++ member)": [[37, "_CPPv4N15RichTextPainter16CustomRichText_t14textBackgroundE", false], [60, "_CPPv4N15RichTextPainter16CustomRichText_t14textBackgroundE", false]], "richtextpainter::customrichtext_t::textcolor (c++ member)": [[37, "_CPPv4N15RichTextPainter16CustomRichText_t9textColorE", false], [60, "_CPPv4N15RichTextPainter16CustomRichText_t9textColorE", false]], "richtextpainter::customrichtextflags (c++ enum)": [[37, "_CPPv4N15RichTextPainter19CustomRichTextFlagsE", false]], "richtextpainter::customrichtextflags::flagall (c++ enumerator)": [[37, "_CPPv4N15RichTextPainter19CustomRichTextFlags7FlagAllE", false]], "richtextpainter::customrichtextflags::flagbackground (c++ enumerator)": [[37, "_CPPv4N15RichTextPainter19CustomRichTextFlags14FlagBackgroundE", false]], "richtextpainter::customrichtextflags::flagcolor (c++ enumerator)": [[37, "_CPPv4N15RichTextPainter19CustomRichTextFlags9FlagColorE", false]], "richtextpainter::customrichtextflags::flagnone (c++ enumerator)": [[37, "_CPPv4N15RichTextPainter19CustomRichTextFlags8FlagNoneE", false]], "richtextpainter::fromtextdocument (c++ function)": [[37, "_CPPv4N15RichTextPainter16fromTextDocumentERK13QTextDocument", false]], "richtextpainter::htmlrichtext (c++ function)": [[37, "_CPPv4N15RichTextPainter12htmlRichTextERK4ListR7QStringR7QString", false]], "richtextpainter::list (c++ type)": [[37, "_CPPv4N15RichTextPainter4ListE", false]], "richtextpainter::paintrichtext (c++ function)": [[37, "_CPPv4I0EN15RichTextPainter13paintRichTextEvP8QPainter1T1T1T1T1TRK4ListP17CachedFontMetricsI1TE", false]], "rizincmdtask (c++ class)": [[38, "_CPPv412RizinCmdTask", false]], "rizincmdtask::getresult (c++ function)": [[38, "_CPPv4N12RizinCmdTask9getResultEv", false]], "rizincmdtask::getresultjson (c++ function)": [[38, "_CPPv4N12RizinCmdTask13getResultJsonEv", false]], "rizincmdtask::getresultraw (c++ function)": [[38, "_CPPv4N12RizinCmdTask12getResultRawEv", false]], "rizincmdtask::rizincmdtask (c++ function)": [[38, "_CPPv4N12RizinCmdTask12RizinCmdTaskERK7QStringb", false]], "rizinfunctiontask (c++ class)": [[39, "_CPPv417RizinFunctionTask", false]], "rizinfunctiontask::getresult (c++ function)": [[39, "_CPPv4N17RizinFunctionTask9getResultEv", false]], "rizinfunctiontask::rizinfunctiontask (c++ function)": [[39, "_CPPv4N17RizinFunctionTask17RizinFunctionTaskENSt8functionIFPvP6RzCoreEEEb", false]], "rizingraphwidget (c++ class)": [[286, "_CPPv416RizinGraphWidget", false]], "rizingraphwidget::rizingraphwidget (c++ function)": [[286, "_CPPv4N16RizinGraphWidget16RizinGraphWidgetEP10MainWindow", false]], "rizingraphwidget::~rizingraphwidget (c++ function)": [[286, "_CPPv4N16RizinGraphWidgetD0Ev", false]], "rizinpluginsdialog (c++ class)": [[155, "_CPPv418RizinPluginsDialog", false]], "rizinpluginsdialog::rizinpluginsdialog (c++ function)": [[155, "_CPPv4N18RizinPluginsDialog18RizinPluginsDialogEP7QWidget", false]], "rizinpluginsdialog::~rizinpluginsdialog (c++ function)": [[155, "_CPPv4N18RizinPluginsDialogD0Ev", false]], "rizintask (c++ class)": [[40, "_CPPv49RizinTask", false]], "rizintask::breaktask (c++ function)": [[40, "_CPPv4N9RizinTask9breakTaskEv", false]], "rizintask::finished (c++ function)": [[40, "_CPPv4N9RizinTask8finishedEv", false]], "rizintask::jointask (c++ function)": [[40, "_CPPv4N9RizinTask8joinTaskEv", false]], "rizintask::ptr (c++ type)": [[40, "_CPPv4N9RizinTask3PtrE", false]], "rizintask::starttask (c++ function)": [[40, "_CPPv4N9RizinTask9startTaskEv", false]], "rizintask::~rizintask (c++ function)": [[40, "_CPPv4N9RizinTaskD0Ev", false]], "rizintaskdialog (c++ class)": [[156, "_CPPv415RizinTaskDialog", false]], "rizintaskdialog::getbreakonclose (c++ function)": [[156, "_CPPv4N15RizinTaskDialog15getBreakOnCloseEv", false]], "rizintaskdialog::ptr (c++ type)": [[156, "_CPPv4N15RizinTaskDialog3PtrE", false]], "rizintaskdialog::reject (c++ function)": [[156, "_CPPv4N15RizinTaskDialog6rejectEv", false]], "rizintaskdialog::rizintaskdialog (c++ function)": [[156, "_CPPv4N15RizinTaskDialog15RizinTaskDialogE3PtrP7QWidget", false]], "rizintaskdialog::setbreakonclose (c++ function)": [[156, "_CPPv4N15RizinTaskDialog15setBreakOnCloseEb", false]], "rizintaskdialog::setdesc (c++ function)": [[156, "_CPPv4N15RizinTaskDialog7setDescERK7QString", false]], "rizintaskdialog::~rizintaskdialog (c++ function)": [[156, "_CPPv4N15RizinTaskDialogD0Ev", false]], "runscripttask (c++ class)": [[41, "_CPPv413RunScriptTask", false]], "runscripttask::gettitle (c++ function)": [[41, "_CPPv4N13RunScriptTask8getTitleEv", false]], "runscripttask::interrupt (c++ function)": [[41, "_CPPv4N13RunScriptTask9interruptEv", false]], "runscripttask::runscripttask (c++ function)": [[41, "_CPPv4N13RunScriptTask13RunScriptTaskEv", false]], "runscripttask::setfilename (c++ function)": [[41, "_CPPv4N13RunScriptTask11setFileNameERK7QString", false]], "runscripttask::~runscripttask (c++ function)": [[41, "_CPPv4N13RunScriptTaskD0Ev", false]], "rzasmplugindescription (c++ struct)": [[111, "_CPPv422RzAsmPluginDescription", false]], "rzasmplugindescription::architecture (c++ member)": [[111, "_CPPv4N22RzAsmPluginDescription12architectureE", false]], "rzasmplugindescription::author (c++ member)": [[111, "_CPPv4N22RzAsmPluginDescription6authorE", false]], "rzasmplugindescription::cpus (c++ member)": [[111, "_CPPv4N22RzAsmPluginDescription4cpusE", false]], "rzasmplugindescription::description (c++ member)": [[111, "_CPPv4N22RzAsmPluginDescription11descriptionE", false]], "rzasmplugindescription::license (c++ member)": [[111, "_CPPv4N22RzAsmPluginDescription7licenseE", false]], "rzasmplugindescription::name (c++ member)": [[111, "_CPPv4N22RzAsmPluginDescription4nameE", false]], "rzasmplugindescription::version (c++ member)": [[111, "_CPPv4N22RzAsmPluginDescription7versionE", false]], "rzbinplugindescription (c++ struct)": [[112, "_CPPv422RzBinPluginDescription", false]], "rzbinplugindescription::description (c++ member)": [[112, "_CPPv4N22RzBinPluginDescription11descriptionE", false]], "rzbinplugindescription::license (c++ member)": [[112, "_CPPv4N22RzBinPluginDescription7licenseE", false]], "rzbinplugindescription::name (c++ member)": [[112, "_CPPv4N22RzBinPluginDescription4nameE", false]], "rzbinplugindescription::type (c++ member)": [[112, "_CPPv4N22RzBinPluginDescription4typeE", false]], "rzcorelocked (c++ class)": [[77, "_CPPv412RzCoreLocked", false]], "rzcorelocked::operator rzcore* (c++ function)": [[77, "_CPPv4NK12RzCoreLockedcvP6RzCoreEv", false]], "rzcorelocked::operator-> (c++ function)": [[77, "_CPPv4NK12RzCoreLockedptEv", false]], "rzcorelocked::operator= (c++ function)": [[77, "_CPPv4N12RzCoreLockedaSERK12RzCoreLocked", false]], "rzcorelocked::rzcorelocked (c++ function)": [[77, "_CPPv4N12RzCoreLocked12RzCoreLockedEP10CutterCore", false], [77, "_CPPv4N12RzCoreLocked12RzCoreLockedERK12RzCoreLocked", false], [77, "_CPPv4N12RzCoreLocked12RzCoreLockedERR12RzCoreLocked", false]], "rzcorelocked::~rzcorelocked (c++ function)": [[77, "_CPPv4N12RzCoreLockedD0Ev", false]], "rzcoreplugindescription (c++ struct)": [[113, "_CPPv423RzCorePluginDescription", false]], "rzcoreplugindescription::description (c++ member)": [[113, "_CPPv4N23RzCorePluginDescription11descriptionE", false]], "rzcoreplugindescription::license (c++ member)": [[113, "_CPPv4N23RzCorePluginDescription7licenseE", false]], "rzcoreplugindescription::name (c++ member)": [[113, "_CPPv4N23RzCorePluginDescription4nameE", false]], "rzioplugindescription (c++ struct)": [[114, "_CPPv421RzIOPluginDescription", false]], "rzioplugindescription::description (c++ member)": [[114, "_CPPv4N21RzIOPluginDescription11descriptionE", false]], "rzioplugindescription::license (c++ member)": [[114, "_CPPv4N21RzIOPluginDescription7licenseE", false]], "rzioplugindescription::name (c++ member)": [[114, "_CPPv4N21RzIOPluginDescription4nameE", false]], "rzioplugindescription::permissions (c++ member)": [[114, "_CPPv4N21RzIOPluginDescription11permissionsE", false]], "rzioplugindescription::uris (c++ member)": [[114, "_CPPv4N21RzIOPluginDescription4urisE", false]], "sdbwidget (c++ class)": [[287, "_CPPv49SdbWidget", false]], "sdbwidget::sdbwidget (c++ function)": [[287, "_CPPv4N9SdbWidget9SdbWidgetEP10MainWindow", false]], "sdbwidget::~sdbwidget (c++ function)": [[287, "_CPPv4N9SdbWidgetD0Ev", false]], "searchdescription (c++ struct)": [[115, "_CPPv417SearchDescription", false]], "searchdescription::code (c++ member)": [[115, "_CPPv4N17SearchDescription4codeE", false]], "searchdescription::data (c++ member)": [[115, "_CPPv4N17SearchDescription4dataE", false]], "searchdescription::offset (c++ member)": [[115, "_CPPv4N17SearchDescription6offsetE", false]], "searchdescription::size (c++ member)": [[115, "_CPPv4N17SearchDescription4sizeE", false]], "searchmodel (c++ class)": [[288, "_CPPv411SearchModel", false]], "searchmodel::address (c++ function)": [[288, "_CPPv4NK11SearchModel7addressERK11QModelIndex", false]], "searchmodel::columncount (c++ function)": [[288, "_CPPv4NK11SearchModel11columnCountERK11QModelIndex", false]], "searchmodel::columns (c++ enum)": [[288, "_CPPv4N11SearchModel7ColumnsE", false]], "searchmodel::columns::code (c++ enumerator)": [[288, "_CPPv4N11SearchModel7Columns4CODEE", false]], "searchmodel::columns::comment (c++ enumerator)": [[288, "_CPPv4N11SearchModel7Columns7COMMENTE", false]], "searchmodel::columns::count (c++ enumerator)": [[288, "_CPPv4N11SearchModel7Columns5COUNTE", false]], "searchmodel::columns::data (c++ enumerator)": [[288, "_CPPv4N11SearchModel7Columns4DATAE", false]], "searchmodel::columns::offset (c++ enumerator)": [[288, "_CPPv4N11SearchModel7Columns6OFFSETE", false]], "searchmodel::columns::size (c++ enumerator)": [[288, "_CPPv4N11SearchModel7Columns4SIZEE", false]], "searchmodel::data (c++ function)": [[288, "_CPPv4NK11SearchModel4dataERK11QModelIndexi", false]], "searchmodel::headerdata (c++ function)": [[288, "_CPPv4NK11SearchModel10headerDataEiN2Qt11OrientationEi", false]], "searchmodel::rowcount (c++ function)": [[288, "_CPPv4NK11SearchModel8rowCountERK11QModelIndex", false]], "searchmodel::searchdescriptionrole (c++ member)": [[288, "_CPPv4N11SearchModel21SearchDescriptionRoleE", false]], "searchmodel::searchmodel (c++ function)": [[288, "_CPPv4N11SearchModel11SearchModelEP5QListI17SearchDescriptionEP7QObject", false]], "searchsortfilterproxymodel (c++ class)": [[289, "_CPPv426SearchSortFilterProxyModel", false]], "searchsortfilterproxymodel::searchsortfilterproxymodel (c++ function)": [[289, "_CPPv4N26SearchSortFilterProxyModel26SearchSortFilterProxyModelEP11SearchModelP7QObject", false]], "searchwidget (c++ class)": [[290, "_CPPv412SearchWidget", false]], "searchwidget::searchwidget (c++ function)": [[290, "_CPPv4N12SearchWidget12SearchWidgetEP10MainWindow", false]], "searchwidget::~searchwidget (c++ function)": [[290, "_CPPv4N12SearchWidgetD0Ev", false]], "sectiondescription (c++ struct)": [[116, "_CPPv418SectionDescription", false]], "sectiondescription::entropy (c++ member)": [[116, "_CPPv4N18SectionDescription7entropyE", false]], "sectiondescription::name (c++ member)": [[116, "_CPPv4N18SectionDescription4nameE", false]], "sectiondescription::paddr (c++ member)": [[116, "_CPPv4N18SectionDescription5paddrE", false]], "sectiondescription::perm (c++ member)": [[116, "_CPPv4N18SectionDescription4permE", false]], "sectiondescription::size (c++ member)": [[116, "_CPPv4N18SectionDescription4sizeE", false]], "sectiondescription::vaddr (c++ member)": [[116, "_CPPv4N18SectionDescription5vaddrE", false]], "sectiondescription::vsize (c++ member)": [[116, "_CPPv4N18SectionDescription5vsizeE", false]], "sectionsmodel (c++ class)": [[291, "_CPPv413SectionsModel", false]], "sectionsmodel::address (c++ function)": [[291, "_CPPv4NK13SectionsModel7addressERK11QModelIndex", false]], "sectionsmodel::column (c++ enum)": [[291, "_CPPv4N13SectionsModel6ColumnE", false]], "sectionsmodel::column::addresscolumn (c++ enumerator)": [[291, "_CPPv4N13SectionsModel6Column13AddressColumnE", false]], "sectionsmodel::column::columncount (c++ enumerator)": [[291, "_CPPv4N13SectionsModel6Column11ColumnCountE", false]], "sectionsmodel::column::commentcolumn (c++ enumerator)": [[291, "_CPPv4N13SectionsModel6Column13CommentColumnE", false]], "sectionsmodel::column::endaddresscolumn (c++ enumerator)": [[291, "_CPPv4N13SectionsModel6Column16EndAddressColumnE", false]], "sectionsmodel::column::entropycolumn (c++ enumerator)": [[291, "_CPPv4N13SectionsModel6Column13EntropyColumnE", false]], "sectionsmodel::column::namecolumn (c++ enumerator)": [[291, "_CPPv4N13SectionsModel6Column10NameColumnE", false]], "sectionsmodel::column::permissionscolumn (c++ enumerator)": [[291, "_CPPv4N13SectionsModel6Column17PermissionsColumnE", false]], "sectionsmodel::column::sizecolumn (c++ enumerator)": [[291, "_CPPv4N13SectionsModel6Column10SizeColumnE", false]], "sectionsmodel::column::virtualsizecolumn (c++ enumerator)": [[291, "_CPPv4N13SectionsModel6Column17VirtualSizeColumnE", false]], "sectionsmodel::columncount (c++ function)": [[291, "_CPPv4NK13SectionsModel11columnCountERK11QModelIndex", false]], "sectionsmodel::data (c++ function)": [[291, "_CPPv4NK13SectionsModel4dataERK11QModelIndexi", false]], "sectionsmodel::headerdata (c++ function)": [[291, "_CPPv4NK13SectionsModel10headerDataEiN2Qt11OrientationEi", false]], "sectionsmodel::name (c++ function)": [[291, "_CPPv4NK13SectionsModel4nameERK11QModelIndex", false]], "sectionsmodel::role (c++ enum)": [[291, "_CPPv4N13SectionsModel4RoleE", false]], "sectionsmodel::role::sectiondescriptionrole (c++ enumerator)": [[291, "_CPPv4N13SectionsModel4Role22SectionDescriptionRoleE", false]], "sectionsmodel::rowcount (c++ function)": [[291, "_CPPv4NK13SectionsModel8rowCountERK11QModelIndex", false]], "sectionsmodel::sectionsmodel (c++ function)": [[291, "_CPPv4N13SectionsModel13SectionsModelEP5QListI18SectionDescriptionEP7QObject", false]], "sectionsproxymodel (c++ class)": [[292, "_CPPv418SectionsProxyModel", false]], "sectionsproxymodel::sectionsproxymodel (c++ function)": [[292, "_CPPv4N18SectionsProxyModel18SectionsProxyModelEP13SectionsModelP7QObject", false]], "sectionswidget (c++ class)": [[293, "_CPPv414SectionsWidget", false]], "sectionswidget::sectionswidget (c++ function)": [[293, "_CPPv4N14SectionsWidget14SectionsWidgetEP10MainWindow", false]], "sectionswidget::~sectionswidget (c++ function)": [[293, "_CPPv4N14SectionsWidgetD0Ev", false]], "segmentdescription (c++ struct)": [[117, "_CPPv418SegmentDescription", false]], "segmentdescription::name (c++ member)": [[117, "_CPPv4N18SegmentDescription4nameE", false]], "segmentdescription::paddr (c++ member)": [[117, "_CPPv4N18SegmentDescription5paddrE", false]], "segmentdescription::perm (c++ member)": [[117, "_CPPv4N18SegmentDescription4permE", false]], "segmentdescription::size (c++ member)": [[117, "_CPPv4N18SegmentDescription4sizeE", false]], "segmentdescription::vaddr (c++ member)": [[117, "_CPPv4N18SegmentDescription5vaddrE", false]], "segmentdescription::vsize (c++ member)": [[117, "_CPPv4N18SegmentDescription5vsizeE", false]], "segmentsmodel (c++ class)": [[294, "_CPPv413SegmentsModel", false]], "segmentsmodel::address (c++ function)": [[294, "_CPPv4NK13SegmentsModel7addressERK11QModelIndex", false]], "segmentsmodel::column (c++ enum)": [[294, "_CPPv4N13SegmentsModel6ColumnE", false]], "segmentsmodel::column::addresscolumn (c++ enumerator)": [[294, "_CPPv4N13SegmentsModel6Column13AddressColumnE", false]], "segmentsmodel::column::columncount (c++ enumerator)": [[294, "_CPPv4N13SegmentsModel6Column11ColumnCountE", false]], "segmentsmodel::column::commentcolumn (c++ enumerator)": [[294, "_CPPv4N13SegmentsModel6Column13CommentColumnE", false]], "segmentsmodel::column::endaddresscolumn (c++ enumerator)": [[294, "_CPPv4N13SegmentsModel6Column16EndAddressColumnE", false]], "segmentsmodel::column::namecolumn (c++ enumerator)": [[294, "_CPPv4N13SegmentsModel6Column10NameColumnE", false]], "segmentsmodel::column::permcolumn (c++ enumerator)": [[294, "_CPPv4N13SegmentsModel6Column10PermColumnE", false]], "segmentsmodel::column::sizecolumn (c++ enumerator)": [[294, "_CPPv4N13SegmentsModel6Column10SizeColumnE", false]], "segmentsmodel::columncount (c++ function)": [[294, "_CPPv4NK13SegmentsModel11columnCountERK11QModelIndex", false]], "segmentsmodel::data (c++ function)": [[294, "_CPPv4NK13SegmentsModel4dataERK11QModelIndexi", false]], "segmentsmodel::headerdata (c++ function)": [[294, "_CPPv4NK13SegmentsModel10headerDataEiN2Qt11OrientationEi", false]], "segmentsmodel::name (c++ function)": [[294, "_CPPv4NK13SegmentsModel4nameERK11QModelIndex", false]], "segmentsmodel::role (c++ enum)": [[294, "_CPPv4N13SegmentsModel4RoleE", false]], "segmentsmodel::role::segmentdescriptionrole (c++ enumerator)": [[294, "_CPPv4N13SegmentsModel4Role22SegmentDescriptionRoleE", false]], "segmentsmodel::rowcount (c++ function)": [[294, "_CPPv4NK13SegmentsModel8rowCountERK11QModelIndex", false]], "segmentsmodel::segmentsmodel (c++ function)": [[294, "_CPPv4N13SegmentsModel13SegmentsModelEP5QListI18SegmentDescriptionEP7QObject", false]], "segmentsproxymodel (c++ class)": [[295, "_CPPv418SegmentsProxyModel", false]], "segmentsproxymodel::segmentsproxymodel (c++ function)": [[295, "_CPPv4N18SegmentsProxyModel18SegmentsProxyModelEP13SegmentsModelP7QObject", false]], "segmentswidget (c++ class)": [[296, "_CPPv414SegmentsWidget", false]], "segmentswidget::segmentswidget (c++ function)": [[296, "_CPPv4N14SegmentsWidget14SegmentsWidgetEP10MainWindow", false]], "segmentswidget::~segmentswidget (c++ function)": [[296, "_CPPv4N14SegmentsWidgetD0Ev", false]], "segmenttreebase (c++ class)": [[42, "_CPPv4I00E15SegmentTreeBase", false]], "segmenttreebase::nodeposition (c++ type)": [[42, "_CPPv4N15SegmentTreeBase12NodePositionE", false]], "segmenttreebase::nodetype (c++ type)": [[42, "_CPPv4N15SegmentTreeBase8NodeTypeE", false]], "segmenttreebase::segmenttreebase (c++ function)": [[42, "_CPPv4N15SegmentTreeBase15SegmentTreeBaseE6size_t", false], [42, "_CPPv4N15SegmentTreeBase15SegmentTreeBaseE6size_tRK8NodeType", false]], "settodatadialog (c++ class)": [[157, "_CPPv415SetToDataDialog", false]], "settodatadialog::getitemcount (c++ function)": [[157, "_CPPv4N15SetToDataDialog12getItemCountEv", false]], "settodatadialog::getitemsize (c++ function)": [[157, "_CPPv4N15SetToDataDialog11getItemSizeEv", false]], "settodatadialog::settodatadialog (c++ function)": [[157, "_CPPv4N15SetToDataDialog15SetToDataDialogE3RVAP7QWidget", false]], "settodatadialog::~settodatadialog (c++ function)": [[157, "_CPPv4N15SetToDataDialogD0Ev", false]], "simpletextgraphview (c++ class)": [[297, "_CPPv419SimpleTextGraphView", false]], "simpletextgraphview::blockcontent (c++ struct)": [[338, "_CPPv4N19SimpleTextGraphView12BlockContentE", false]], "simpletextgraphview::blockcontent::address (c++ member)": [[338, "_CPPv4N19SimpleTextGraphView12BlockContent7addressE", false]], "simpletextgraphview::blockcontent::text (c++ member)": [[338, "_CPPv4N19SimpleTextGraphView12BlockContent4textE", false]], "simpletextgraphview::drawblock (c++ function)": [[297, "_CPPv4N19SimpleTextGraphView9drawBlockER8QPainterRN9GraphView10GraphBlockEb", false]], "simpletextgraphview::edgeconfiguration (c++ function)": [[297, "_CPPv4N19SimpleTextGraphView17edgeConfigurationERN9GraphView10GraphBlockEPN9GraphView10GraphBlockEb", false]], "simpletextgraphview::refreshview (c++ function)": [[297, "_CPPv4N19SimpleTextGraphView11refreshViewEv", false]], "simpletextgraphview::selectblockwithid (c++ function)": [[297, "_CPPv4N19SimpleTextGraphView17selectBlockWithIdE4ut64", false]], "simpletextgraphview::setblockselectionenabled (c++ function)": [[297, "_CPPv4N19SimpleTextGraphView24setBlockSelectionEnabledEb", false]], "simpletextgraphview::simpletextgraphview (c++ function)": [[297, "_CPPv4N19SimpleTextGraphView19SimpleTextGraphViewEP7QWidgetP10MainWindow", false]], "simpletextgraphview::~simpletextgraphview (c++ function)": [[297, "_CPPv4N19SimpleTextGraphViewD0Ev", false]], "stackmodel (c++ class)": [[298, "_CPPv410StackModel", false]], "stackmodel::column (c++ enum)": [[298, "_CPPv4N10StackModel6ColumnE", false]], "stackmodel::column::columncount (c++ enumerator)": [[298, "_CPPv4N10StackModel6Column11ColumnCountE", false]], "stackmodel::column::commentcolumn (c++ enumerator)": [[298, "_CPPv4N10StackModel6Column13CommentColumnE", false]], "stackmodel::column::descriptioncolumn (c++ enumerator)": [[298, "_CPPv4N10StackModel6Column17DescriptionColumnE", false]], "stackmodel::column::offsetcolumn (c++ enumerator)": [[298, "_CPPv4N10StackModel6Column12OffsetColumnE", false]], "stackmodel::column::valuecolumn (c++ enumerator)": [[298, "_CPPv4N10StackModel6Column11ValueColumnE", false]], "stackmodel::columncount (c++ function)": [[298, "_CPPv4NK10StackModel11columnCountERK11QModelIndex", false]], "stackmodel::data (c++ function)": [[298, "_CPPv4NK10StackModel4dataERK11QModelIndexi", false]], "stackmodel::flags (c++ function)": [[298, "_CPPv4NK10StackModel5flagsERK11QModelIndex", false]], "stackmodel::headerdata (c++ function)": [[298, "_CPPv4NK10StackModel10headerDataEiN2Qt11OrientationEi", false]], "stackmodel::item (c++ struct)": [[298, "_CPPv4N10StackModel4ItemE", false], [339, "_CPPv4N10StackModel4ItemE", false]], "stackmodel::item::offset (c++ member)": [[298, "_CPPv4N10StackModel4Item6offsetE", false], [339, "_CPPv4N10StackModel4Item6offsetE", false]], "stackmodel::item::refdesc (c++ member)": [[298, "_CPPv4N10StackModel4Item7refDescE", false], [339, "_CPPv4N10StackModel4Item7refDescE", false]], "stackmodel::item::value (c++ member)": [[298, "_CPPv4N10StackModel4Item5valueE", false], [339, "_CPPv4N10StackModel4Item5valueE", false]], "stackmodel::reload (c++ function)": [[298, "_CPPv4N10StackModel6reloadEv", false]], "stackmodel::role (c++ enum)": [[298, "_CPPv4N10StackModel4RoleE", false]], "stackmodel::role::stackdescriptionrole (c++ enumerator)": [[298, "_CPPv4N10StackModel4Role20StackDescriptionRoleE", false]], "stackmodel::rowcount (c++ function)": [[298, "_CPPv4NK10StackModel8rowCountERK11QModelIndex", false]], "stackmodel::setdata (c++ function)": [[298, "_CPPv4N10StackModel7setDataERK11QModelIndexRK8QVarianti", false]], "stackmodel::stackmodel (c++ function)": [[298, "_CPPv4N10StackModel10StackModelEP7QObject", false]], "stackwidget (c++ class)": [[299, "_CPPv411StackWidget", false]], "stackwidget::stackwidget (c++ function)": [[299, "_CPPv4N11StackWidget11StackWidgetEP10MainWindow", false]], "stackwidget::~stackwidget (c++ function)": [[299, "_CPPv4N11StackWidgetD0Ev", false]], "stringdescription (c++ struct)": [[118, "_CPPv417StringDescription", false]], "stringdescription::length (c++ member)": [[118, "_CPPv4N17StringDescription6lengthE", false]], "stringdescription::section (c++ member)": [[118, "_CPPv4N17StringDescription7sectionE", false]], "stringdescription::size (c++ member)": [[118, "_CPPv4N17StringDescription4sizeE", false]], "stringdescription::string (c++ member)": [[118, "_CPPv4N17StringDescription6stringE", false]], "stringdescription::type (c++ member)": [[118, "_CPPv4N17StringDescription4typeE", false]], "stringdescription::vaddr (c++ member)": [[118, "_CPPv4N17StringDescription5vaddrE", false]], "stringsmodel (c++ class)": [[300, "_CPPv412StringsModel", false]], "stringsmodel::address (c++ function)": [[300, "_CPPv4NK12StringsModel7addressERK11QModelIndex", false]], "stringsmodel::column (c++ enum)": [[300, "_CPPv4N12StringsModel6ColumnE", false]], "stringsmodel::column::columncount (c++ enumerator)": [[300, "_CPPv4N12StringsModel6Column11ColumnCountE", false]], "stringsmodel::column::commentcolumn (c++ enumerator)": [[300, "_CPPv4N12StringsModel6Column13CommentColumnE", false]], "stringsmodel::column::lengthcolumn (c++ enumerator)": [[300, "_CPPv4N12StringsModel6Column12LengthColumnE", false]], "stringsmodel::column::offsetcolumn (c++ enumerator)": [[300, "_CPPv4N12StringsModel6Column12OffsetColumnE", false]], "stringsmodel::column::sectioncolumn (c++ enumerator)": [[300, "_CPPv4N12StringsModel6Column13SectionColumnE", false]], "stringsmodel::column::sizecolumn (c++ enumerator)": [[300, "_CPPv4N12StringsModel6Column10SizeColumnE", false]], "stringsmodel::column::stringcolumn (c++ enumerator)": [[300, "_CPPv4N12StringsModel6Column12StringColumnE", false]], "stringsmodel::column::typecolumn (c++ enumerator)": [[300, "_CPPv4N12StringsModel6Column10TypeColumnE", false]], "stringsmodel::columncount (c++ function)": [[300, "_CPPv4NK12StringsModel11columnCountERK11QModelIndex", false]], "stringsmodel::data (c++ function)": [[300, "_CPPv4NK12StringsModel4dataERK11QModelIndexi", false]], "stringsmodel::description (c++ function)": [[300, "_CPPv4NK12StringsModel11descriptionERK11QModelIndex", false]], "stringsmodel::headerdata (c++ function)": [[300, "_CPPv4NK12StringsModel10headerDataEiN2Qt11OrientationEi", false]], "stringsmodel::rowcount (c++ function)": [[300, "_CPPv4NK12StringsModel8rowCountERK11QModelIndex", false]], "stringsmodel::stringdescriptionrole (c++ member)": [[300, "_CPPv4N12StringsModel21StringDescriptionRoleE", false]], "stringsmodel::stringsmodel (c++ function)": [[300, "_CPPv4N12StringsModel12StringsModelEP5QListI17StringDescriptionEP7QObject", false]], "stringsproxymodel (c++ class)": [[301, "_CPPv417StringsProxyModel", false]], "stringsproxymodel::setselectedsection (c++ function)": [[301, "_CPPv4N17StringsProxyModel18setSelectedSectionE7QString", false]], "stringsproxymodel::stringsproxymodel (c++ function)": [[301, "_CPPv4N17StringsProxyModel17StringsProxyModelEP12StringsModelP7QObject", false]], "stringstask (c++ class)": [[43, "_CPPv411StringsTask", false]], "stringstask::gettitle (c++ function)": [[43, "_CPPv4N11StringsTask8getTitleEv", false]], "stringstask::stringsearchfinished (c++ function)": [[43, "_CPPv4N11StringsTask20stringSearchFinishedERK5QListI17StringDescriptionE", false]], "stringswidget (c++ class)": [[302, "_CPPv413StringsWidget", false]], "stringswidget::stringswidget (c++ function)": [[302, "_CPPv4N13StringsWidget13StringsWidgetEP10MainWindow", false]], "stringswidget::~stringswidget (c++ function)": [[302, "_CPPv4N13StringsWidgetD0Ev", false]], "svgiconengine (c++ class)": [[44, "_CPPv413SvgIconEngine", false]], "svgiconengine::clone (c++ function)": [[44, "_CPPv4NK13SvgIconEngine5cloneEv", false]], "svgiconengine::paint (c++ function)": [[44, "_CPPv4N13SvgIconEngine5paintEP8QPainterRK5QRectN5QIcon4ModeEN5QIcon5StateE", false]], "svgiconengine::pixmap (c++ function)": [[44, "_CPPv4N13SvgIconEngine6pixmapERK5QSizeN5QIcon4ModeEN5QIcon5StateE", false]], "svgiconengine::svgiconengine (c++ function)": [[44, "_CPPv4N13SvgIconEngine13SvgIconEngineERK7QString", false], [44, "_CPPv4N13SvgIconEngine13SvgIconEngineERK7QStringN8QPalette9ColorRoleE", false], [44, "_CPPv4N13SvgIconEngine13SvgIconEngineERK7QStringRK6QColor", false]], "symboldescription (c++ struct)": [[119, "_CPPv417SymbolDescription", false]], "symboldescription::bind (c++ member)": [[119, "_CPPv4N17SymbolDescription4bindE", false]], "symboldescription::name (c++ member)": [[119, "_CPPv4N17SymbolDescription4nameE", false]], "symboldescription::type (c++ member)": [[119, "_CPPv4N17SymbolDescription4typeE", false]], "symboldescription::vaddr (c++ member)": [[119, "_CPPv4N17SymbolDescription5vaddrE", false]], "symbolsmodel (c++ class)": [[303, "_CPPv412SymbolsModel", false]], "symbolsmodel::address (c++ function)": [[303, "_CPPv4NK12SymbolsModel7addressERK11QModelIndex", false]], "symbolsmodel::column (c++ enum)": [[303, "_CPPv4N12SymbolsModel6ColumnE", false]], "symbolsmodel::column::addresscolumn (c++ enumerator)": [[303, "_CPPv4N12SymbolsModel6Column13AddressColumnE", false]], "symbolsmodel::column::columncount (c++ enumerator)": [[303, "_CPPv4N12SymbolsModel6Column11ColumnCountE", false]], "symbolsmodel::column::commentcolumn (c++ enumerator)": [[303, "_CPPv4N12SymbolsModel6Column13CommentColumnE", false]], "symbolsmodel::column::namecolumn (c++ enumerator)": [[303, "_CPPv4N12SymbolsModel6Column10NameColumnE", false]], "symbolsmodel::column::typecolumn (c++ enumerator)": [[303, "_CPPv4N12SymbolsModel6Column10TypeColumnE", false]], "symbolsmodel::columncount (c++ function)": [[303, "_CPPv4NK12SymbolsModel11columnCountERK11QModelIndex", false]], "symbolsmodel::data (c++ function)": [[303, "_CPPv4NK12SymbolsModel4dataERK11QModelIndexi", false]], "symbolsmodel::headerdata (c++ function)": [[303, "_CPPv4NK12SymbolsModel10headerDataEiN2Qt11OrientationEi", false]], "symbolsmodel::name (c++ function)": [[303, "_CPPv4NK12SymbolsModel4nameERK11QModelIndex", false]], "symbolsmodel::role (c++ enum)": [[303, "_CPPv4N12SymbolsModel4RoleE", false]], "symbolsmodel::role::symboldescriptionrole (c++ enumerator)": [[303, "_CPPv4N12SymbolsModel4Role21SymbolDescriptionRoleE", false]], "symbolsmodel::rowcount (c++ function)": [[303, "_CPPv4NK12SymbolsModel8rowCountERK11QModelIndex", false]], "symbolsmodel::symbolsmodel (c++ function)": [[303, "_CPPv4N12SymbolsModel12SymbolsModelEP5QListI17SymbolDescriptionEP7QObject", false]], "symbolsproxymodel (c++ class)": [[304, "_CPPv417SymbolsProxyModel", false]], "symbolsproxymodel::symbolsproxymodel (c++ function)": [[304, "_CPPv4N17SymbolsProxyModel17SymbolsProxyModelEP12SymbolsModelP7QObject", false]], "symbolswidget (c++ class)": [[305, "_CPPv413SymbolsWidget", false]], "symbolswidget::symbolswidget (c++ function)": [[305, "_CPPv4N13SymbolsWidget13SymbolsWidgetEP10MainWindow", false]], "symbolswidget::~symbolswidget (c++ function)": [[305, "_CPPv4N13SymbolsWidgetD0Ev", false]], "tempconfig (c++ class)": [[45, "_CPPv410TempConfig", false]], "tempconfig::set (c++ function)": [[45, "_CPPv4N10TempConfig3setERK7QStringPKc", false], [45, "_CPPv4N10TempConfig3setERK7QStringRK7QString", false], [45, "_CPPv4N10TempConfig3setERK7QStringb", false], [45, "_CPPv4N10TempConfig3setERK7QStringi", false]], "tempconfig::tempconfig (c++ function)": [[45, "_CPPv4N10TempConfig10TempConfigEv", false]], "tempconfig::~tempconfig (c++ function)": [[45, "_CPPv4N10TempConfigD0Ev", false]], "threadsfiltermodel (c++ class)": [[306, "_CPPv418ThreadsFilterModel", false]], "threadsfiltermodel::threadsfiltermodel (c++ function)": [[306, "_CPPv4N18ThreadsFilterModel18ThreadsFilterModelEP7QObject", false]], "threadswidget (c++ class)": [[307, "_CPPv413ThreadsWidget", false]], "threadswidget::columnindex (c++ enum)": [[307, "_CPPv4N13ThreadsWidget11ColumnIndexE", false]], "threadswidget::columnindex::column_path (c++ enumerator)": [[307, "_CPPv4N13ThreadsWidget11ColumnIndex11COLUMN_PATHE", false]], "threadswidget::columnindex::column_pid (c++ enumerator)": [[307, "_CPPv4N13ThreadsWidget11ColumnIndex10COLUMN_PIDE", false]], "threadswidget::columnindex::column_status (c++ enumerator)": [[307, "_CPPv4N13ThreadsWidget11ColumnIndex13COLUMN_STATUSE", false]], "threadswidget::threadswidget (c++ function)": [[307, "_CPPv4N13ThreadsWidget13ThreadsWidgetEP10MainWindow", false]], "threadswidget::~threadswidget (c++ function)": [[307, "_CPPv4N13ThreadsWidgetD0Ev", false]], "typedescription (c++ struct)": [[120, "_CPPv415TypeDescription", false]], "typedescription::category (c++ member)": [[120, "_CPPv4N15TypeDescription8categoryE", false]], "typedescription::format (c++ member)": [[120, "_CPPv4N15TypeDescription6formatE", false]], "typedescription::size (c++ member)": [[120, "_CPPv4N15TypeDescription4sizeE", false]], "typedescription::type (c++ member)": [[120, "_CPPv4N15TypeDescription4typeE", false]], "typesinteractiondialog (c++ class)": [[158, "_CPPv422TypesInteractionDialog", false]], "typesinteractiondialog::filltextarea (c++ function)": [[158, "_CPPv4N22TypesInteractionDialog12fillTextAreaE7QString", false]], "typesinteractiondialog::newtypesloaded (c++ function)": [[158, "_CPPv4N22TypesInteractionDialog14newTypesLoadedEv", false]], "typesinteractiondialog::settypename (c++ function)": [[158, "_CPPv4N22TypesInteractionDialog11setTypeNameE7QString", false]], "typesinteractiondialog::typesinteractiondialog (c++ function)": [[158, "_CPPv4N22TypesInteractionDialog22TypesInteractionDialogEP7QWidgetb", false]], "typesinteractiondialog::~typesinteractiondialog (c++ function)": [[158, "_CPPv4N22TypesInteractionDialogD0Ev", false]], "typesmodel (c++ class)": [[308, "_CPPv410TypesModel", false]], "typesmodel::columncount (c++ function)": [[308, "_CPPv4NK10TypesModel11columnCountERK11QModelIndex", false]], "typesmodel::columns (c++ enum)": [[308, "_CPPv4N10TypesModel7ColumnsE", false]], "typesmodel::columns::category (c++ enumerator)": [[308, "_CPPv4N10TypesModel7Columns8CATEGORYE", false]], "typesmodel::columns::count (c++ enumerator)": [[308, "_CPPv4N10TypesModel7Columns5COUNTE", false]], "typesmodel::columns::format (c++ enumerator)": [[308, "_CPPv4N10TypesModel7Columns6FORMATE", false]], "typesmodel::columns::size (c++ enumerator)": [[308, "_CPPv4N10TypesModel7Columns4SIZEE", false]], "typesmodel::columns::type (c++ enumerator)": [[308, "_CPPv4N10TypesModel7Columns4TYPEE", false]], "typesmodel::data (c++ function)": [[308, "_CPPv4NK10TypesModel4dataERK11QModelIndexi", false]], "typesmodel::headerdata (c++ function)": [[308, "_CPPv4NK10TypesModel10headerDataEiN2Qt11OrientationEi", false]], "typesmodel::removerows (c++ function)": [[308, "_CPPv4N10TypesModel10removeRowsEiiRK11QModelIndex", false]], "typesmodel::rowcount (c++ function)": [[308, "_CPPv4NK10TypesModel8rowCountERK11QModelIndex", false]], "typesmodel::typedescriptionrole (c++ member)": [[308, "_CPPv4N10TypesModel19TypeDescriptionRoleE", false]], "typesmodel::typesmodel (c++ function)": [[308, "_CPPv4N10TypesModel10TypesModelEP5QListI15TypeDescriptionEP7QObject", false]], "typessortfilterproxymodel (c++ class)": [[309, "_CPPv425TypesSortFilterProxyModel", false]], "typessortfilterproxymodel::setcategory (c++ function)": [[309, "_CPPv4N25TypesSortFilterProxyModel11setCategoryE7QString", false]], "typessortfilterproxymodel::typessortfilterproxymodel (c++ function)": [[309, "_CPPv4N25TypesSortFilterProxyModel25TypesSortFilterProxyModelEP10TypesModelP7QObject", false]], "typeswidget (c++ class)": [[310, "_CPPv411TypesWidget", false]], "typeswidget::typeswidget (c++ function)": [[310, "_CPPv4N11TypesWidget11TypesWidgetEP10MainWindow", false]], "typeswidget::~typeswidget (c++ function)": [[310, "_CPPv4N11TypesWidgetD0Ev", false]], "updateworker (c++ class)": [[46, "_CPPv412UpdateWorker", false]], "updateworker::checkcomplete (c++ function)": [[46, "_CPPv4N12UpdateWorker13checkCompleteERK14QVersionNumberRK7QString", false]], "updateworker::checkcurrentversion (c++ function)": [[46, "_CPPv4N12UpdateWorker19checkCurrentVersionE6time_t", false]], "updateworker::currentversionnumber (c++ function)": [[46, "_CPPv4N12UpdateWorker20currentVersionNumberEv", false]], "updateworker::showupdatedialog (c++ function)": [[46, "_CPPv4N12UpdateWorker16showUpdateDialogEb", false]], "updateworker::updateworker (c++ function)": [[46, "_CPPv4N12UpdateWorker12UpdateWorkerEP7QObject", false]], "variabledescription (c++ struct)": [[122, "_CPPv419VariableDescription", false]], "variabledescription::name (c++ member)": [[122, "_CPPv4N19VariableDescription4nameE", false]], "variabledescription::storagetype (c++ member)": [[122, "_CPPv4N19VariableDescription11storageTypeE", false]], "variabledescription::type (c++ member)": [[122, "_CPPv4N19VariableDescription4typeE", false]], "variabledescription::value (c++ member)": [[122, "_CPPv4N19VariableDescription5valueE", false]], "versioninfodialog (c++ class)": [[159, "_CPPv417VersionInfoDialog", false]], "versioninfodialog::versioninfodialog (c++ function)": [[159, "_CPPv4N17VersionInfoDialog17VersionInfoDialogEP7QWidget", false]], "versioninfodialog::~versioninfodialog (c++ function)": [[159, "_CPPv4N17VersionInfoDialogD0Ev", false]], "virtualaddrdock (c++ class)": [[314, "_CPPv415VirtualAddrDock", false]], "virtualaddrdock::updatedock (c++ function)": [[314, "_CPPv4N15VirtualAddrDock10updateDockEv", false]], "virtualaddrdock::virtualaddrdock (c++ function)": [[314, "_CPPv4N15VirtualAddrDock15VirtualAddrDockEP13SectionsModelP7QWidget", false]], "virtualaddrdock::~virtualaddrdock (c++ function)": [[314, "_CPPv4N15VirtualAddrDockD0Ev", false]], "visualnavbar (c++ class)": [[315, "_CPPv412VisualNavbar", false]], "visualnavbar::paintevent (c++ function)": [[315, "_CPPv4N12VisualNavbar10paintEventEP11QPaintEvent", false]], "visualnavbar::updategraphicsscene (c++ function)": [[315, "_CPPv4N12VisualNavbar19updateGraphicsSceneEv", false]], "visualnavbar::visualnavbar (c++ function)": [[315, "_CPPv4N12VisualNavbar12VisualNavbarEP10MainWindowP7QWidget", false]], "visualnavbar::xtoaddress (c++ struct)": [[340, "_CPPv4N12VisualNavbar10XToAddressE", false]], "visualnavbar::xtoaddress::address_from (c++ member)": [[340, "_CPPv4N12VisualNavbar10XToAddress12address_fromE", false]], "visualnavbar::xtoaddress::address_to (c++ member)": [[340, "_CPPv4N12VisualNavbar10XToAddress10address_toE", false]], "visualnavbar::xtoaddress::x_end (c++ member)": [[340, "_CPPv4N12VisualNavbar10XToAddress5x_endE", false]], "visualnavbar::xtoaddress::x_start (c++ member)": [[340, "_CPPv4N12VisualNavbar10XToAddress7x_startE", false]], "vtabledescription (c++ struct)": [[121, "_CPPv417VTableDescription", false]], "vtabledescription::addr (c++ member)": [[121, "_CPPv4N17VTableDescription4addrE", false]], "vtabledescription::methods (c++ member)": [[121, "_CPPv4N17VTableDescription7methodsE", false]], "vtablemodel (c++ class)": [[311, "_CPPv411VTableModel", false]], "vtablemodel::columncount (c++ function)": [[311, "_CPPv4NK11VTableModel11columnCountERK11QModelIndex", false]], "vtablemodel::columns (c++ enum)": [[311, "_CPPv4N11VTableModel7ColumnsE", false]], "vtablemodel::columns::address (c++ enumerator)": [[311, "_CPPv4N11VTableModel7Columns7ADDRESSE", false]], "vtablemodel::columns::count (c++ enumerator)": [[311, "_CPPv4N11VTableModel7Columns5COUNTE", false]], "vtablemodel::columns::name (c++ enumerator)": [[311, "_CPPv4N11VTableModel7Columns4NAMEE", false]], "vtablemodel::data (c++ function)": [[311, "_CPPv4NK11VTableModel4dataERK11QModelIndexi", false]], "vtablemodel::headerdata (c++ function)": [[311, "_CPPv4NK11VTableModel10headerDataEiN2Qt11OrientationEi", false]], "vtablemodel::index (c++ function)": [[311, "_CPPv4NK11VTableModel5indexEiiRK11QModelIndex", false]], "vtablemodel::parent (c++ function)": [[311, "_CPPv4NK11VTableModel6parentERK11QModelIndex", false]], "vtablemodel::rowcount (c++ function)": [[311, "_CPPv4NK11VTableModel8rowCountERK11QModelIndex", false]], "vtablemodel::vtabledescriptionrole (c++ member)": [[311, "_CPPv4N11VTableModel21VTableDescriptionRoleE", false]], "vtablemodel::vtablemodel (c++ function)": [[311, "_CPPv4N11VTableModel11VTableModelEP5QListI17VTableDescriptionEP7QObject", false]], "vtablesortfilterproxymodel (c++ class)": [[312, "_CPPv426VTableSortFilterProxyModel", false]], "vtablesortfilterproxymodel::vtablesortfilterproxymodel (c++ function)": [[312, "_CPPv4N26VTableSortFilterProxyModel26VTableSortFilterProxyModelEP11VTableModelP7QObject", false]], "vtableswidget (c++ class)": [[313, "_CPPv413VTablesWidget", false]], "vtableswidget::vtableswidget (c++ function)": [[313, "_CPPv4N13VTablesWidget13VTablesWidgetEP10MainWindow", false]], "vtableswidget::~vtableswidget (c++ function)": [[313, "_CPPv4N13VTablesWidgetD0Ev", false]], "welcomedialog (c++ class)": [[160, "_CPPv413WelcomeDialog", false]], "welcomedialog::welcomedialog (c++ function)": [[160, "_CPPv4N13WelcomeDialog13WelcomeDialogEP7QWidget", false]], "welcomedialog::~welcomedialog (c++ function)": [[160, "_CPPv4N13WelcomeDialogD0Ev", false]], "xrefdescription (c++ struct)": [[123, "_CPPv415XrefDescription", false]], "xrefdescription::from (c++ member)": [[123, "_CPPv4N15XrefDescription4fromE", false]], "xrefdescription::from_str (c++ member)": [[123, "_CPPv4N15XrefDescription8from_strE", false]], "xrefdescription::to (c++ member)": [[123, "_CPPv4N15XrefDescription2toE", false]], "xrefdescription::to_str (c++ member)": [[123, "_CPPv4N15XrefDescription6to_strE", false]], "xrefdescription::type (c++ member)": [[123, "_CPPv4N15XrefDescription4typeE", false]], "xrefmodel (c++ class)": [[161, "_CPPv49XrefModel", false]], "xrefmodel::address (c++ function)": [[161, "_CPPv4NK9XrefModel7addressERK11QModelIndex", false]], "xrefmodel::columncount (c++ function)": [[161, "_CPPv4NK9XrefModel11columnCountERK11QModelIndex", false]], "xrefmodel::columns (c++ enum)": [[161, "_CPPv4N9XrefModel7ColumnsE", false]], "xrefmodel::columns::code (c++ enumerator)": [[161, "_CPPv4N9XrefModel7Columns4CODEE", false]], "xrefmodel::columns::comment (c++ enumerator)": [[161, "_CPPv4N9XrefModel7Columns7COMMENTE", false]], "xrefmodel::columns::count (c++ enumerator)": [[161, "_CPPv4N9XrefModel7Columns5COUNTE", false]], "xrefmodel::columns::offset (c++ enumerator)": [[161, "_CPPv4N9XrefModel7Columns6OFFSETE", false]], "xrefmodel::columns::type (c++ enumerator)": [[161, "_CPPv4N9XrefModel7Columns4TYPEE", false]], "xrefmodel::data (c++ function)": [[161, "_CPPv4NK9XrefModel4dataERK11QModelIndexi", false]], "xrefmodel::flagdescriptionrole (c++ member)": [[161, "_CPPv4N9XrefModel19FlagDescriptionRoleE", false]], "xrefmodel::headerdata (c++ function)": [[161, "_CPPv4NK9XrefModel10headerDataEiN2Qt11OrientationEi", false]], "xrefmodel::readforoffset (c++ function)": [[161, "_CPPv4N9XrefModel13readForOffsetE3RVAbb", false]], "xrefmodel::readforvariable (c++ function)": [[161, "_CPPv4N9XrefModel15readForVariableE7QStringb3RVA", false]], "xrefmodel::rowcount (c++ function)": [[161, "_CPPv4NK9XrefModel8rowCountERK11QModelIndex", false]], "xrefmodel::xrefmodel (c++ function)": [[161, "_CPPv4N9XrefModel9XrefModelEP7QObject", false]], "xrefmodel::xreftypestring (c++ function)": [[161, "_CPPv4N9XrefModel14xrefTypeStringERK7QString", false]], "xrefsdialog (c++ class)": [[162, "_CPPv411XrefsDialog", false]], "xrefsdialog::fillrefsforaddress (c++ function)": [[162, "_CPPv4N11XrefsDialog18fillRefsForAddressE3RVA7QStringb", false]], "xrefsdialog::fillrefsforvariable (c++ function)": [[162, "_CPPv4N11XrefsDialog19fillRefsForVariableE7QString3RVA", false]], "xrefsdialog::xrefsdialog (c++ function)": [[162, "_CPPv4N11XrefsDialog11XrefsDialogEP10MainWindowb", false]], "xrefsdialog::~xrefsdialog (c++ function)": [[162, "_CPPv4N11XrefsDialogD0Ev", false]]}, "objects": {"": [[125, 0, 1, "_CPPv411AboutDialog", "AboutDialog"], [125, 1, 1, "_CPPv4N11AboutDialog11AboutDialogEP7QWidget", "AboutDialog::AboutDialog"], [125, 2, 1, "_CPPv4N11AboutDialog11AboutDialogEP7QWidget", "AboutDialog::AboutDialog::parent"], [125, 1, 1, "_CPPv4N11AboutDialogD0Ev", "AboutDialog::~AboutDialog"], [182, 0, 1, "_CPPv416AbstractAddrDock", "AbstractAddrDock"], [182, 1, 1, "_CPPv4N16AbstractAddrDock16AbstractAddrDockEP13SectionsModelP7QWidget", "AbstractAddrDock::AbstractAddrDock"], [182, 2, 1, "_CPPv4N16AbstractAddrDock16AbstractAddrDockEP13SectionsModelP7QWidget", "AbstractAddrDock::AbstractAddrDock::model"], [182, 2, 1, "_CPPv4N16AbstractAddrDock16AbstractAddrDockEP13SectionsModelP7QWidget", "AbstractAddrDock::AbstractAddrDock::parent"], [182, 1, 1, "_CPPv4N16AbstractAddrDock10updateDockEv", "AbstractAddrDock::updateDock"], [182, 1, 1, "_CPPv4N16AbstractAddrDockD0Ev", "AbstractAddrDock::~AbstractAddrDock"], [183, 0, 1, "_CPPv412AbstractData", "AbstractData"], [183, 1, 1, "_CPPv4N12AbstractData4copyEPv8uint64_t6size_t", "AbstractData::copy"], [183, 2, 1, "_CPPv4N12AbstractData4copyEPv8uint64_t6size_t", "AbstractData::copy::adr"], [183, 2, 1, "_CPPv4N12AbstractData4copyEPv8uint64_t6size_t", "AbstractData::copy::len"], [183, 2, 1, "_CPPv4N12AbstractData4copyEPv8uint64_t6size_t", "AbstractData::copy::out"], [183, 1, 1, "_CPPv4N12AbstractData5fetchE8uint64_ti", "AbstractData::fetch"], [183, 2, 1, "_CPPv4N12AbstractData5fetchE8uint64_ti", "AbstractData::fetch::addr"], [183, 2, 1, "_CPPv4N12AbstractData5fetchE8uint64_ti", "AbstractData::fetch::len"], [183, 1, 1, "_CPPv4N12AbstractData8maxIndexEv", "AbstractData::maxIndex"], [183, 1, 1, "_CPPv4N12AbstractData8minIndexEv", "AbstractData::minIndex"], [183, 1, 1, "_CPPv4N12AbstractData5writeEPK7uint8_t8uint64_t6size_t", "AbstractData::write"], [183, 2, 1, "_CPPv4N12AbstractData5writeEPK7uint8_t8uint64_t6size_t", "AbstractData::write::adr"], [183, 2, 1, "_CPPv4N12AbstractData5writeEPK7uint8_t8uint64_t6size_t", "AbstractData::write::in"], [183, 2, 1, "_CPPv4N12AbstractData5writeEPK7uint8_t8uint64_t6size_t", "AbstractData::write::len"], [183, 1, 1, "_CPPv4N12AbstractDataD0Ev", "AbstractData::~AbstractData"], [184, 0, 1, "_CPPv413AddrDockScene", "AddrDockScene"], [184, 1, 1, "_CPPv4N13AddrDockScene13AddrDockSceneEP7QWidget", "AddrDockScene::AddrDockScene"], [184, 2, 1, "_CPPv4N13AddrDockScene13AddrDockSceneEP7QWidget", "AddrDockScene::AddrDockScene::parent"], [184, 3, 1, "_CPPv4N13AddrDockScene15disableCenterOnE", "AddrDockScene::disableCenterOn"], [184, 3, 1, "_CPPv4N13AddrDockScene11nameAddrMapE", "AddrDockScene::nameAddrMap"], [184, 3, 1, "_CPPv4N13AddrDockScene15nameAddrSizeMapE", "AddrDockScene::nameAddrSizeMap"], [184, 3, 1, "_CPPv4N13AddrDockScene13nameHeightMapE", "AddrDockScene::nameHeightMap"], [184, 3, 1, "_CPPv4N13AddrDockScene11namePosYMapE", "AddrDockScene::namePosYMap"], [184, 3, 1, "_CPPv4N13AddrDockScene11seekAddrMapE", "AddrDockScene::seekAddrMap"], [184, 3, 1, "_CPPv4N13AddrDockScene15seekAddrSizeMapE", "AddrDockScene::seekAddrSizeMap"], [184, 1, 1, "_CPPv4N13AddrDockSceneD0Ev", "AddrDockScene::~AddrDockScene"], [78, 0, 1, "_CPPv48AddrRefs", "AddrRefs"], [78, 3, 1, "_CPPv4N8AddrRefs4addrE", "AddrRefs::addr"], [78, 3, 1, "_CPPv4N8AddrRefs6asm_opE", "AddrRefs::asm_op"], [78, 3, 1, "_CPPv4N8AddrRefs3fcnE", "AddrRefs::fcn"], [78, 3, 1, "_CPPv4N8AddrRefs9has_valueE", "AddrRefs::has_value"], [78, 3, 1, "_CPPv4N8AddrRefs7mapnameE", "AddrRefs::mapname"], [78, 3, 1, "_CPPv4N8AddrRefs5permsE", "AddrRefs::perms"], [78, 3, 1, "_CPPv4N8AddrRefs3refE", "AddrRefs::ref"], [78, 3, 1, "_CPPv4N8AddrRefs3regE", "AddrRefs::reg"], [78, 3, 1, "_CPPv4N8AddrRefs7sectionE", "AddrRefs::section"], [78, 3, 1, "_CPPv4N8AddrRefs6stringE", "AddrRefs::string"], [78, 3, 1, "_CPPv4N8AddrRefs4typeE", "AddrRefs::type"], [78, 3, 1, "_CPPv4N8AddrRefs5valueE", "AddrRefs::value"], [185, 0, 1, "_CPPv421AddressableDockWidget", "AddressableDockWidget"], [185, 1, 1, "_CPPv4N21AddressableDockWidget21AddressableDockWidgetEP10MainWindow", "AddressableDockWidget::AddressableDockWidget"], [185, 2, 1, "_CPPv4N21AddressableDockWidget21AddressableDockWidgetEP10MainWindow", "AddressableDockWidget::AddressableDockWidget::parent"], [185, 1, 1, "_CPPv4N21AddressableDockWidget25deserializeViewPropertiesERK11QVariantMap", "AddressableDockWidget::deserializeViewProperties"], [185, 2, 1, "_CPPv4N21AddressableDockWidget25deserializeViewPropertiesERK11QVariantMap", "AddressableDockWidget::deserializeViewProperties::properties"], [185, 1, 1, "_CPPv4NK21AddressableDockWidget11getSeekableEv", "AddressableDockWidget::getSeekable"], [185, 1, 1, "_CPPv4N21AddressableDockWidget22serializeViewProprtiesEv", "AddressableDockWidget::serializeViewProprties"], [185, 1, 1, "_CPPv4N21AddressableDockWidget17updateWindowTitleEv", "AddressableDockWidget::updateWindowTitle"], [185, 1, 1, "_CPPv4N21AddressableDockWidgetD0Ev", "AddressableDockWidget::~AddressableDockWidget"], [1, 0, 1, "_CPPv427AddressableFilterProxyModel", "AddressableFilterProxyModel"], [1, 1, 1, "_CPPv4N27AddressableFilterProxyModel27AddressableFilterProxyModelEP21AddressableItemModelIP7QObject", "AddressableFilterProxyModel::AddressableFilterProxyModel"], [1, 2, 1, "_CPPv4N27AddressableFilterProxyModel27AddressableFilterProxyModelEP21AddressableItemModelIP7QObject", "AddressableFilterProxyModel::AddressableFilterProxyModel::parent"], [1, 2, 1, "_CPPv4N27AddressableFilterProxyModel27AddressableFilterProxyModelEP21AddressableItemModelIP7QObject", "AddressableFilterProxyModel::AddressableFilterProxyModel::sourceModel"], [1, 1, 1, "_CPPv4NK27AddressableFilterProxyModel7addressERK11QModelIndex", "AddressableFilterProxyModel::address"], [1, 2, 1, "_CPPv4NK27AddressableFilterProxyModel7addressERK11QModelIndex", "AddressableFilterProxyModel::address::index"], [1, 1, 1, "_CPPv4NK27AddressableFilterProxyModel4nameERK11QModelIndex", "AddressableFilterProxyModel::name"], [1, 1, 1, "_CPPv4N27AddressableFilterProxyModel14setSourceModelEP21AddressableItemModelI", "AddressableFilterProxyModel::setSourceModel"], [1, 2, 1, "_CPPv4N27AddressableFilterProxyModel14setSourceModelEP21AddressableItemModelI", "AddressableFilterProxyModel::setSourceModel::sourceModel"], [167, 0, 1, "_CPPv426AddressableItemContextMenu", "AddressableItemContextMenu"], [167, 1, 1, "_CPPv4N26AddressableItemContextMenu26AddressableItemContextMenuEP7QWidgetP10MainWindow", "AddressableItemContextMenu::AddressableItemContextMenu"], [167, 2, 1, "_CPPv4N26AddressableItemContextMenu26AddressableItemContextMenuEP7QWidgetP10MainWindow", "AddressableItemContextMenu::AddressableItemContextMenu::mainWindow"], [167, 2, 1, "_CPPv4N26AddressableItemContextMenu26AddressableItemContextMenuEP7QWidgetP10MainWindow", "AddressableItemContextMenu::AddressableItemContextMenu::parent"], [167, 1, 1, "_CPPv4N26AddressableItemContextMenu11clearTargetEv", "AddressableItemContextMenu::clearTarget"], [167, 1, 1, "_CPPv4N26AddressableItemContextMenu9setOffsetE3RVA", "AddressableItemContextMenu::setOffset"], [167, 2, 1, "_CPPv4N26AddressableItemContextMenu9setOffsetE3RVA", "AddressableItemContextMenu::setOffset::offset"], [167, 1, 1, "_CPPv4N26AddressableItemContextMenu9setTargetE3RVA7QString", "AddressableItemContextMenu::setTarget"], [167, 2, 1, "_CPPv4N26AddressableItemContextMenu9setTargetE3RVA7QString", "AddressableItemContextMenu::setTarget::name"], [167, 2, 1, "_CPPv4N26AddressableItemContextMenu9setTargetE3RVA7QString", "AddressableItemContextMenu::setTarget::offset"], [167, 1, 1, "_CPPv4N26AddressableItemContextMenu16setWholeFunctionEb", "AddressableItemContextMenu::setWholeFunction"], [167, 2, 1, "_CPPv4N26AddressableItemContextMenu16setWholeFunctionEb", "AddressableItemContextMenu::setWholeFunction::wholeFunciton"], [167, 1, 1, "_CPPv4N26AddressableItemContextMenu14xrefsTriggeredEv", "AddressableItemContextMenu::xrefsTriggered"], [167, 1, 1, "_CPPv4N26AddressableItemContextMenuD0Ev", "AddressableItemContextMenu::~AddressableItemContextMenu"], [186, 0, 1, "_CPPv4I0E19AddressableItemList", "AddressableItemList"], [186, 1, 1, "_CPPv4N19AddressableItemList19AddressableItemListEP7QWidget", "AddressableItemList::AddressableItemList"], [186, 2, 1, "_CPPv4N19AddressableItemList19AddressableItemListEP7QWidget", "AddressableItemList::AddressableItemList::parent"], [186, 4, 1, "_CPPv4I0E19AddressableItemList", "AddressableItemList::BaseListWidget"], [186, 1, 1, "_CPPv4N19AddressableItemList18getItemContextMenuEv", "AddressableItemList::getItemContextMenu"], [186, 1, 1, "_CPPv4N19AddressableItemList18setItemContextMenuEP26AddressableItemContextMenu", "AddressableItemList::setItemContextMenu"], [186, 2, 1, "_CPPv4N19AddressableItemList18setItemContextMenuEP26AddressableItemContextMenu", "AddressableItemList::setItemContextMenu::menu"], [186, 1, 1, "_CPPv4N19AddressableItemList13setMainWindowEP10MainWindow", "AddressableItemList::setMainWindow"], [186, 2, 1, "_CPPv4N19AddressableItemList13setMainWindowEP10MainWindow", "AddressableItemList::setMainWindow::mainWindow"], [186, 1, 1, "_CPPv4N19AddressableItemList8setModelEP21AddressableItemModelI", "AddressableItemList::setModel"], [186, 2, 1, "_CPPv4N19AddressableItemList8setModelEP21AddressableItemModelI", "AddressableItemList::setModel::addressableItemModel"], [186, 1, 1, "_CPPv4N19AddressableItemList36setShowItemContextMenuWithoutAddressEb", "AddressableItemList::setShowItemContextMenuWithoutAddress"], [186, 2, 1, "_CPPv4N19AddressableItemList36setShowItemContextMenuWithoutAddressEb", "AddressableItemList::setShowItemContextMenuWithoutAddress::val"], [2, 0, 1, "_CPPv4I0E20AddressableItemModel", "AddressableItemModel"], [2, 1, 1, "_CPPv4N20AddressableItemModel20AddressableItemModelEP7QObject", "AddressableItemModel::AddressableItemModel"], [2, 2, 1, "_CPPv4N20AddressableItemModel20AddressableItemModelEP7QObject", "AddressableItemModel::AddressableItemModel::parent"], [2, 4, 1, "_CPPv4I0E20AddressableItemModel", "AddressableItemModel::ParentModel"], [2, 1, 1, "_CPPv4N20AddressableItemModel11asItemModelEv", "AddressableItemModel::asItemModel"], [2, 1, 1, "_CPPv4N20AddressableItemModelD0Ev", "AddressableItemModel::~AddressableItemModel"], [3, 0, 1, "_CPPv421AddressableItemModelI", "AddressableItemModelI"], [3, 1, 1, "_CPPv4NK21AddressableItemModelI7addressERK11QModelIndex", "AddressableItemModelI::address"], [3, 2, 1, "_CPPv4NK21AddressableItemModelI7addressERK11QModelIndex", "AddressableItemModelI::address::index"], [3, 1, 1, "_CPPv4N21AddressableItemModelI11asItemModelEv", "AddressableItemModelI::asItemModel"], [3, 1, 1, "_CPPv4NK21AddressableItemModelI4nameERK11QModelIndex", "AddressableItemModelI::name"], [3, 2, 1, "_CPPv4NK21AddressableItemModelI4nameERK11QModelIndex", "AddressableItemModelI::name::index"], [79, 0, 1, "_CPPv428AnalysisBaseClassDescription", "AnalysisBaseClassDescription"], [79, 3, 1, "_CPPv4N28AnalysisBaseClassDescription9classNameE", "AnalysisBaseClassDescription::className"], [79, 3, 1, "_CPPv4N28AnalysisBaseClassDescription2idE", "AnalysisBaseClassDescription::id"], [79, 3, 1, "_CPPv4N28AnalysisBaseClassDescription6offsetE", "AnalysisBaseClassDescription::offset"], [187, 0, 1, "_CPPv420AnalysisClassesModel", "AnalysisClassesModel"], [187, 1, 1, "_CPPv4N20AnalysisClassesModel20AnalysisClassesModelEP16CutterDockWidget", "AnalysisClassesModel::AnalysisClassesModel"], [187, 2, 1, "_CPPv4N20AnalysisClassesModel20AnalysisClassesModelEP16CutterDockWidget", "AnalysisClassesModel::AnalysisClassesModel::parent"], [316, 0, 1, "_CPPv4N20AnalysisClassesModel9AttributeE", "AnalysisClassesModel::Attribute"], [316, 1, 1, "_CPPv4N20AnalysisClassesModel9Attribute9AttributeE4TypeRK8QVariant", "AnalysisClassesModel::Attribute::Attribute"], [316, 1, 1, "_CPPv4N20AnalysisClassesModel9Attribute9AttributeEv", "AnalysisClassesModel::Attribute::Attribute"], [316, 2, 1, "_CPPv4N20AnalysisClassesModel9Attribute9AttributeE4TypeRK8QVariant", "AnalysisClassesModel::Attribute::Attribute::data"], [316, 2, 1, "_CPPv4N20AnalysisClassesModel9Attribute9AttributeE4TypeRK8QVariant", "AnalysisClassesModel::Attribute::Attribute::type"], [316, 5, 1, "_CPPv4N20AnalysisClassesModel9Attribute4TypeE", "AnalysisClassesModel::Attribute::Type"], [316, 6, 1, "_CPPv4N20AnalysisClassesModel9Attribute4Type4BaseE", "AnalysisClassesModel::Attribute::Type::Base"], [316, 6, 1, "_CPPv4N20AnalysisClassesModel9Attribute4Type6MethodE", "AnalysisClassesModel::Attribute::Type::Method"], [316, 6, 1, "_CPPv4N20AnalysisClassesModel9Attribute4Type6VTableE", "AnalysisClassesModel::Attribute::Type::VTable"], [316, 3, 1, "_CPPv4N20AnalysisClassesModel9Attribute4dataE", "AnalysisClassesModel::Attribute::data"], [316, 3, 1, "_CPPv4N20AnalysisClassesModel9Attribute4typeE", "AnalysisClassesModel::Attribute::type"], [187, 1, 1, "_CPPv4N20AnalysisClassesModel17classAttrsChangedERK7QString", "AnalysisClassesModel::classAttrsChanged"], [187, 2, 1, "_CPPv4N20AnalysisClassesModel17classAttrsChangedERK7QString", "AnalysisClassesModel::classAttrsChanged::cls"], [187, 1, 1, "_CPPv4N20AnalysisClassesModel12classDeletedERK7QString", "AnalysisClassesModel::classDeleted"], [187, 2, 1, "_CPPv4N20AnalysisClassesModel12classDeletedERK7QString", "AnalysisClassesModel::classDeleted::cls"], [187, 1, 1, "_CPPv4N20AnalysisClassesModel8classNewERK7QString", "AnalysisClassesModel::classNew"], [187, 2, 1, "_CPPv4N20AnalysisClassesModel8classNewERK7QString", "AnalysisClassesModel::classNew::cls"], [187, 1, 1, "_CPPv4N20AnalysisClassesModel12classRenamedERK7QStringRK7QString", "AnalysisClassesModel::classRenamed"], [187, 2, 1, "_CPPv4N20AnalysisClassesModel12classRenamedERK7QStringRK7QString", "AnalysisClassesModel::classRenamed::newName"], [187, 2, 1, "_CPPv4N20AnalysisClassesModel12classRenamedERK7QStringRK7QString", "AnalysisClassesModel::classRenamed::oldName"], [187, 1, 1, "_CPPv4N20AnalysisClassesModel10refreshAllEv", "AnalysisClassesModel::refreshAll"], [80, 0, 1, "_CPPv425AnalysisMethodDescription", "AnalysisMethodDescription"], [80, 3, 1, "_CPPv4N25AnalysisMethodDescription4addrE", "AnalysisMethodDescription::addr"], [80, 3, 1, "_CPPv4N25AnalysisMethodDescription4nameE", "AnalysisMethodDescription::name"], [80, 3, 1, "_CPPv4N25AnalysisMethodDescription8realNameE", "AnalysisMethodDescription::realName"], [80, 3, 1, "_CPPv4N25AnalysisMethodDescription12vtableOffsetE", "AnalysisMethodDescription::vtableOffset"], [4, 0, 1, "_CPPv412AnalysisTask", "AnalysisTask"], [4, 1, 1, "_CPPv4N12AnalysisTask12AnalysisTaskEv", "AnalysisTask::AnalysisTask"], [4, 1, 1, "_CPPv4N12AnalysisTask17getOpenFileFailedEv", "AnalysisTask::getOpenFileFailed"], [4, 1, 1, "_CPPv4N12AnalysisTask8getTitleEv", "AnalysisTask::getTitle"], [4, 1, 1, "_CPPv4N12AnalysisTask9interruptEv", "AnalysisTask::interrupt"], [4, 1, 1, "_CPPv4N12AnalysisTask14openFileFailedEv", "AnalysisTask::openFileFailed"], [4, 1, 1, "_CPPv4N12AnalysisTask10setOptionsERK14InitialOptions", "AnalysisTask::setOptions"], [4, 2, 1, "_CPPv4N12AnalysisTask10setOptionsERK14InitialOptions", "AnalysisTask::setOptions::options"], [4, 1, 1, "_CPPv4N12AnalysisTaskD0Ev", "AnalysisTask::~AnalysisTask"], [81, 0, 1, "_CPPv425AnalysisVTableDescription", "AnalysisVTableDescription"], [81, 3, 1, "_CPPv4N25AnalysisVTableDescription4addrE", "AnalysisVTableDescription::addr"], [81, 3, 1, "_CPPv4N25AnalysisVTableDescription2idE", "AnalysisVTableDescription::id"], [81, 3, 1, "_CPPv4N25AnalysisVTableDescription6offsetE", "AnalysisVTableDescription::offset"], [82, 0, 1, "_CPPv45Arena", "Arena"], [82, 3, 1, "_CPPv4N5Arena14last_remainderE", "Arena::last_remainder"], [82, 3, 1, "_CPPv4N5Arena14max_system_memE", "Arena::max_system_mem"], [82, 3, 1, "_CPPv4N5Arena4nextE", "Arena::next"], [82, 3, 1, "_CPPv4N5Arena9next_freeE", "Arena::next_free"], [82, 3, 1, "_CPPv4N5Arena6offsetE", "Arena::offset"], [82, 3, 1, "_CPPv4N5Arena10system_memE", "Arena::system_mem"], [82, 3, 1, "_CPPv4N5Arena3topE", "Arena::top"], [82, 3, 1, "_CPPv4N5Arena4typeE", "Arena::type"], [126, 0, 1, "_CPPv415ArenaInfoDialog", "ArenaInfoDialog"], [126, 1, 1, "_CPPv4N15ArenaInfoDialog15ArenaInfoDialogER5ArenaP7QWidget", "ArenaInfoDialog::ArenaInfoDialog"], [126, 2, 1, "_CPPv4N15ArenaInfoDialog15ArenaInfoDialogER5ArenaP7QWidget", "ArenaInfoDialog::ArenaInfoDialog::arena"], [126, 2, 1, "_CPPv4N15ArenaInfoDialog15ArenaInfoDialogER5ArenaP7QWidget", "ArenaInfoDialog::ArenaInfoDialog::parent"], [126, 1, 1, "_CPPv4N15ArenaInfoDialog14updateContentsEv", "ArenaInfoDialog::updateContents"], [126, 1, 1, "_CPPv4N15ArenaInfoDialogD0Ev", "ArenaInfoDialog::~ArenaInfoDialog"], [5, 0, 1, "_CPPv49AsyncTask", "AsyncTask"], [5, 1, 1, "_CPPv4N9AsyncTask9AsyncTaskEv", "AsyncTask::AsyncTask"], [5, 7, 1, "_CPPv4N9AsyncTask3PtrE", "AsyncTask::Ptr"], [5, 1, 1, "_CPPv4N9AsyncTask8finishedEv", "AsyncTask::finished"], [5, 1, 1, "_CPPv4N9AsyncTask14getElapsedTimeEv", "AsyncTask::getElapsedTime"], [5, 1, 1, "_CPPv4N9AsyncTask6getLogEv", "AsyncTask::getLog"], [5, 1, 1, "_CPPv4N9AsyncTask8getTimerEv", "AsyncTask::getTimer"], [5, 1, 1, "_CPPv4N9AsyncTask8getTitleEv", "AsyncTask::getTitle"], [5, 1, 1, "_CPPv4N9AsyncTask9interruptEv", "AsyncTask::interrupt"], [5, 1, 1, "_CPPv4N9AsyncTask13isInterruptedEv", "AsyncTask::isInterrupted"], [5, 1, 1, "_CPPv4N9AsyncTask9isRunningEv", "AsyncTask::isRunning"], [5, 1, 1, "_CPPv4N9AsyncTask10logChangedERK7QString", "AsyncTask::logChanged"], [5, 2, 1, "_CPPv4N9AsyncTask10logChangedERK7QString", "AsyncTask::logChanged::log"], [5, 1, 1, "_CPPv4N9AsyncTask3runEv", "AsyncTask::run"], [5, 1, 1, "_CPPv4N9AsyncTask4waitEi", "AsyncTask::wait"], [5, 1, 1, "_CPPv4N9AsyncTask4waitEv", "AsyncTask::wait"], [5, 2, 1, "_CPPv4N9AsyncTask4waitEi", "AsyncTask::wait::timeout"], [5, 1, 1, "_CPPv4N9AsyncTaskD0Ev", "AsyncTask::~AsyncTask"], [127, 0, 1, "_CPPv415AsyncTaskDialog", "AsyncTaskDialog"], [127, 1, 1, "_CPPv4N15AsyncTaskDialog15AsyncTaskDialogEN9AsyncTask3PtrEP7QWidget", "AsyncTaskDialog::AsyncTaskDialog"], [127, 2, 1, "_CPPv4N15AsyncTaskDialog15AsyncTaskDialogEN9AsyncTask3PtrEP7QWidget", "AsyncTaskDialog::AsyncTaskDialog::parent"], [127, 2, 1, "_CPPv4N15AsyncTaskDialog15AsyncTaskDialogEN9AsyncTask3PtrEP7QWidget", "AsyncTaskDialog::AsyncTaskDialog::task"], [127, 1, 1, "_CPPv4N15AsyncTaskDialog19getInterruptOnCloseEv", "AsyncTaskDialog::getInterruptOnClose"], [127, 1, 1, "_CPPv4N15AsyncTaskDialog6rejectEv", "AsyncTaskDialog::reject"], [127, 1, 1, "_CPPv4N15AsyncTaskDialog19setInterruptOnCloseEb", "AsyncTaskDialog::setInterruptOnClose"], [127, 2, 1, "_CPPv4N15AsyncTaskDialog19setInterruptOnCloseEb", "AsyncTaskDialog::setInterruptOnClose::v"], [127, 1, 1, "_CPPv4N15AsyncTaskDialogD0Ev", "AsyncTaskDialog::~AsyncTaskDialog"], [6, 0, 1, "_CPPv416AsyncTaskManager", "AsyncTaskManager"], [6, 1, 1, "_CPPv4N16AsyncTaskManager16AsyncTaskManagerEP7QObject", "AsyncTaskManager::AsyncTaskManager"], [6, 2, 1, "_CPPv4N16AsyncTaskManager16AsyncTaskManagerEP7QObject", "AsyncTaskManager::AsyncTaskManager::parent"], [6, 1, 1, "_CPPv4N16AsyncTaskManager15getTasksRunningEv", "AsyncTaskManager::getTasksRunning"], [6, 1, 1, "_CPPv4N16AsyncTaskManager5startEN9AsyncTask3PtrE", "AsyncTaskManager::start"], [6, 2, 1, "_CPPv4N16AsyncTaskManager5startEN9AsyncTask3PtrE", "AsyncTaskManager::start::task"], [6, 1, 1, "_CPPv4N16AsyncTaskManager12tasksChangedEv", "AsyncTaskManager::tasksChanged"], [6, 1, 1, "_CPPv4N16AsyncTaskManagerD0Ev", "AsyncTaskManager::~AsyncTaskManager"], [128, 0, 1, "_CPPv416AttachProcDialog", "AttachProcDialog"], [128, 1, 1, "_CPPv4N16AttachProcDialog16AttachProcDialogEP7QWidget", "AttachProcDialog::AttachProcDialog"], [128, 2, 1, "_CPPv4N16AttachProcDialog16AttachProcDialogEP7QWidget", "AttachProcDialog::AttachProcDialog::parent"], [128, 1, 1, "_CPPv4N16AttachProcDialog6getPIDEv", "AttachProcDialog::getPID"], [128, 1, 1, "_CPPv4N16AttachProcDialogD0Ev", "AttachProcDialog::~AttachProcDialog"], [188, 0, 1, "_CPPv415BacktraceWidget", "BacktraceWidget"], [188, 1, 1, "_CPPv4N15BacktraceWidget15BacktraceWidgetEP10MainWindow", "BacktraceWidget::BacktraceWidget"], [188, 2, 1, "_CPPv4N15BacktraceWidget15BacktraceWidgetEP10MainWindow", "BacktraceWidget::BacktraceWidget::main"], [188, 1, 1, "_CPPv4N15BacktraceWidgetD0Ev", "BacktraceWidget::~BacktraceWidget"], [129, 0, 1, "_CPPv426Base64EnDecodedWriteDialog", "Base64EnDecodedWriteDialog"], [129, 1, 1, "_CPPv4N26Base64EnDecodedWriteDialog26Base64EnDecodedWriteDialogEP7QWidget", "Base64EnDecodedWriteDialog::Base64EnDecodedWriteDialog"], [129, 2, 1, "_CPPv4N26Base64EnDecodedWriteDialog26Base64EnDecodedWriteDialogEP7QWidget", "Base64EnDecodedWriteDialog::Base64EnDecodedWriteDialog::parent"], [129, 6, 1, "_CPPv4N26Base64EnDecodedWriteDialog4Mode6DecodeE", "Base64EnDecodedWriteDialog::Decode"], [129, 6, 1, "_CPPv4N26Base64EnDecodedWriteDialog4Mode6EncodeE", "Base64EnDecodedWriteDialog::Encode"], [129, 5, 1, "_CPPv4N26Base64EnDecodedWriteDialog4ModeE", "Base64EnDecodedWriteDialog::Mode"], [129, 6, 1, "_CPPv4N26Base64EnDecodedWriteDialog4Mode6DecodeE", "Base64EnDecodedWriteDialog::Mode::Decode"], [129, 6, 1, "_CPPv4N26Base64EnDecodedWriteDialog4Mode6EncodeE", "Base64EnDecodedWriteDialog::Mode::Encode"], [129, 1, 1, "_CPPv4NK26Base64EnDecodedWriteDialog7getDataEv", "Base64EnDecodedWriteDialog::getData"], [129, 1, 1, "_CPPv4NK26Base64EnDecodedWriteDialog7getModeEv", "Base64EnDecodedWriteDialog::getMode"], [64, 0, 1, "_CPPv48Basefind", "Basefind"], [64, 1, 1, "_CPPv4N8Basefind8BasefindEP10CutterCore", "Basefind::Basefind"], [64, 2, 1, "_CPPv4N8Basefind8BasefindEP10CutterCore", "Basefind::Basefind::core"], [64, 1, 1, "_CPPv4N8Basefind6cancelEv", "Basefind::cancel"], [64, 1, 1, "_CPPv4N8Basefind8completeEv", "Basefind::complete"], [64, 1, 1, "_CPPv4N8Basefind8progressE29BasefindCoreStatusDescription", "Basefind::progress"], [64, 2, 1, "_CPPv4N8Basefind8progressE29BasefindCoreStatusDescription", "Basefind::progress::status"], [64, 1, 1, "_CPPv4N8Basefind7resultsEv", "Basefind::results"], [64, 1, 1, "_CPPv4N8Basefind3runEv", "Basefind::run"], [64, 1, 1, "_CPPv4N8Basefind10setOptionsEPK13RzBaseFindOpt", "Basefind::setOptions"], [64, 2, 1, "_CPPv4N8Basefind10setOptionsEPK13RzBaseFindOpt", "Basefind::setOptions::opts"], [64, 1, 1, "_CPPv4N8BasefindD0Ev", "Basefind::~Basefind"], [83, 0, 1, "_CPPv429BasefindCoreStatusDescription", "BasefindCoreStatusDescription"], [83, 3, 1, "_CPPv4N29BasefindCoreStatusDescription5indexE", "BasefindCoreStatusDescription::index"], [83, 3, 1, "_CPPv4N29BasefindCoreStatusDescription10percentageE", "BasefindCoreStatusDescription::percentage"], [84, 0, 1, "_CPPv425BasefindResultDescription", "BasefindResultDescription"], [84, 3, 1, "_CPPv4N25BasefindResultDescription9candidateE", "BasefindResultDescription::candidate"], [84, 3, 1, "_CPPv4N25BasefindResultDescription5scoreE", "BasefindResultDescription::score"], [7, 0, 1, "_CPPv421BasicBlockHighlighter", "BasicBlockHighlighter"], [7, 0, 1, "_CPPv4N21BasicBlockHighlighter10BasicBlockE", "BasicBlockHighlighter::BasicBlock"], [47, 0, 1, "_CPPv4N21BasicBlockHighlighter10BasicBlockE", "BasicBlockHighlighter::BasicBlock"], [7, 3, 1, "_CPPv4N21BasicBlockHighlighter10BasicBlock7addressE", "BasicBlockHighlighter::BasicBlock::address"], [47, 3, 1, "_CPPv4N21BasicBlockHighlighter10BasicBlock7addressE", "BasicBlockHighlighter::BasicBlock::address"], [7, 3, 1, "_CPPv4N21BasicBlockHighlighter10BasicBlock5colorE", "BasicBlockHighlighter::BasicBlock::color"], [47, 3, 1, "_CPPv4N21BasicBlockHighlighter10BasicBlock5colorE", "BasicBlockHighlighter::BasicBlock::color"], [7, 1, 1, "_CPPv4N21BasicBlockHighlighter21BasicBlockHighlighterEv", "BasicBlockHighlighter::BasicBlockHighlighter"], [7, 1, 1, "_CPPv4N21BasicBlockHighlighter5clearE3RVA", "BasicBlockHighlighter::clear"], [7, 2, 1, "_CPPv4N21BasicBlockHighlighter5clearE3RVA", "BasicBlockHighlighter::clear::address"], [7, 1, 1, "_CPPv4N21BasicBlockHighlighter13getBasicBlockE3RVA", "BasicBlockHighlighter::getBasicBlock"], [7, 2, 1, "_CPPv4N21BasicBlockHighlighter13getBasicBlockE3RVA", "BasicBlockHighlighter::getBasicBlock::address"], [7, 1, 1, "_CPPv4N21BasicBlockHighlighter9highlightE3RVARK6QColor", "BasicBlockHighlighter::highlight"], [7, 2, 1, "_CPPv4N21BasicBlockHighlighter9highlightE3RVARK6QColor", "BasicBlockHighlighter::highlight::address"], [7, 2, 1, "_CPPv4N21BasicBlockHighlighter9highlightE3RVARK6QColor", "BasicBlockHighlighter::highlight::color"], [317, 0, 1, "_CPPv411BasicCursor", "BasicCursor"], [317, 1, 1, "_CPPv4N11BasicCursor11BasicCursorE8uint64_t", "BasicCursor::BasicCursor"], [317, 1, 1, "_CPPv4N11BasicCursor11BasicCursorEv", "BasicCursor::BasicCursor"], [317, 2, 1, "_CPPv4N11BasicCursor11BasicCursorE8uint64_t", "BasicCursor::BasicCursor::pos"], [317, 3, 1, "_CPPv4N11BasicCursor7addressE", "BasicCursor::address"], [317, 1, 1, "_CPPv4N11BasicCursor11moveCheckedEi", "BasicCursor::moveChecked"], [317, 2, 1, "_CPPv4N11BasicCursor11moveCheckedEi", "BasicCursor::moveChecked::offset"], [317, 1, 1, "_CPPv4N11BasicCursorpLE7int64_t", "BasicCursor::operator+="], [317, 1, 1, "_CPPv4N11BasicCursorpLE8uint64_t", "BasicCursor::operator+="], [317, 1, 1, "_CPPv4N11BasicCursorpLEi", "BasicCursor::operator+="], [317, 2, 1, "_CPPv4N11BasicCursorpLE7int64_t", "BasicCursor::operator+=::offset"], [317, 2, 1, "_CPPv4N11BasicCursorpLE8uint64_t", "BasicCursor::operator+=::offset"], [317, 2, 1, "_CPPv4N11BasicCursorpLEi", "BasicCursor::operator+=::offset"], [317, 1, 1, "_CPPv4NK11BasicCursorltERK11BasicCursor", "BasicCursor::operator<"], [317, 2, 1, "_CPPv4NK11BasicCursorltERK11BasicCursor", "BasicCursor::operator<::r"], [317, 3, 1, "_CPPv4N11BasicCursor7pastEndE", "BasicCursor::pastEnd"], [48, 0, 1, "_CPPv416BasicInstruction", "BasicInstruction"], [48, 3, 1, "_CPPv4N16BasicInstruction7addressE", "BasicInstruction::address"], [48, 3, 1, "_CPPv4N16BasicInstruction5colorE", "BasicInstruction::color"], [48, 3, 1, "_CPPv4N16BasicInstruction4sizeE", "BasicInstruction::size"], [8, 0, 1, "_CPPv427BasicInstructionHighlighter", "BasicInstructionHighlighter"], [8, 1, 1, "_CPPv4N27BasicInstructionHighlighter5clearE3RVA3RVA", "BasicInstructionHighlighter::clear"], [8, 2, 1, "_CPPv4N27BasicInstructionHighlighter5clearE3RVA3RVA", "BasicInstructionHighlighter::clear::address"], [8, 2, 1, "_CPPv4N27BasicInstructionHighlighter5clearE3RVA3RVA", "BasicInstructionHighlighter::clear::size"], [8, 1, 1, "_CPPv4N27BasicInstructionHighlighter19getBasicInstructionE3RVA", "BasicInstructionHighlighter::getBasicInstruction"], [8, 2, 1, "_CPPv4N27BasicInstructionHighlighter19getBasicInstructionE3RVA", "BasicInstructionHighlighter::getBasicInstruction::address"], [8, 1, 1, "_CPPv4N27BasicInstructionHighlighter9highlightE3RVA3RVA6QColor", "BasicInstructionHighlighter::highlight"], [8, 2, 1, "_CPPv4N27BasicInstructionHighlighter9highlightE3RVA3RVA6QColor", "BasicInstructionHighlighter::highlight::address"], [8, 2, 1, "_CPPv4N27BasicInstructionHighlighter9highlightE3RVA3RVA6QColor", "BasicInstructionHighlighter::highlight::color"], [8, 2, 1, "_CPPv4N27BasicInstructionHighlighter9highlightE3RVA3RVA6QColor", "BasicInstructionHighlighter::highlight::size"], [85, 0, 1, "_CPPv428BinClassBaseClassDescription", "BinClassBaseClassDescription"], [85, 3, 1, "_CPPv4N28BinClassBaseClassDescription4nameE", "BinClassBaseClassDescription::name"], [85, 3, 1, "_CPPv4N28BinClassBaseClassDescription6offsetE", "BinClassBaseClassDescription::offset"], [86, 0, 1, "_CPPv419BinClassDescription", "BinClassDescription"], [86, 3, 1, "_CPPv4N19BinClassDescription4addrE", "BinClassDescription::addr"], [86, 3, 1, "_CPPv4N19BinClassDescription11baseClassesE", "BinClassDescription::baseClasses"], [86, 3, 1, "_CPPv4N19BinClassDescription6fieldsE", "BinClassDescription::fields"], [86, 3, 1, "_CPPv4N19BinClassDescription7methodsE", "BinClassDescription::methods"], [86, 3, 1, "_CPPv4N19BinClassDescription4nameE", "BinClassDescription::name"], [86, 3, 1, "_CPPv4N19BinClassDescription10vtableAddrE", "BinClassDescription::vtableAddr"], [87, 0, 1, "_CPPv424BinClassFieldDescription", "BinClassFieldDescription"], [87, 3, 1, "_CPPv4N24BinClassFieldDescription4addrE", "BinClassFieldDescription::addr"], [87, 3, 1, "_CPPv4N24BinClassFieldDescription4nameE", "BinClassFieldDescription::name"], [88, 0, 1, "_CPPv425BinClassMethodDescription", "BinClassMethodDescription"], [88, 3, 1, "_CPPv4N25BinClassMethodDescription4addrE", "BinClassMethodDescription::addr"], [88, 3, 1, "_CPPv4N25BinClassMethodDescription4nameE", "BinClassMethodDescription::name"], [88, 3, 1, "_CPPv4N25BinClassMethodDescription12vtableOffsetE", "BinClassMethodDescription::vtableOffset"], [189, 0, 1, "_CPPv415BinClassesModel", "BinClassesModel"], [189, 1, 1, "_CPPv4N15BinClassesModel15BinClassesModelEP7QObject", "BinClassesModel::BinClassesModel"], [189, 2, 1, "_CPPv4N15BinClassesModel15BinClassesModelEP7QObject", "BinClassesModel::BinClassesModel::parent"], [189, 1, 1, "_CPPv4N15BinClassesModel10setClassesERK5QListI19BinClassDescriptionE", "BinClassesModel::setClasses"], [189, 2, 1, "_CPPv4N15BinClassesModel10setClassesERK5QListI19BinClassDescriptionE", "BinClassesModel::setClasses::classes"], [130, 0, 1, "_CPPv49BinsModel", "BinsModel"], [130, 6, 1, "_CPPv4N9BinsModel6Column12BinNumColumnE", "BinsModel::BinNumColumn"], [130, 1, 1, "_CPPv4N9BinsModel9BinsModelE3RVAP7QObject", "BinsModel::BinsModel"], [130, 2, 1, "_CPPv4N9BinsModel9BinsModelE3RVAP7QObject", "BinsModel::BinsModel::arena_addr"], [130, 2, 1, "_CPPv4N9BinsModel9BinsModelE3RVAP7QObject", "BinsModel::BinsModel::parent"], [130, 6, 1, "_CPPv4N9BinsModel6Column8BkColumnE", "BinsModel::BkColumn"], [130, 5, 1, "_CPPv4N9BinsModel6ColumnE", "BinsModel::Column"], [130, 6, 1, "_CPPv4N9BinsModel6Column12BinNumColumnE", "BinsModel::Column::BinNumColumn"], [130, 6, 1, "_CPPv4N9BinsModel6Column8BkColumnE", "BinsModel::Column::BkColumn"], [130, 6, 1, "_CPPv4N9BinsModel6Column11ColumnCountE", "BinsModel::Column::ColumnCount"], [130, 6, 1, "_CPPv4N9BinsModel6Column11CountColumnE", "BinsModel::Column::CountColumn"], [130, 6, 1, "_CPPv4N9BinsModel6Column8FdColumnE", "BinsModel::Column::FdColumn"], [130, 6, 1, "_CPPv4N9BinsModel6Column10SizeColumnE", "BinsModel::Column::SizeColumn"], [130, 6, 1, "_CPPv4N9BinsModel6Column10TypeColumnE", "BinsModel::Column::TypeColumn"], [130, 6, 1, "_CPPv4N9BinsModel6Column11ColumnCountE", "BinsModel::ColumnCount"], [130, 6, 1, "_CPPv4N9BinsModel6Column11CountColumnE", "BinsModel::CountColumn"], [130, 6, 1, "_CPPv4N9BinsModel6Column8FdColumnE", "BinsModel::FdColumn"], [130, 6, 1, "_CPPv4N9BinsModel6Column10SizeColumnE", "BinsModel::SizeColumn"], [130, 6, 1, "_CPPv4N9BinsModel6Column10TypeColumnE", "BinsModel::TypeColumn"], [130, 3, 1, "_CPPv4N9BinsModel10arena_addrE", "BinsModel::arena_addr"], [130, 1, 1, "_CPPv4N9BinsModel9clearDataEv", "BinsModel::clearData"], [130, 1, 1, "_CPPv4NK9BinsModel11columnCountERK11QModelIndex", "BinsModel::columnCount"], [130, 2, 1, "_CPPv4NK9BinsModel11columnCountERK11QModelIndex", "BinsModel::columnCount::parent"], [130, 1, 1, "_CPPv4NK9BinsModel4dataERK11QModelIndexi", "BinsModel::data"], [130, 2, 1, "_CPPv4NK9BinsModel4dataERK11QModelIndexi", "BinsModel::data::index"], [130, 2, 1, "_CPPv4NK9BinsModel4dataERK11QModelIndexi", "BinsModel::data::role"], [130, 1, 1, "_CPPv4N9BinsModel13getBinMessageEi", "BinsModel::getBinMessage"], [130, 2, 1, "_CPPv4N9BinsModel13getBinMessageEi", "BinsModel::getBinMessage::index"], [130, 1, 1, "_CPPv4N9BinsModel9getChunksEi", "BinsModel::getChunks"], [130, 2, 1, "_CPPv4N9BinsModel9getChunksEi", "BinsModel::getChunks::index"], [130, 1, 1, "_CPPv4NK9BinsModel10headerDataEiN2Qt11OrientationEi", "BinsModel::headerData"], [130, 2, 1, "_CPPv4NK9BinsModel10headerDataEiN2Qt11OrientationEi", "BinsModel::headerData::orientation"], [130, 2, 1, "_CPPv4NK9BinsModel10headerDataEiN2Qt11OrientationEi", "BinsModel::headerData::role"], [130, 2, 1, "_CPPv4NK9BinsModel10headerDataEiN2Qt11OrientationEi", "BinsModel::headerData::section"], [130, 1, 1, "_CPPv4N9BinsModel6reloadEv", "BinsModel::reload"], [130, 1, 1, "_CPPv4NK9BinsModel8rowCountERK11QModelIndex", "BinsModel::rowCount"], [130, 2, 1, "_CPPv4NK9BinsModel8rowCountERK11QModelIndex", "BinsModel::rowCount::parent"], [130, 3, 1, "_CPPv4N9BinsModel6valuesE", "BinsModel::values"], [89, 0, 1, "_CPPv416BlockDescription", "BlockDescription"], [89, 3, 1, "_CPPv4N16BlockDescription4addrE", "BlockDescription::addr"], [89, 3, 1, "_CPPv4N16BlockDescription8commentsE", "BlockDescription::comments"], [89, 3, 1, "_CPPv4N16BlockDescription5flagsE", "BlockDescription::flags"], [89, 3, 1, "_CPPv4N16BlockDescription9functionsE", "BlockDescription::functions"], [89, 3, 1, "_CPPv4N16BlockDescription11inFunctionsE", "BlockDescription::inFunctions"], [89, 3, 1, "_CPPv4N16BlockDescription3rwxE", "BlockDescription::rwx"], [89, 3, 1, "_CPPv4N16BlockDescription4sizeE", "BlockDescription::size"], [89, 3, 1, "_CPPv4N16BlockDescription7stringsE", "BlockDescription::strings"], [89, 3, 1, "_CPPv4N16BlockDescription7symbolsE", "BlockDescription::symbols"], [90, 0, 1, "_CPPv415BlockStatistics", "BlockStatistics"], [90, 3, 1, "_CPPv4N15BlockStatistics6blocksE", "BlockStatistics::blocks"], [90, 3, 1, "_CPPv4N15BlockStatistics9blocksizeE", "BlockStatistics::blocksize"], [90, 3, 1, "_CPPv4N15BlockStatistics4fromE", "BlockStatistics::from"], [90, 3, 1, "_CPPv4N15BlockStatistics2toE", "BlockStatistics::to"], [190, 0, 1, "_CPPv419BoolTogggleDelegate", "BoolTogggleDelegate"], [190, 1, 1, "_CPPv4N19BoolTogggleDelegate19BoolTogggleDelegateEP7QObject", "BoolTogggleDelegate::BoolTogggleDelegate"], [190, 2, 1, "_CPPv4N19BoolTogggleDelegate19BoolTogggleDelegateEP7QObject", "BoolTogggleDelegate::BoolTogggleDelegate::parent"], [190, 1, 1, "_CPPv4NK19BoolTogggleDelegate12createEditorEP7QWidgetRK20QStyleOptionViewItemRK11QModelIndex", "BoolTogggleDelegate::createEditor"], [190, 2, 1, "_CPPv4NK19BoolTogggleDelegate12createEditorEP7QWidgetRK20QStyleOptionViewItemRK11QModelIndex", "BoolTogggleDelegate::createEditor::index"], [190, 2, 1, "_CPPv4NK19BoolTogggleDelegate12createEditorEP7QWidgetRK20QStyleOptionViewItemRK11QModelIndex", "BoolTogggleDelegate::createEditor::option"], [190, 2, 1, "_CPPv4NK19BoolTogggleDelegate12createEditorEP7QWidgetRK20QStyleOptionViewItemRK11QModelIndex", "BoolTogggleDelegate::createEditor::parent"], [190, 1, 1, "_CPPv4N19BoolTogggleDelegate11editorEventEP6QEventP18QAbstractItemModelRK20QStyleOptionViewItemRK11QModelIndex", "BoolTogggleDelegate::editorEvent"], [190, 2, 1, "_CPPv4N19BoolTogggleDelegate11editorEventEP6QEventP18QAbstractItemModelRK20QStyleOptionViewItemRK11QModelIndex", "BoolTogggleDelegate::editorEvent::event"], [190, 2, 1, "_CPPv4N19BoolTogggleDelegate11editorEventEP6QEventP18QAbstractItemModelRK20QStyleOptionViewItemRK11QModelIndex", "BoolTogggleDelegate::editorEvent::index"], [190, 2, 1, "_CPPv4N19BoolTogggleDelegate11editorEventEP6QEventP18QAbstractItemModelRK20QStyleOptionViewItemRK11QModelIndex", "BoolTogggleDelegate::editorEvent::model"], [190, 2, 1, "_CPPv4N19BoolTogggleDelegate11editorEventEP6QEventP18QAbstractItemModelRK20QStyleOptionViewItemRK11QModelIndex", "BoolTogggleDelegate::editorEvent::option"], [91, 0, 1, "_CPPv421BreakpointDescription", "BreakpointDescription"], [91, 6, 1, "_CPPv4N21BreakpointDescription12PositionType7AddressE", "BreakpointDescription::Address"], [91, 6, 1, "_CPPv4N21BreakpointDescription12PositionType6ModuleE", "BreakpointDescription::Module"], [91, 6, 1, "_CPPv4N21BreakpointDescription12PositionType5NamedE", "BreakpointDescription::Named"], [91, 5, 1, "_CPPv4N21BreakpointDescription12PositionTypeE", "BreakpointDescription::PositionType"], [91, 6, 1, "_CPPv4N21BreakpointDescription12PositionType7AddressE", "BreakpointDescription::PositionType::Address"], [91, 6, 1, "_CPPv4N21BreakpointDescription12PositionType6ModuleE", "BreakpointDescription::PositionType::Module"], [91, 6, 1, "_CPPv4N21BreakpointDescription12PositionType5NamedE", "BreakpointDescription::PositionType::Named"], [91, 3, 1, "_CPPv4N21BreakpointDescription4addrE", "BreakpointDescription::addr"], [91, 3, 1, "_CPPv4N21BreakpointDescription7commandE", "BreakpointDescription::command"], [91, 3, 1, "_CPPv4N21BreakpointDescription9conditionE", "BreakpointDescription::condition"], [91, 3, 1, "_CPPv4N21BreakpointDescription7enabledE", "BreakpointDescription::enabled"], [91, 3, 1, "_CPPv4N21BreakpointDescription2hwE", "BreakpointDescription::hw"], [91, 3, 1, "_CPPv4N21BreakpointDescription5indexE", "BreakpointDescription::index"], [91, 3, 1, "_CPPv4N21BreakpointDescription11moduleDeltaE", "BreakpointDescription::moduleDelta"], [91, 3, 1, "_CPPv4N21BreakpointDescription4nameE", "BreakpointDescription::name"], [91, 3, 1, "_CPPv4N21BreakpointDescription10permissionE", "BreakpointDescription::permission"], [91, 3, 1, "_CPPv4N21BreakpointDescription18positionExpressionE", "BreakpointDescription::positionExpression"], [91, 3, 1, "_CPPv4N21BreakpointDescription4sizeE", "BreakpointDescription::size"], [91, 3, 1, "_CPPv4N21BreakpointDescription5traceE", "BreakpointDescription::trace"], [91, 3, 1, "_CPPv4N21BreakpointDescription4typeE", "BreakpointDescription::type"], [191, 0, 1, "_CPPv415BreakpointModel", "BreakpointModel"], [191, 6, 1, "_CPPv4N15BreakpointModel6Column10AddrColumnE", "BreakpointModel::AddrColumn"], [191, 6, 1, "_CPPv4N15BreakpointModel4Role25BreakpointDescriptionRoleE", "BreakpointModel::BreakpointDescriptionRole"], [191, 1, 1, "_CPPv4N15BreakpointModel15BreakpointModelEP7QObject", "BreakpointModel::BreakpointModel"], [191, 2, 1, "_CPPv4N15BreakpointModel15BreakpointModelEP7QObject", "BreakpointModel::BreakpointModel::parent"], [191, 5, 1, "_CPPv4N15BreakpointModel6ColumnE", "BreakpointModel::Column"], [191, 6, 1, "_CPPv4N15BreakpointModel6Column10AddrColumnE", "BreakpointModel::Column::AddrColumn"], [191, 6, 1, "_CPPv4N15BreakpointModel6Column11ColumnCountE", "BreakpointModel::Column::ColumnCount"], [191, 6, 1, "_CPPv4N15BreakpointModel6Column13CommentColumnE", "BreakpointModel::Column::CommentColumn"], [191, 6, 1, "_CPPv4N15BreakpointModel6Column13EnabledColumnE", "BreakpointModel::Column::EnabledColumn"], [191, 6, 1, "_CPPv4N15BreakpointModel6Column10NameColumnE", "BreakpointModel::Column::NameColumn"], [191, 6, 1, "_CPPv4N15BreakpointModel6Column11TraceColumnE", "BreakpointModel::Column::TraceColumn"], [191, 6, 1, "_CPPv4N15BreakpointModel6Column10TypeColumnE", "BreakpointModel::Column::TypeColumn"], [191, 6, 1, "_CPPv4N15BreakpointModel6Column11ColumnCountE", "BreakpointModel::ColumnCount"], [191, 6, 1, "_CPPv4N15BreakpointModel6Column13CommentColumnE", "BreakpointModel::CommentColumn"], [191, 6, 1, "_CPPv4N15BreakpointModel6Column13EnabledColumnE", "BreakpointModel::EnabledColumn"], [191, 6, 1, "_CPPv4N15BreakpointModel6Column10NameColumnE", "BreakpointModel::NameColumn"], [191, 5, 1, "_CPPv4N15BreakpointModel4RoleE", "BreakpointModel::Role"], [191, 6, 1, "_CPPv4N15BreakpointModel4Role25BreakpointDescriptionRoleE", "BreakpointModel::Role::BreakpointDescriptionRole"], [191, 6, 1, "_CPPv4N15BreakpointModel6Column11TraceColumnE", "BreakpointModel::TraceColumn"], [191, 6, 1, "_CPPv4N15BreakpointModel6Column10TypeColumnE", "BreakpointModel::TypeColumn"], [191, 1, 1, "_CPPv4NK15BreakpointModel7addressERK11QModelIndex", "BreakpointModel::address"], [191, 2, 1, "_CPPv4NK15BreakpointModel7addressERK11QModelIndex", "BreakpointModel::address::index"], [191, 1, 1, "_CPPv4NK15BreakpointModel11columnCountERK11QModelIndex", "BreakpointModel::columnCount"], [191, 2, 1, "_CPPv4NK15BreakpointModel11columnCountERK11QModelIndex", "BreakpointModel::columnCount::parent"], [191, 1, 1, "_CPPv4NK15BreakpointModel4dataERK11QModelIndexi", "BreakpointModel::data"], [191, 2, 1, "_CPPv4NK15BreakpointModel4dataERK11QModelIndexi", "BreakpointModel::data::index"], [191, 2, 1, "_CPPv4NK15BreakpointModel4dataERK11QModelIndexi", "BreakpointModel::data::role"], [191, 1, 1, "_CPPv4NK15BreakpointModel5flagsERK11QModelIndex", "BreakpointModel::flags"], [191, 2, 1, "_CPPv4NK15BreakpointModel5flagsERK11QModelIndex", "BreakpointModel::flags::index"], [191, 1, 1, "_CPPv4NK15BreakpointModel10headerDataEiN2Qt11OrientationEi", "BreakpointModel::headerData"], [191, 2, 1, "_CPPv4NK15BreakpointModel10headerDataEiN2Qt11OrientationEi", "BreakpointModel::headerData::orientation"], [191, 2, 1, "_CPPv4NK15BreakpointModel10headerDataEiN2Qt11OrientationEi", "BreakpointModel::headerData::role"], [191, 2, 1, "_CPPv4NK15BreakpointModel10headerDataEiN2Qt11OrientationEi", "BreakpointModel::headerData::section"], [191, 1, 1, "_CPPv4N15BreakpointModel7refreshEv", "BreakpointModel::refresh"], [191, 1, 1, "_CPPv4NK15BreakpointModel8rowCountERK11QModelIndex", "BreakpointModel::rowCount"], [191, 2, 1, "_CPPv4NK15BreakpointModel8rowCountERK11QModelIndex", "BreakpointModel::rowCount::parent"], [191, 1, 1, "_CPPv4N15BreakpointModel7setDataERK11QModelIndexRK8QVarianti", "BreakpointModel::setData"], [191, 2, 1, "_CPPv4N15BreakpointModel7setDataERK11QModelIndexRK8QVarianti", "BreakpointModel::setData::index"], [191, 2, 1, "_CPPv4N15BreakpointModel7setDataERK11QModelIndexRK8QVarianti", "BreakpointModel::setData::role"], [191, 2, 1, "_CPPv4N15BreakpointModel7setDataERK11QModelIndexRK8QVarianti", "BreakpointModel::setData::value"], [192, 0, 1, "_CPPv420BreakpointProxyModel", "BreakpointProxyModel"], [192, 1, 1, "_CPPv4N20BreakpointProxyModel20BreakpointProxyModelEP15BreakpointModelP7QObject", "BreakpointProxyModel::BreakpointProxyModel"], [192, 2, 1, "_CPPv4N20BreakpointProxyModel20BreakpointProxyModelEP15BreakpointModelP7QObject", "BreakpointProxyModel::BreakpointProxyModel::parent"], [192, 2, 1, "_CPPv4N20BreakpointProxyModel20BreakpointProxyModelEP15BreakpointModelP7QObject", "BreakpointProxyModel::BreakpointProxyModel::sourceModel"], [193, 0, 1, "_CPPv416BreakpointWidget", "BreakpointWidget"], [193, 1, 1, "_CPPv4N16BreakpointWidget16BreakpointWidgetEP10MainWindow", "BreakpointWidget::BreakpointWidget"], [193, 2, 1, "_CPPv4N16BreakpointWidget16BreakpointWidgetEP10MainWindow", "BreakpointWidget::BreakpointWidget::main"], [193, 1, 1, "_CPPv4N16BreakpointWidgetD0Ev", "BreakpointWidget::~BreakpointWidget"], [131, 0, 1, "_CPPv417BreakpointsDialog", "BreakpointsDialog"], [131, 1, 1, "_CPPv4N17BreakpointsDialog17BreakpointsDialogE3RVAP7QWidget", "BreakpointsDialog::BreakpointsDialog"], [131, 1, 1, "_CPPv4N17BreakpointsDialog17BreakpointsDialogERK21BreakpointDescriptionP7QWidget", "BreakpointsDialog::BreakpointsDialog"], [131, 1, 1, "_CPPv4N17BreakpointsDialog17BreakpointsDialogEbP7QWidget", "BreakpointsDialog::BreakpointsDialog"], [131, 2, 1, "_CPPv4N17BreakpointsDialog17BreakpointsDialogE3RVAP7QWidget", "BreakpointsDialog::BreakpointsDialog::address"], [131, 2, 1, "_CPPv4N17BreakpointsDialog17BreakpointsDialogEbP7QWidget", "BreakpointsDialog::BreakpointsDialog::editMode"], [131, 2, 1, "_CPPv4N17BreakpointsDialog17BreakpointsDialogERK21BreakpointDescriptionP7QWidget", "BreakpointsDialog::BreakpointsDialog::editableBreakpoint"], [131, 2, 1, "_CPPv4N17BreakpointsDialog17BreakpointsDialogE3RVAP7QWidget", "BreakpointsDialog::BreakpointsDialog::parent"], [131, 2, 1, "_CPPv4N17BreakpointsDialog17BreakpointsDialogERK21BreakpointDescriptionP7QWidget", "BreakpointsDialog::BreakpointsDialog::parent"], [131, 2, 1, "_CPPv4N17BreakpointsDialog17BreakpointsDialogEbP7QWidget", "BreakpointsDialog::BreakpointsDialog::parent"], [131, 1, 1, "_CPPv4N17BreakpointsDialog19createNewBreakpointE3RVAP7QWidget", "BreakpointsDialog::createNewBreakpoint"], [131, 2, 1, "_CPPv4N17BreakpointsDialog19createNewBreakpointE3RVAP7QWidget", "BreakpointsDialog::createNewBreakpoint::address"], [131, 2, 1, "_CPPv4N17BreakpointsDialog19createNewBreakpointE3RVAP7QWidget", "BreakpointsDialog::createNewBreakpoint::parent"], [131, 1, 1, "_CPPv4N17BreakpointsDialog14editBreakpointERK21BreakpointDescriptionP7QWidget", "BreakpointsDialog::editBreakpoint"], [131, 2, 1, "_CPPv4N17BreakpointsDialog14editBreakpointERK21BreakpointDescriptionP7QWidget", "BreakpointsDialog::editBreakpoint::breakpoint"], [131, 2, 1, "_CPPv4N17BreakpointsDialog14editBreakpointERK21BreakpointDescriptionP7QWidget", "BreakpointsDialog::editBreakpoint::parent"], [131, 1, 1, "_CPPv4N17BreakpointsDialog14getDescriptionEv", "BreakpointsDialog::getDescription"], [131, 1, 1, "_CPPv4N17BreakpointsDialogD0Ev", "BreakpointsDialog::~BreakpointsDialog"], [194, 0, 1, "_CPPv410BufferData", "BufferData"], [194, 1, 1, "_CPPv4N10BufferData10BufferDataERK10QByteArray", "BufferData::BufferData"], [194, 1, 1, "_CPPv4N10BufferData10BufferDataEv", "BufferData::BufferData"], [194, 2, 1, "_CPPv4N10BufferData10BufferDataERK10QByteArray", "BufferData::BufferData::buffer"], [194, 1, 1, "_CPPv4N10BufferData4copyEPv8uint64_t6size_t", "BufferData::copy"], [194, 2, 1, "_CPPv4N10BufferData4copyEPv8uint64_t6size_t", "BufferData::copy::addr"], [194, 2, 1, "_CPPv4N10BufferData4copyEPv8uint64_t6size_t", "BufferData::copy::len"], [194, 2, 1, "_CPPv4N10BufferData4copyEPv8uint64_t6size_t", "BufferData::copy::out"], [194, 1, 1, "_CPPv4N10BufferData5fetchE8uint64_ti", "BufferData::fetch"], [194, 1, 1, "_CPPv4N10BufferData8maxIndexEv", "BufferData::maxIndex"], [194, 1, 1, "_CPPv4N10BufferData5writeEPK7uint8_t8uint64_t6size_t", "BufferData::write"], [194, 2, 1, "_CPPv4N10BufferData5writeEPK7uint8_t8uint64_t6size_t", "BufferData::write::addr"], [194, 2, 1, "_CPPv4N10BufferData5writeEPK7uint8_t8uint64_t6size_t", "BufferData::write::in"], [194, 2, 1, "_CPPv4N10BufferData5writeEPK7uint8_t8uint64_t6size_t", "BufferData::write::len"], [194, 1, 1, "_CPPv4N10BufferDataD0Ev", "BufferData::~BufferData"], [9, 0, 1, "_CPPv4I0E17CachedFontMetrics", "CachedFontMetrics"], [9, 1, 1, "_CPPv4N17CachedFontMetrics17CachedFontMetricsERK5QFont", "CachedFontMetrics::CachedFontMetrics"], [9, 2, 1, "_CPPv4N17CachedFontMetrics17CachedFontMetricsERK5QFont", "CachedFontMetrics::CachedFontMetrics::font"], [9, 4, 1, "_CPPv4I0E17CachedFontMetrics", "CachedFontMetrics::T"], [9, 1, 1, "_CPPv4N17CachedFontMetrics6heightEv", "CachedFontMetrics::height"], [9, 1, 1, "_CPPv4N17CachedFontMetrics8positionERK7QString1T", "CachedFontMetrics::position"], [9, 2, 1, "_CPPv4N17CachedFontMetrics8positionERK7QString1T", "CachedFontMetrics::position::offset"], [9, 2, 1, "_CPPv4N17CachedFontMetrics8positionERK7QString1T", "CachedFontMetrics::position::text"], [9, 1, 1, "_CPPv4N17CachedFontMetrics5widthERK5QChar", "CachedFontMetrics::width"], [9, 1, 1, "_CPPv4N17CachedFontMetrics5widthERK7QString", "CachedFontMetrics::width"], [9, 2, 1, "_CPPv4N17CachedFontMetrics5widthERK5QChar", "CachedFontMetrics::width::ch"], [9, 2, 1, "_CPPv4N17CachedFontMetrics5widthERK7QString", "CachedFontMetrics::width::text"], [195, 0, 1, "_CPPv413CallGraphView", "CallGraphView"], [195, 1, 1, "_CPPv4N13CallGraphView13CallGraphViewEP16CutterDockWidgetP10MainWindowb", "CallGraphView::CallGraphView"], [195, 2, 1, "_CPPv4N13CallGraphView13CallGraphViewEP16CutterDockWidgetP10MainWindowb", "CallGraphView::CallGraphView::global"], [195, 2, 1, "_CPPv4N13CallGraphView13CallGraphViewEP16CutterDockWidgetP10MainWindowb", "CallGraphView::CallGraphView::main"], [195, 2, 1, "_CPPv4N13CallGraphView13CallGraphViewEP16CutterDockWidgetP10MainWindowb", "CallGraphView::CallGraphView::parent"], [195, 1, 1, "_CPPv4N13CallGraphView11refreshViewEv", "CallGraphView::refreshView"], [195, 1, 1, "_CPPv4N13CallGraphView11showAddressE3RVA", "CallGraphView::showAddress"], [195, 2, 1, "_CPPv4N13CallGraphView11showAddressE3RVA", "CallGraphView::showAddress::address"], [195, 1, 1, "_CPPv4N13CallGraphView16showExportDialogEv", "CallGraphView::showExportDialog"], [196, 0, 1, "_CPPv415CallGraphWidget", "CallGraphWidget"], [196, 1, 1, "_CPPv4N15CallGraphWidget15CallGraphWidgetEP10MainWindowb", "CallGraphWidget::CallGraphWidget"], [196, 2, 1, "_CPPv4N15CallGraphWidget15CallGraphWidgetEP10MainWindowb", "CallGraphWidget::CallGraphWidget::global"], [196, 2, 1, "_CPPv4N15CallGraphWidget15CallGraphWidgetEP10MainWindowb", "CallGraphWidget::CallGraphWidget::main"], [196, 1, 1, "_CPPv4NK15CallGraphWidget13getWidgetTypeEv", "CallGraphWidget::getWidgetType"], [196, 1, 1, "_CPPv4N15CallGraphWidgetD0Ev", "CallGraphWidget::~CallGraphWidget"], [92, 0, 1, "_CPPv45Chunk", "Chunk"], [92, 3, 1, "_CPPv4N5Chunk6offsetE", "Chunk::offset"], [92, 3, 1, "_CPPv4N5Chunk4sizeE", "Chunk::size"], [92, 3, 1, "_CPPv4N5Chunk6statusE", "Chunk::status"], [197, 0, 1, "_CPPv412ClassesModel", "ClassesModel"], [197, 6, 1, "_CPPv4N12ClassesModel7Columns5COUNTE", "ClassesModel::COUNT"], [197, 1, 1, "_CPPv4N12ClassesModel12ClassesModelEP7QObject", "ClassesModel::ClassesModel"], [197, 2, 1, "_CPPv4N12ClassesModel12ClassesModelEP7QObject", "ClassesModel::ClassesModel::parent"], [197, 5, 1, "_CPPv4N12ClassesModel7ColumnsE", "ClassesModel::Columns"], [197, 6, 1, "_CPPv4N12ClassesModel7Columns5COUNTE", "ClassesModel::Columns::COUNT"], [197, 6, 1, "_CPPv4N12ClassesModel7Columns4NAMEE", "ClassesModel::Columns::NAME"], [197, 6, 1, "_CPPv4N12ClassesModel7Columns6OFFSETE", "ClassesModel::Columns::OFFSET"], [197, 6, 1, "_CPPv4N12ClassesModel7Columns9REAL_NAMEE", "ClassesModel::Columns::REAL_NAME"], [197, 6, 1, "_CPPv4N12ClassesModel7Columns4TYPEE", "ClassesModel::Columns::TYPE"], [197, 6, 1, "_CPPv4N12ClassesModel7Columns6VTABLEE", "ClassesModel::Columns::VTABLE"], [197, 6, 1, "_CPPv4N12ClassesModel7Columns4NAMEE", "ClassesModel::NAME"], [197, 3, 1, "_CPPv4N12ClassesModel8NameRoleE", "ClassesModel::NameRole"], [197, 6, 1, "_CPPv4N12ClassesModel7Columns6OFFSETE", "ClassesModel::OFFSET"], [197, 3, 1, "_CPPv4N12ClassesModel10OffsetRoleE", "ClassesModel::OffsetRole"], [197, 6, 1, "_CPPv4N12ClassesModel7Columns9REAL_NAMEE", "ClassesModel::REAL_NAME"], [197, 3, 1, "_CPPv4N12ClassesModel12RealNameRoleE", "ClassesModel::RealNameRole"], [197, 5, 1, "_CPPv4N12ClassesModel7RowTypeE", "ClassesModel::RowType"], [197, 6, 1, "_CPPv4N12ClassesModel7RowType4BaseE", "ClassesModel::RowType::Base"], [197, 6, 1, "_CPPv4N12ClassesModel7RowType5ClassE", "ClassesModel::RowType::Class"], [197, 6, 1, "_CPPv4N12ClassesModel7RowType5FieldE", "ClassesModel::RowType::Field"], [197, 6, 1, "_CPPv4N12ClassesModel7RowType6MethodE", "ClassesModel::RowType::Method"], [197, 6, 1, "_CPPv4N12ClassesModel7RowType6VTableE", "ClassesModel::RowType::VTable"], [197, 6, 1, "_CPPv4N12ClassesModel7Columns4TYPEE", "ClassesModel::TYPE"], [197, 3, 1, "_CPPv4N12ClassesModel8TypeRoleE", "ClassesModel::TypeRole"], [197, 6, 1, "_CPPv4N12ClassesModel7Columns6VTABLEE", "ClassesModel::VTABLE"], [197, 3, 1, "_CPPv4N12ClassesModel10VTableRoleE", "ClassesModel::VTableRole"], [197, 1, 1, "_CPPv4NK12ClassesModel7addressERK11QModelIndex", "ClassesModel::address"], [197, 2, 1, "_CPPv4NK12ClassesModel7addressERK11QModelIndex", "ClassesModel::address::index"], [197, 1, 1, "_CPPv4NK12ClassesModel10headerDataEiN2Qt11OrientationEi", "ClassesModel::headerData"], [197, 2, 1, "_CPPv4NK12ClassesModel10headerDataEiN2Qt11OrientationEi", "ClassesModel::headerData::orientation"], [197, 2, 1, "_CPPv4NK12ClassesModel10headerDataEiN2Qt11OrientationEi", "ClassesModel::headerData::role"], [197, 2, 1, "_CPPv4NK12ClassesModel10headerDataEiN2Qt11OrientationEi", "ClassesModel::headerData::section"], [197, 1, 1, "_CPPv4NK12ClassesModel4nameERK11QModelIndex", "ClassesModel::name"], [197, 2, 1, "_CPPv4NK12ClassesModel4nameERK11QModelIndex", "ClassesModel::name::index"], [198, 0, 1, "_CPPv427ClassesSortFilterProxyModel", "ClassesSortFilterProxyModel"], [198, 1, 1, "_CPPv4N27ClassesSortFilterProxyModel27ClassesSortFilterProxyModelEP7QObject", "ClassesSortFilterProxyModel::ClassesSortFilterProxyModel"], [198, 2, 1, "_CPPv4N27ClassesSortFilterProxyModel27ClassesSortFilterProxyModelEP7QObject", "ClassesSortFilterProxyModel::ClassesSortFilterProxyModel::parent"], [199, 0, 1, "_CPPv413ClassesWidget", "ClassesWidget"], [199, 1, 1, "_CPPv4N13ClassesWidget13ClassesWidgetEP10MainWindow", "ClassesWidget::ClassesWidget"], [199, 2, 1, "_CPPv4N13ClassesWidget13ClassesWidgetEP10MainWindow", "ClassesWidget::ClassesWidget::main"], [199, 1, 1, "_CPPv4N13ClassesWidgetD0Ev", "ClassesWidget::~ClassesWidget"], [318, 0, 1, "_CPPv411ColorOption", "ColorOption"], [318, 3, 1, "_CPPv4N11ColorOption7changedE", "ColorOption::changed"], [318, 3, 1, "_CPPv4N11ColorOption5colorE", "ColorOption::color"], [318, 3, 1, "_CPPv4N11ColorOption10optionNameE", "ColorOption::optionName"], [200, 0, 1, "_CPPv419ColorOptionDelegate", "ColorOptionDelegate"], [200, 1, 1, "_CPPv4N19ColorOptionDelegate19ColorOptionDelegateEP7QObject", "ColorOptionDelegate::ColorOptionDelegate"], [200, 2, 1, "_CPPv4N19ColorOptionDelegate19ColorOptionDelegateEP7QObject", "ColorOptionDelegate::ColorOptionDelegate::parent"], [200, 1, 1, "_CPPv4NK19ColorOptionDelegate18getResetButtonRectEv", "ColorOptionDelegate::getResetButtonRect"], [200, 1, 1, "_CPPv4NK19ColorOptionDelegate5paintEP8QPainterRK20QStyleOptionViewItemRK11QModelIndex", "ColorOptionDelegate::paint"], [200, 2, 1, "_CPPv4NK19ColorOptionDelegate5paintEP8QPainterRK20QStyleOptionViewItemRK11QModelIndex", "ColorOptionDelegate::paint::index"], [200, 2, 1, "_CPPv4NK19ColorOptionDelegate5paintEP8QPainterRK20QStyleOptionViewItemRK11QModelIndex", "ColorOptionDelegate::paint::option"], [200, 2, 1, "_CPPv4NK19ColorOptionDelegate5paintEP8QPainterRK20QStyleOptionViewItemRK11QModelIndex", "ColorOptionDelegate::paint::painter"], [200, 1, 1, "_CPPv4NK19ColorOptionDelegate8sizeHintERK20QStyleOptionViewItemRK11QModelIndex", "ColorOptionDelegate::sizeHint"], [200, 2, 1, "_CPPv4NK19ColorOptionDelegate8sizeHintERK20QStyleOptionViewItemRK11QModelIndex", "ColorOptionDelegate::sizeHint::index"], [200, 2, 1, "_CPPv4NK19ColorOptionDelegate8sizeHintERK20QStyleOptionViewItemRK11QModelIndex", "ColorOptionDelegate::sizeHint::option"], [200, 1, 1, "_CPPv4N19ColorOptionDelegateD0Ev", "ColorOptionDelegate::~ColorOptionDelegate"], [201, 0, 1, "_CPPv411ColorPicker", "ColorPicker"], [201, 1, 1, "_CPPv4N11ColorPicker11ColorPickerEP7QWidget", "ColorPicker::ColorPicker"], [201, 2, 1, "_CPPv4N11ColorPicker11ColorPickerEP7QWidget", "ColorPicker::ColorPicker::parent"], [201, 1, 1, "_CPPv4N11ColorPicker19colorChannelChangedEv", "ColorPicker::colorChannelChanged"], [201, 1, 1, "_CPPv4NK11ColorPicker19isPickingFromScreenEv", "ColorPicker::isPickingFromScreen"], [201, 1, 1, "_CPPv4N11ColorPicker15setAlphaEnabledEb", "ColorPicker::setAlphaEnabled"], [201, 2, 1, "_CPPv4N11ColorPicker15setAlphaEnabledEb", "ColorPicker::setAlphaEnabled::enabled"], [201, 1, 1, "_CPPv4N11ColorPicker8setColorERK6QColor", "ColorPicker::setColor"], [201, 2, 1, "_CPPv4N11ColorPicker8setColorERK6QColor", "ColorPicker::setColor::color"], [201, 1, 1, "_CPPv4N11ColorPicker22startPickingFromScreenEv", "ColorPicker::startPickingFromScreen"], [201, 1, 1, "_CPPv4N11ColorPicker21stopPickingFromScreenEv", "ColorPicker::stopPickingFromScreen"], [201, 1, 1, "_CPPv4N11ColorPicker11updateColorERK6QColor", "ColorPicker::updateColor"], [201, 2, 1, "_CPPv4N11ColorPicker11updateColorERK6QColor", "ColorPicker::updateColor::color"], [201, 1, 1, "_CPPv4N11ColorPickerD0Ev", "ColorPicker::~ColorPicker"], [202, 0, 1, "_CPPv4N18ColorPickerHelpers15AlphaChannelBarE", "ColorPickerHelpers::AlphaChannelBar"], [202, 1, 1, "_CPPv4N18ColorPickerHelpers15AlphaChannelBar15AlphaChannelBarEP7QWidget", "ColorPickerHelpers::AlphaChannelBar::AlphaChannelBar"], [202, 2, 1, "_CPPv4N18ColorPickerHelpers15AlphaChannelBar15AlphaChannelBarEP7QWidget", "ColorPickerHelpers::AlphaChannelBar::AlphaChannelBar::parent"], [202, 1, 1, "_CPPv4N18ColorPickerHelpers15AlphaChannelBar8setColorERK6QColor", "ColorPickerHelpers::AlphaChannelBar::setColor"], [202, 2, 1, "_CPPv4N18ColorPickerHelpers15AlphaChannelBar8setColorERK6QColor", "ColorPickerHelpers::AlphaChannelBar::setColor::c"], [203, 0, 1, "_CPPv4N18ColorPickerHelpers13ColorPickAreaE", "ColorPickerHelpers::ColorPickArea"], [203, 1, 1, "_CPPv4N18ColorPickerHelpers13ColorPickArea13ColorPickAreaEP7QWidget", "ColorPickerHelpers::ColorPickArea::ColorPickArea"], [203, 2, 1, "_CPPv4N18ColorPickerHelpers13ColorPickArea13ColorPickAreaEP7QWidget", "ColorPickerHelpers::ColorPickArea::ColorPickArea::parent"], [203, 1, 1, "_CPPv4N18ColorPickerHelpers13ColorPickArea8setColorERK6QColor", "ColorPickerHelpers::ColorPickArea::setColor"], [203, 2, 1, "_CPPv4N18ColorPickerHelpers13ColorPickArea8setColorERK6QColor", "ColorPickerHelpers::ColorPickArea::setColor::c"], [204, 0, 1, "_CPPv4N18ColorPickerHelpers23ColorPickWidgetAbstractE", "ColorPickerHelpers::ColorPickWidgetAbstract"], [204, 1, 1, "_CPPv4N18ColorPickerHelpers23ColorPickWidgetAbstract23ColorPickWidgetAbstractEP7QWidget", "ColorPickerHelpers::ColorPickWidgetAbstract::ColorPickWidgetAbstract"], [204, 2, 1, "_CPPv4N18ColorPickerHelpers23ColorPickWidgetAbstract23ColorPickWidgetAbstractEP7QWidget", "ColorPickerHelpers::ColorPickWidgetAbstract::ColorPickWidgetAbstract::parent"], [204, 1, 1, "_CPPv4N18ColorPickerHelpers23ColorPickWidgetAbstract12colorChangedERK6QColor", "ColorPickerHelpers::ColorPickWidgetAbstract::colorChanged"], [204, 2, 1, "_CPPv4N18ColorPickerHelpers23ColorPickWidgetAbstract12colorChangedERK6QColor", "ColorPickerHelpers::ColorPickWidgetAbstract::colorChanged::color"], [204, 1, 1, "_CPPv4N18ColorPickerHelpers23ColorPickWidgetAbstract8setColorERK6QColor", "ColorPickerHelpers::ColorPickWidgetAbstract::setColor"], [204, 2, 1, "_CPPv4N18ColorPickerHelpers23ColorPickWidgetAbstract8setColorERK6QColor", "ColorPickerHelpers::ColorPickWidgetAbstract::setColor::color"], [204, 1, 1, "_CPPv4N18ColorPickerHelpers23ColorPickWidgetAbstractD0Ev", "ColorPickerHelpers::ColorPickWidgetAbstract::~ColorPickWidgetAbstract"], [205, 0, 1, "_CPPv4N18ColorPickerHelpers17ColorPickerWidgetE", "ColorPickerHelpers::ColorPickerWidget"], [205, 1, 1, "_CPPv4N18ColorPickerHelpers17ColorPickerWidget17ColorPickerWidgetEP7QWidget", "ColorPickerHelpers::ColorPickerWidget::ColorPickerWidget"], [205, 2, 1, "_CPPv4N18ColorPickerHelpers17ColorPickerWidget17ColorPickerWidgetEP7QWidget", "ColorPickerHelpers::ColorPickerWidget::ColorPickerWidget::parent"], [206, 0, 1, "_CPPv4N18ColorPickerHelpers15ColorShowWidgetE", "ColorPickerHelpers::ColorShowWidget"], [206, 1, 1, "_CPPv4N18ColorPickerHelpers15ColorShowWidget15ColorShowWidgetEP7QWidget", "ColorPickerHelpers::ColorShowWidget::ColorShowWidget"], [206, 2, 1, "_CPPv4N18ColorPickerHelpers15ColorShowWidget15ColorShowWidgetEP7QWidget", "ColorPickerHelpers::ColorShowWidget::ColorShowWidget::parent"], [206, 1, 1, "_CPPv4N18ColorPickerHelpers15ColorShowWidget8setColorERK6QColor", "ColorPickerHelpers::ColorShowWidget::setColor"], [206, 2, 1, "_CPPv4N18ColorPickerHelpers15ColorShowWidget8setColorERK6QColor", "ColorPickerHelpers::ColorShowWidget::setColor::c"], [207, 0, 1, "_CPPv4N18ColorPickerHelpers13ColorValueBarE", "ColorPickerHelpers::ColorValueBar"], [207, 1, 1, "_CPPv4N18ColorPickerHelpers13ColorValueBar13ColorValueBarEP7QWidget", "ColorPickerHelpers::ColorValueBar::ColorValueBar"], [207, 2, 1, "_CPPv4N18ColorPickerHelpers13ColorValueBar13ColorValueBarEP7QWidget", "ColorPickerHelpers::ColorValueBar::ColorValueBar::parent"], [207, 1, 1, "_CPPv4N18ColorPickerHelpers13ColorValueBar8setColorERK6QColor", "ColorPickerHelpers::ColorValueBar::setColor"], [207, 2, 1, "_CPPv4N18ColorPickerHelpers13ColorValueBar8setColorERK6QColor", "ColorPickerHelpers::ColorValueBar::setColor::c"], [208, 0, 1, "_CPPv418ColorSettingsModel", "ColorSettingsModel"], [208, 1, 1, "_CPPv4N18ColorSettingsModel18ColorSettingsModelEP7QObject", "ColorSettingsModel::ColorSettingsModel"], [208, 2, 1, "_CPPv4N18ColorSettingsModel18ColorSettingsModelEP7QObject", "ColorSettingsModel::ColorSettingsModel::parent"], [208, 1, 1, "_CPPv4NK18ColorSettingsModel4dataERK11QModelIndexi", "ColorSettingsModel::data"], [208, 2, 1, "_CPPv4NK18ColorSettingsModel4dataERK11QModelIndexi", "ColorSettingsModel::data::index"], [208, 2, 1, "_CPPv4NK18ColorSettingsModel4dataERK11QModelIndexi", "ColorSettingsModel::data::role"], [208, 1, 1, "_CPPv4NK18ColorSettingsModel8getThemeEv", "ColorSettingsModel::getTheme"], [208, 1, 1, "_CPPv4NK18ColorSettingsModel8rowCountERK11QModelIndex", "ColorSettingsModel::rowCount"], [208, 2, 1, "_CPPv4NK18ColorSettingsModel8rowCountERK11QModelIndex", "ColorSettingsModel::rowCount::parent"], [208, 1, 1, "_CPPv4N18ColorSettingsModel7setDataERK11QModelIndexRK8QVarianti", "ColorSettingsModel::setData"], [208, 2, 1, "_CPPv4N18ColorSettingsModel7setDataERK11QModelIndexRK8QVarianti", "ColorSettingsModel::setData::index"], [208, 2, 1, "_CPPv4N18ColorSettingsModel7setDataERK11QModelIndexRK8QVarianti", "ColorSettingsModel::setData::role"], [208, 2, 1, "_CPPv4N18ColorSettingsModel7setDataERK11QModelIndexRK8QVarianti", "ColorSettingsModel::setData::value"], [208, 1, 1, "_CPPv4N18ColorSettingsModel11updateThemeEv", "ColorSettingsModel::updateTheme"], [208, 1, 1, "_CPPv4N18ColorSettingsModelD0Ev", "ColorSettingsModel::~ColorSettingsModel"], [209, 0, 1, "_CPPv418ColorThemeComboBox", "ColorThemeComboBox"], [209, 1, 1, "_CPPv4N18ColorThemeComboBox18ColorThemeComboBoxEP7QWidget", "ColorThemeComboBox::ColorThemeComboBox"], [209, 2, 1, "_CPPv4N18ColorThemeComboBox18ColorThemeComboBoxEP7QWidget", "ColorThemeComboBox::ColorThemeComboBox::parent"], [209, 1, 1, "_CPPv4N18ColorThemeComboBox17setShowOnlyCustomEb", "ColorThemeComboBox::setShowOnlyCustom"], [209, 2, 1, "_CPPv4N18ColorThemeComboBox17setShowOnlyCustomEb", "ColorThemeComboBox::setShowOnlyCustom::value"], [209, 1, 1, "_CPPv4N18ColorThemeComboBox16updateFromConfigEb", "ColorThemeComboBox::updateFromConfig"], [209, 2, 1, "_CPPv4N18ColorThemeComboBox16updateFromConfigEb", "ColorThemeComboBox::updateFromConfig::interfaceThemeChanged"], [210, 0, 1, "_CPPv418ColorThemeListView", "ColorThemeListView"], [210, 1, 1, "_CPPv4N18ColorThemeListView18ColorThemeListViewEP7QWidget", "ColorThemeListView::ColorThemeListView"], [210, 2, 1, "_CPPv4N18ColorThemeListView18ColorThemeListViewEP7QWidget", "ColorThemeListView::ColorThemeListView::parent"], [210, 1, 1, "_CPPv4N18ColorThemeListView5blinkEv", "ColorThemeListView::blink"], [210, 1, 1, "_CPPv4NK18ColorThemeListView18colorSettingsModelEv", "ColorThemeListView::colorSettingsModel"], [210, 1, 1, "_CPPv4N18ColorThemeListView11dataChangedERK11ColorOption", "ColorThemeListView::dataChanged"], [210, 2, 1, "_CPPv4N18ColorThemeListView11dataChangedERK11ColorOption", "ColorThemeListView::dataChanged::data"], [210, 1, 1, "_CPPv4N18ColorThemeListView11itemChangedERK6QColor", "ColorThemeListView::itemChanged"], [210, 2, 1, "_CPPv4N18ColorThemeListView11itemChangedERK6QColor", "ColorThemeListView::itemChanged::option"], [210, 1, 1, "_CPPv4N18ColorThemeListViewD0Ev", "ColorThemeListView::~ColorThemeListView"], [10, 0, 1, "_CPPv416ColorThemeWorker", "ColorThemeWorker"], [10, 7, 1, "_CPPv4N16ColorThemeWorker5ThemeE", "ColorThemeWorker::Theme"], [10, 1, 1, "_CPPv4NK16ColorThemeWorker4copyERK7QStringRK7QString", "ColorThemeWorker::copy"], [10, 2, 1, "_CPPv4NK16ColorThemeWorker4copyERK7QStringRK7QString", "ColorThemeWorker::copy::copyThemeName"], [10, 2, 1, "_CPPv4NK16ColorThemeWorker4copyERK7QStringRK7QString", "ColorThemeWorker::copy::srcThemeName"], [10, 1, 1, "_CPPv4NK16ColorThemeWorker12customThemesEv", "ColorThemeWorker::customThemes"], [10, 3, 1, "_CPPv4N16ColorThemeWorker21cutterSpecificOptionsE", "ColorThemeWorker::cutterSpecificOptions"], [10, 1, 1, "_CPPv4NK16ColorThemeWorker11deleteThemeERK7QString", "ColorThemeWorker::deleteTheme"], [10, 2, 1, "_CPPv4NK16ColorThemeWorker11deleteThemeERK7QString", "ColorThemeWorker::deleteTheme::themeName"], [10, 1, 1, "_CPPv4N16ColorThemeWorker19getCustomThemesPathEv", "ColorThemeWorker::getCustomThemesPath"], [10, 1, 1, "_CPPv4N16ColorThemeWorker23getRizinSpecificOptionsEv", "ColorThemeWorker::getRizinSpecificOptions"], [10, 1, 1, "_CPPv4N16ColorThemeWorker21getStandardThemesPathEv", "ColorThemeWorker::getStandardThemesPath"], [10, 1, 1, "_CPPv4NK16ColorThemeWorker8getThemeERK7QString", "ColorThemeWorker::getTheme"], [10, 2, 1, "_CPPv4NK16ColorThemeWorker8getThemeERK7QString", "ColorThemeWorker::getTheme::themeName"], [10, 1, 1, "_CPPv4NK16ColorThemeWorker11importThemeERK7QString", "ColorThemeWorker::importTheme"], [10, 2, 1, "_CPPv4NK16ColorThemeWorker11importThemeERK7QString", "ColorThemeWorker::importTheme::file"], [10, 1, 1, "_CPPv4N16ColorThemeWorker8instanceEv", "ColorThemeWorker::instance"], [10, 1, 1, "_CPPv4NK16ColorThemeWorker13isCustomThemeERK7QString", "ColorThemeWorker::isCustomTheme"], [10, 2, 1, "_CPPv4NK16ColorThemeWorker13isCustomThemeERK7QString", "ColorThemeWorker::isCustomTheme::themeName"], [10, 1, 1, "_CPPv4NK16ColorThemeWorker11isFileThemeERK7QStringPb", "ColorThemeWorker::isFileTheme"], [10, 2, 1, "_CPPv4NK16ColorThemeWorker11isFileThemeERK7QStringPb", "ColorThemeWorker::isFileTheme::filePath"], [10, 2, 1, "_CPPv4NK16ColorThemeWorker11isFileThemeERK7QStringPb", "ColorThemeWorker::isFileTheme::ok"], [10, 1, 1, "_CPPv4NK16ColorThemeWorker12isThemeExistERK7QString", "ColorThemeWorker::isThemeExist"], [10, 2, 1, "_CPPv4NK16ColorThemeWorker12isThemeExistERK7QString", "ColorThemeWorker::isThemeExist::name"], [10, 1, 1, "_CPPv4NK16ColorThemeWorker11renameThemeERK7QStringRK7QString", "ColorThemeWorker::renameTheme"], [10, 2, 1, "_CPPv4NK16ColorThemeWorker11renameThemeERK7QStringRK7QString", "ColorThemeWorker::renameTheme::newName"], [10, 2, 1, "_CPPv4NK16ColorThemeWorker11renameThemeERK7QStringRK7QString", "ColorThemeWorker::renameTheme::themeName"], [10, 3, 1, "_CPPv4N16ColorThemeWorker18rizinUnusedOptionsE", "ColorThemeWorker::rizinUnusedOptions"], [10, 1, 1, "_CPPv4NK16ColorThemeWorker4saveERK5ThemeRK7QString", "ColorThemeWorker::save"], [10, 2, 1, "_CPPv4NK16ColorThemeWorker4saveERK5ThemeRK7QString", "ColorThemeWorker::save::theme"], [10, 2, 1, "_CPPv4NK16ColorThemeWorker4saveERK5ThemeRK7QString", "ColorThemeWorker::save::themeName"], [10, 1, 1, "_CPPv4N16ColorThemeWorkerD0Ev", "ColorThemeWorker::~ColorThemeWorker"], [11, 0, 1, "_CPPv46Colors", "Colors"], [11, 1, 1, "_CPPv4N6Colors6ColorsEv", "Colors::Colors"], [11, 1, 1, "_CPPv4N6Colors16colorizeAssemblyERN15RichTextPainter4ListE7QString4ut64", "Colors::colorizeAssembly"], [11, 2, 1, "_CPPv4N6Colors16colorizeAssemblyERN15RichTextPainter4ListE7QString4ut64", "Colors::colorizeAssembly::list"], [11, 2, 1, "_CPPv4N6Colors16colorizeAssemblyERN15RichTextPainter4ListE7QString4ut64", "Colors::colorizeAssembly::opcode"], [11, 2, 1, "_CPPv4N6Colors16colorizeAssemblyERN15RichTextPainter4ListE7QString4ut64", "Colors::colorizeAssembly::type_num"], [11, 1, 1, "_CPPv4N6Colors8getColorE4ut64", "Colors::getColor"], [11, 2, 1, "_CPPv4N6Colors8getColorE4ut64", "Colors::getColor::type"], [211, 0, 1, "_CPPv420ComboQuickFilterView", "ComboQuickFilterView"], [211, 1, 1, "_CPPv4N20ComboQuickFilterView20ComboQuickFilterViewEP7QWidget", "ComboQuickFilterView::ComboQuickFilterView"], [211, 2, 1, "_CPPv4N20ComboQuickFilterView20ComboQuickFilterViewEP7QWidget", "ComboQuickFilterView::ComboQuickFilterView::parent"], [211, 1, 1, "_CPPv4N20ComboQuickFilterView11clearFilterEv", "ComboQuickFilterView::clearFilter"], [211, 1, 1, "_CPPv4N20ComboQuickFilterView11closeFilterEv", "ComboQuickFilterView::closeFilter"], [211, 1, 1, "_CPPv4N20ComboQuickFilterView8comboBoxEv", "ComboQuickFilterView::comboBox"], [211, 1, 1, "_CPPv4N20ComboQuickFilterView12filterClosedEv", "ComboQuickFilterView::filterClosed"], [211, 1, 1, "_CPPv4N20ComboQuickFilterView17filterTextChangedERK7QString", "ComboQuickFilterView::filterTextChanged"], [211, 2, 1, "_CPPv4N20ComboQuickFilterView17filterTextChangedERK7QString", "ComboQuickFilterView::filterTextChanged::text"], [211, 1, 1, "_CPPv4N20ComboQuickFilterView12setLabelTextERK7QString", "ComboQuickFilterView::setLabelText"], [211, 2, 1, "_CPPv4N20ComboQuickFilterView12setLabelTextERK7QString", "ComboQuickFilterView::setLabelText::text"], [211, 1, 1, "_CPPv4N20ComboQuickFilterView10showFilterEv", "ComboQuickFilterView::showFilter"], [211, 1, 1, "_CPPv4N20ComboQuickFilterViewD0Ev", "ComboQuickFilterView::~ComboQuickFilterView"], [49, 0, 1, "_CPPv418CommandDescription", "CommandDescription"], [49, 3, 1, "_CPPv4N18CommandDescription7commandE", "CommandDescription::command"], [49, 3, 1, "_CPPv4N18CommandDescription11descriptionE", "CommandDescription::description"], [12, 0, 1, "_CPPv411CommandTask", "CommandTask"], [12, 5, 1, "_CPPv4N11CommandTask9ColorModeE", "CommandTask::ColorMode"], [12, 6, 1, "_CPPv4N11CommandTask9ColorMode8DISABLEDE", "CommandTask::ColorMode::DISABLED"], [12, 6, 1, "_CPPv4N11CommandTask9ColorMode7MODE_16E", "CommandTask::ColorMode::MODE_16"], [12, 6, 1, "_CPPv4N11CommandTask9ColorMode8MODE_16ME", "CommandTask::ColorMode::MODE_16M"], [12, 6, 1, "_CPPv4N11CommandTask9ColorMode8MODE_256E", "CommandTask::ColorMode::MODE_256"], [12, 1, 1, "_CPPv4N11CommandTask11CommandTaskERK7QString9ColorMode", "CommandTask::CommandTask"], [12, 2, 1, "_CPPv4N11CommandTask11CommandTaskERK7QString9ColorMode", "CommandTask::CommandTask::cmd"], [12, 2, 1, "_CPPv4N11CommandTask11CommandTaskERK7QString9ColorMode", "CommandTask::CommandTask::colorMode"], [12, 6, 1, "_CPPv4N11CommandTask9ColorMode8DISABLEDE", "CommandTask::DISABLED"], [12, 6, 1, "_CPPv4N11CommandTask9ColorMode7MODE_16E", "CommandTask::MODE_16"], [12, 6, 1, "_CPPv4N11CommandTask9ColorMode8MODE_16ME", "CommandTask::MODE_16M"], [12, 6, 1, "_CPPv4N11CommandTask9ColorMode8MODE_256E", "CommandTask::MODE_256"], [12, 1, 1, "_CPPv4N11CommandTask8finishedERK7QString", "CommandTask::finished"], [12, 2, 1, "_CPPv4N11CommandTask8finishedERK7QString", "CommandTask::finished::result"], [12, 1, 1, "_CPPv4N11CommandTask8getTitleEv", "CommandTask::getTitle"], [93, 0, 1, "_CPPv418CommentDescription", "CommentDescription"], [93, 3, 1, "_CPPv4N18CommentDescription4nameE", "CommentDescription::name"], [93, 3, 1, "_CPPv4N18CommentDescription6offsetE", "CommentDescription::offset"], [319, 0, 1, "_CPPv412CommentGroup", "CommentGroup"], [319, 3, 1, "_CPPv4N12CommentGroup8commentsE", "CommentGroup::comments"], [319, 3, 1, "_CPPv4N12CommentGroup4nameE", "CommentGroup::name"], [319, 3, 1, "_CPPv4N12CommentGroup6offsetE", "CommentGroup::offset"], [132, 0, 1, "_CPPv414CommentsDialog", "CommentsDialog"], [132, 1, 1, "_CPPv4N14CommentsDialog14CommentsDialogEP7QWidget", "CommentsDialog::CommentsDialog"], [132, 2, 1, "_CPPv4N14CommentsDialog14CommentsDialogEP7QWidget", "CommentsDialog::CommentsDialog::parent"], [132, 1, 1, "_CPPv4N14CommentsDialog16addOrEditCommentE3RVAP7QWidget", "CommentsDialog::addOrEditComment"], [132, 2, 1, "_CPPv4N14CommentsDialog16addOrEditCommentE3RVAP7QWidget", "CommentsDialog::addOrEditComment::offset"], [132, 2, 1, "_CPPv4N14CommentsDialog16addOrEditCommentE3RVAP7QWidget", "CommentsDialog::addOrEditComment::parent"], [132, 1, 1, "_CPPv4N14CommentsDialog10getCommentEv", "CommentsDialog::getComment"], [132, 1, 1, "_CPPv4N14CommentsDialog10setCommentERK7QString", "CommentsDialog::setComment"], [132, 2, 1, "_CPPv4N14CommentsDialog10setCommentERK7QString", "CommentsDialog::setComment::comment"], [132, 1, 1, "_CPPv4N14CommentsDialogD0Ev", "CommentsDialog::~CommentsDialog"], [212, 0, 1, "_CPPv413CommentsModel", "CommentsModel"], [212, 5, 1, "_CPPv4N13CommentsModel6ColumnE", "CommentsModel::Column"], [212, 6, 1, "_CPPv4N13CommentsModel6Column11ColumnCountE", "CommentsModel::Column::ColumnCount"], [212, 6, 1, "_CPPv4N13CommentsModel6Column13CommentColumnE", "CommentsModel::Column::CommentColumn"], [212, 6, 1, "_CPPv4N13CommentsModel6Column14FunctionColumnE", "CommentsModel::Column::FunctionColumn"], [212, 6, 1, "_CPPv4N13CommentsModel6Column12OffsetColumnE", "CommentsModel::Column::OffsetColumn"], [212, 6, 1, "_CPPv4N13CommentsModel6Column11ColumnCountE", "CommentsModel::ColumnCount"], [212, 6, 1, "_CPPv4N13CommentsModel6Column13CommentColumnE", "CommentsModel::CommentColumn"], [212, 6, 1, "_CPPv4N13CommentsModel4Role22CommentDescriptionRoleE", "CommentsModel::CommentDescriptionRole"], [212, 6, 1, "_CPPv4N13CommentsModel12NestedColumn19CommentNestedColumnE", "CommentsModel::CommentNestedColumn"], [212, 1, 1, "_CPPv4N13CommentsModel13CommentsModelEP5QListI18CommentDescriptionEP5QListI12CommentGroupEP7QObject", "CommentsModel::CommentsModel"], [212, 2, 1, "_CPPv4N13CommentsModel13CommentsModelEP5QListI18CommentDescriptionEP5QListI12CommentGroupEP7QObject", "CommentsModel::CommentsModel::comments"], [212, 2, 1, "_CPPv4N13CommentsModel13CommentsModelEP5QListI18CommentDescriptionEP5QListI12CommentGroupEP7QObject", "CommentsModel::CommentsModel::nestedComments"], [212, 2, 1, "_CPPv4N13CommentsModel13CommentsModelEP5QListI18CommentDescriptionEP5QListI12CommentGroupEP7QObject", "CommentsModel::CommentsModel::parent"], [212, 6, 1, "_CPPv4N13CommentsModel6Column14FunctionColumnE", "CommentsModel::FunctionColumn"], [212, 6, 1, "_CPPv4N13CommentsModel4Role12FunctionRoleE", "CommentsModel::FunctionRole"], [212, 5, 1, "_CPPv4N13CommentsModel12NestedColumnE", "CommentsModel::NestedColumn"], [212, 6, 1, "_CPPv4N13CommentsModel12NestedColumn19CommentNestedColumnE", "CommentsModel::NestedColumn::CommentNestedColumn"], [212, 6, 1, "_CPPv4N13CommentsModel12NestedColumn17NestedColumnCountE", "CommentsModel::NestedColumn::NestedColumnCount"], [212, 6, 1, "_CPPv4N13CommentsModel12NestedColumn18OffsetNestedColumnE", "CommentsModel::NestedColumn::OffsetNestedColumn"], [212, 6, 1, "_CPPv4N13CommentsModel12NestedColumn17NestedColumnCountE", "CommentsModel::NestedColumnCount"], [212, 6, 1, "_CPPv4N13CommentsModel6Column12OffsetColumnE", "CommentsModel::OffsetColumn"], [212, 6, 1, "_CPPv4N13CommentsModel12NestedColumn18OffsetNestedColumnE", "CommentsModel::OffsetNestedColumn"], [212, 5, 1, "_CPPv4N13CommentsModel4RoleE", "CommentsModel::Role"], [212, 6, 1, "_CPPv4N13CommentsModel4Role22CommentDescriptionRoleE", "CommentsModel::Role::CommentDescriptionRole"], [212, 6, 1, "_CPPv4N13CommentsModel4Role12FunctionRoleE", "CommentsModel::Role::FunctionRole"], [212, 1, 1, "_CPPv4NK13CommentsModel7addressERK11QModelIndex", "CommentsModel::address"], [212, 2, 1, "_CPPv4NK13CommentsModel7addressERK11QModelIndex", "CommentsModel::address::index"], [212, 1, 1, "_CPPv4NK13CommentsModel11columnCountERK11QModelIndex", "CommentsModel::columnCount"], [212, 2, 1, "_CPPv4NK13CommentsModel11columnCountERK11QModelIndex", "CommentsModel::columnCount::parent"], [212, 1, 1, "_CPPv4NK13CommentsModel4dataERK11QModelIndexi", "CommentsModel::data"], [212, 2, 1, "_CPPv4NK13CommentsModel4dataERK11QModelIndexi", "CommentsModel::data::index"], [212, 2, 1, "_CPPv4NK13CommentsModel4dataERK11QModelIndexi", "CommentsModel::data::role"], [212, 1, 1, "_CPPv4NK13CommentsModel10headerDataEiN2Qt11OrientationEi", "CommentsModel::headerData"], [212, 2, 1, "_CPPv4NK13CommentsModel10headerDataEiN2Qt11OrientationEi", "CommentsModel::headerData::orientation"], [212, 2, 1, "_CPPv4NK13CommentsModel10headerDataEiN2Qt11OrientationEi", "CommentsModel::headerData::role"], [212, 2, 1, "_CPPv4NK13CommentsModel10headerDataEiN2Qt11OrientationEi", "CommentsModel::headerData::section"], [212, 1, 1, "_CPPv4NK13CommentsModel5indexEiiRK11QModelIndex", "CommentsModel::index"], [212, 2, 1, "_CPPv4NK13CommentsModel5indexEiiRK11QModelIndex", "CommentsModel::index::column"], [212, 2, 1, "_CPPv4NK13CommentsModel5indexEiiRK11QModelIndex", "CommentsModel::index::parent"], [212, 2, 1, "_CPPv4NK13CommentsModel5indexEiiRK11QModelIndex", "CommentsModel::index::row"], [212, 1, 1, "_CPPv4NK13CommentsModel8isNestedEv", "CommentsModel::isNested"], [212, 1, 1, "_CPPv4NK13CommentsModel6parentERK11QModelIndex", "CommentsModel::parent"], [212, 2, 1, "_CPPv4NK13CommentsModel6parentERK11QModelIndex", "CommentsModel::parent::index"], [212, 1, 1, "_CPPv4NK13CommentsModel8rowCountERK11QModelIndex", "CommentsModel::rowCount"], [212, 2, 1, "_CPPv4NK13CommentsModel8rowCountERK11QModelIndex", "CommentsModel::rowCount::parent"], [212, 1, 1, "_CPPv4N13CommentsModel9setNestedEb", "CommentsModel::setNested"], [212, 2, 1, "_CPPv4N13CommentsModel9setNestedEb", "CommentsModel::setNested::nested"], [213, 0, 1, "_CPPv418CommentsProxyModel", "CommentsProxyModel"], [213, 1, 1, "_CPPv4N18CommentsProxyModel18CommentsProxyModelEP13CommentsModelP7QObject", "CommentsProxyModel::CommentsProxyModel"], [213, 2, 1, "_CPPv4N18CommentsProxyModel18CommentsProxyModelEP13CommentsModelP7QObject", "CommentsProxyModel::CommentsProxyModel::parent"], [213, 2, 1, "_CPPv4N18CommentsProxyModel18CommentsProxyModelEP13CommentsModelP7QObject", "CommentsProxyModel::CommentsProxyModel::sourceModel"], [214, 0, 1, "_CPPv414CommentsWidget", "CommentsWidget"], [214, 1, 1, "_CPPv4N14CommentsWidget14CommentsWidgetEP10MainWindow", "CommentsWidget::CommentsWidget"], [214, 2, 1, "_CPPv4N14CommentsWidget14CommentsWidgetEP10MainWindow", "CommentsWidget::CommentsWidget::main"], [214, 1, 1, "_CPPv4N14CommentsWidgetD0Ev", "CommentsWidget::~CommentsWidget"], [13, 0, 1, "_CPPv413Configuration", "Configuration"], [13, 1, 1, "_CPPv4N13Configuration16addRecentProjectE7QString", "Configuration::addRecentProject"], [13, 2, 1, "_CPPv4N13Configuration16addRecentProjectE7QString", "Configuration::addRecentProject::file"], [13, 1, 1, "_CPPv4N13Configuration24adjustColorThemeDarknessEv", "Configuration::adjustColorThemeDarkness"], [13, 1, 1, "_CPPv4NK13Configuration18colorThemeDarknessERK7QString", "Configuration::colorThemeDarkness"], [13, 2, 1, "_CPPv4NK13Configuration18colorThemeDarknessERK7QString", "Configuration::colorThemeDarkness::colorTheme"], [13, 1, 1, "_CPPv4N13Configuration13colorsUpdatedEv", "Configuration::colorsUpdated"], [13, 1, 1, "_CPPv4N13Configuration23createSyntaxHighlighterEP13QTextDocument", "Configuration::createSyntaxHighlighter"], [13, 2, 1, "_CPPv4N13Configuration23createSyntaxHighlighterEP13QTextDocument", "Configuration::createSyntaxHighlighter::document"], [13, 1, 1, "_CPPv4N13Configuration25cutterInterfaceThemesListEv", "Configuration::cutterInterfaceThemesList"], [13, 3, 1, "_CPPv4N13Configuration18cutterOptionColorsE", "Configuration::cutterOptionColors"], [13, 1, 1, "_CPPv4N13Configuration37enableDecompilerAnnotationHighlighterEb", "Configuration::enableDecompilerAnnotationHighlighter"], [13, 2, 1, "_CPPv4N13Configuration37enableDecompilerAnnotationHighlighterEb", "Configuration::enableDecompilerAnnotationHighlighter::useDecompilerHighlighter"], [13, 1, 1, "_CPPv4N13Configuration12fontsUpdatedEv", "Configuration::fontsUpdated"], [13, 1, 1, "_CPPv4NK13Configuration20getAutoUpdateEnabledEv", "Configuration::getAutoUpdateEnabled"], [13, 1, 1, "_CPPv4N13Configuration24getAvailableTranslationsEv", "Configuration::getAvailableTranslations"], [13, 1, 1, "_CPPv4NK13Configuration11getBaseFontEv", "Configuration::getBaseFont"], [13, 1, 1, "_CPPv4N13Configuration26getBitmapExportScaleFactorEv", "Configuration::getBitmapExportScaleFactor"], [13, 1, 1, "_CPPv4N13Configuration25getBitmapTransparentStateEv", "Configuration::getBitmapTransparentState"], [13, 1, 1, "_CPPv4NK13Configuration8getColorERK7QString", "Configuration::getColor"], [13, 2, 1, "_CPPv4NK13Configuration8getColorERK7QString", "Configuration::getColor::name"], [13, 1, 1, "_CPPv4NK13Configuration13getColorThemeEv", "Configuration::getColorTheme"], [13, 1, 1, "_CPPv4N13Configuration13getConfigBoolERK7QString", "Configuration::getConfigBool"], [13, 2, 1, "_CPPv4N13Configuration13getConfigBoolERK7QString", "Configuration::getConfigBool::key"], [13, 1, 1, "_CPPv4N13Configuration12getConfigIntERK7QString", "Configuration::getConfigInt"], [13, 2, 1, "_CPPv4N13Configuration12getConfigIntERK7QString", "Configuration::getConfigInt::key"], [13, 1, 1, "_CPPv4N13Configuration15getConfigStringERK7QString", "Configuration::getConfigString"], [13, 2, 1, "_CPPv4N13Configuration15getConfigStringERK7QString", "Configuration::getConfigString::key"], [13, 1, 1, "_CPPv4N13Configuration12getConfigVarERK7QString", "Configuration::getConfigVar"], [13, 2, 1, "_CPPv4N13Configuration12getConfigVarERK7QString", "Configuration::getConfigVar::key"], [13, 1, 1, "_CPPv4NK13Configuration13getCurrLocaleEv", "Configuration::getCurrLocale"], [13, 1, 1, "_CPPv4N13Configuration15getCurrentThemeEv", "Configuration::getCurrentTheme"], [13, 1, 1, "_CPPv4N13Configuration31getDecompilerAutoRefreshEnabledEv", "Configuration::getDecompilerAutoRefreshEnabled"], [13, 1, 1, "_CPPv4NK13Configuration7getFontEv", "Configuration::getFont"], [13, 1, 1, "_CPPv4N13Configuration24getFunctionsWidgetLayoutEv", "Configuration::getFunctionsWidgetLayout"], [13, 1, 1, "_CPPv4N13Configuration24getGraphBlockEntryOffsetEv", "Configuration::getGraphBlockEntryOffset"], [13, 1, 1, "_CPPv4NK13Configuration21getGraphBlockMaxCharsEv", "Configuration::getGraphBlockMaxChars"], [13, 1, 1, "_CPPv4N13Configuration20getGraphBlockSpacingEv", "Configuration::getGraphBlockSpacing"], [13, 1, 1, "_CPPv4N13Configuration19getGraphEdgeSpacingEv", "Configuration::getGraphEdgeSpacing"], [13, 1, 1, "_CPPv4NK13Configuration19getGraphMinFontSizeEv", "Configuration::getGraphMinFontSize"], [13, 1, 1, "_CPPv4N13Configuration15getGraphPreviewEv", "Configuration::getGraphPreview"], [13, 1, 1, "_CPPv4N13Configuration17getInterfaceThemeEv", "Configuration::getInterfaceTheme"], [13, 1, 1, "_CPPv4NK13Configuration14getLastThemeOfERK20CutterInterfaceTheme", "Configuration::getLastThemeOf"], [13, 2, 1, "_CPPv4NK13Configuration14getLastThemeOfERK20CutterInterfaceTheme", "Configuration::getLastThemeOf::currInterfaceTheme"], [13, 1, 1, "_CPPv4N13Configuration11getLogoFileEv", "Configuration::getLogoFile"], [13, 1, 1, "_CPPv4N13Configuration21getNewFileLastClickedEv", "Configuration::getNewFileLastClicked"], [13, 1, 1, "_CPPv4NK13Configuration27getOutputRedirectionEnabledEv", "Configuration::getOutputRedirectionEnabled"], [13, 1, 1, "_CPPv4NK13Configuration15getPreviewValueEv", "Configuration::getPreviewValue"], [13, 1, 1, "_CPPv4NK13Configuration14getRecentFilesEv", "Configuration::getRecentFiles"], [13, 1, 1, "_CPPv4N13Configuration15getRecentFolderEv", "Configuration::getRecentFolder"], [13, 1, 1, "_CPPv4NK13Configuration17getRecentProjectsEv", "Configuration::getRecentProjects"], [13, 1, 1, "_CPPv4N13Configuration21getSelectedDecompilerEv", "Configuration::getSelectedDecompiler"], [13, 1, 1, "_CPPv4NK13Configuration18getShowVarTooltipsEv", "Configuration::getShowVarTooltips"], [13, 1, 1, "_CPPv4NK13Configuration13getZoomFactorEv", "Configuration::getZoomFactor"], [13, 1, 1, "_CPPv4N13Configuration8instanceEv", "Configuration::instance"], [13, 1, 1, "_CPPv4N13Configuration21interfaceThemeChangedEv", "Configuration::interfaceThemeChanged"], [13, 1, 1, "_CPPv4N13Configuration40isDecompilerAnnotationHighlighterEnabledEv", "Configuration::isDecompilerAnnotationHighlighterEnabled"], [13, 1, 1, "_CPPv4N13Configuration16isFirstExecutionEv", "Configuration::isFirstExecution"], [13, 1, 1, "_CPPv4N13Configuration11loadInitialEv", "Configuration::loadInitial"], [13, 1, 1, "_CPPv4N13Configuration18nativeWindowIsDarkEv", "Configuration::nativeWindowIsDark"], [13, 1, 1, "_CPPv4N13Configuration11refreshFontEv", "Configuration::refreshFont"], [13, 3, 1, "_CPPv4N13Configuration14relevantThemesE", "Configuration::relevantThemes"], [13, 1, 1, "_CPPv4N13Configuration8resetAllEv", "Configuration::resetAll"], [13, 1, 1, "_CPPv4N13Configuration24resetToDefaultAsmOptionsEv", "Configuration::resetToDefaultAsmOptions"], [13, 1, 1, "_CPPv4N13Configuration20setAutoUpdateEnabledEb", "Configuration::setAutoUpdateEnabled"], [13, 2, 1, "_CPPv4N13Configuration20setAutoUpdateEnabledEb", "Configuration::setAutoUpdateEnabled::au"], [13, 1, 1, "_CPPv4N13Configuration26setBitmapExportScaleFactorEd", "Configuration::setBitmapExportScaleFactor"], [13, 2, 1, "_CPPv4N13Configuration26setBitmapExportScaleFactorEd", "Configuration::setBitmapExportScaleFactor::inputValueGraph"], [13, 1, 1, "_CPPv4N13Configuration25setBitmapTransparentStateEb", "Configuration::setBitmapTransparentState"], [13, 2, 1, "_CPPv4N13Configuration25setBitmapTransparentStateEb", "Configuration::setBitmapTransparentState::inputValueGraph"], [13, 1, 1, "_CPPv4N13Configuration8setColorERK7QStringRK6QColor", "Configuration::setColor"], [13, 2, 1, "_CPPv4N13Configuration8setColorERK7QStringRK6QColor", "Configuration::setColor::color"], [13, 2, 1, "_CPPv4N13Configuration8setColorERK7QStringRK6QColor", "Configuration::setColor::name"], [13, 1, 1, "_CPPv4N13Configuration13setColorThemeERK7QString", "Configuration::setColorTheme"], [13, 2, 1, "_CPPv4N13Configuration13setColorThemeERK7QString", "Configuration::setColorTheme::theme"], [13, 1, 1, "_CPPv4N13Configuration9setConfigERK7QStringRK8QVariant", "Configuration::setConfig"], [13, 2, 1, "_CPPv4N13Configuration9setConfigERK7QStringRK8QVariant", "Configuration::setConfig::key"], [13, 2, 1, "_CPPv4N13Configuration9setConfigERK7QStringRK8QVariant", "Configuration::setConfig::value"], [13, 1, 1, "_CPPv4N13Configuration31setDecompilerAutoRefreshEnabledEb", "Configuration::setDecompilerAutoRefreshEnabled"], [13, 2, 1, "_CPPv4N13Configuration31setDecompilerAutoRefreshEnabledEb", "Configuration::setDecompilerAutoRefreshEnabled::enabled"], [13, 1, 1, "_CPPv4N13Configuration7setFontERK5QFont", "Configuration::setFont"], [13, 2, 1, "_CPPv4N13Configuration7setFontERK5QFont", "Configuration::setFont::font"], [13, 1, 1, "_CPPv4N13Configuration24setFunctionsWidgetLayoutERK7QString", "Configuration::setFunctionsWidgetLayout"], [13, 2, 1, "_CPPv4N13Configuration24setFunctionsWidgetLayoutERK7QString", "Configuration::setFunctionsWidgetLayout::layout"], [13, 1, 1, "_CPPv4N13Configuration24setGraphBlockEntryOffsetEb", "Configuration::setGraphBlockEntryOffset"], [13, 2, 1, "_CPPv4N13Configuration24setGraphBlockEntryOffsetEb", "Configuration::setGraphBlockEntryOffset::enabled"], [13, 1, 1, "_CPPv4N13Configuration21setGraphBlockMaxCharsEi", "Configuration::setGraphBlockMaxChars"], [13, 2, 1, "_CPPv4N13Configuration21setGraphBlockMaxCharsEi", "Configuration::setGraphBlockMaxChars::ch"], [13, 1, 1, "_CPPv4N13Configuration19setGraphMinFontSizeEi", "Configuration::setGraphMinFontSize"], [13, 2, 1, "_CPPv4N13Configuration19setGraphMinFontSizeEi", "Configuration::setGraphMinFontSize::sz"], [13, 1, 1, "_CPPv4N13Configuration15setGraphPreviewEb", "Configuration::setGraphPreview"], [13, 2, 1, "_CPPv4N13Configuration15setGraphPreviewEb", "Configuration::setGraphPreview::checked"], [13, 1, 1, "_CPPv4N13Configuration15setGraphSpacingE6QPoint6QPoint", "Configuration::setGraphSpacing"], [13, 2, 1, "_CPPv4N13Configuration15setGraphSpacingE6QPoint6QPoint", "Configuration::setGraphSpacing::blockSpacing"], [13, 2, 1, "_CPPv4N13Configuration15setGraphSpacingE6QPoint6QPoint", "Configuration::setGraphSpacing::edgeSpacing"], [13, 1, 1, "_CPPv4N13Configuration17setInterfaceThemeEi", "Configuration::setInterfaceTheme"], [13, 2, 1, "_CPPv4N13Configuration17setInterfaceThemeEi", "Configuration::setInterfaceTheme::theme"], [13, 1, 1, "_CPPv4N13Configuration14setLastThemeOfERK20CutterInterfaceThemeRK7QString", "Configuration::setLastThemeOf"], [13, 2, 1, "_CPPv4N13Configuration14setLastThemeOfERK20CutterInterfaceThemeRK7QString", "Configuration::setLastThemeOf::currInterfaceTheme"], [13, 2, 1, "_CPPv4N13Configuration14setLastThemeOfERK20CutterInterfaceThemeRK7QString", "Configuration::setLastThemeOf::theme"], [13, 1, 1, "_CPPv4N13Configuration9setLocaleERK7QLocale", "Configuration::setLocale"], [13, 2, 1, "_CPPv4N13Configuration9setLocaleERK7QLocale", "Configuration::setLocale::l"], [13, 1, 1, "_CPPv4N13Configuration15setLocaleByNameERK7QString", "Configuration::setLocaleByName"], [13, 2, 1, "_CPPv4N13Configuration15setLocaleByNameERK7QString", "Configuration::setLocaleByName::language"], [13, 1, 1, "_CPPv4N13Configuration21setNewFileLastClickedEi", "Configuration::setNewFileLastClicked"], [13, 2, 1, "_CPPv4N13Configuration21setNewFileLastClickedEi", "Configuration::setNewFileLastClicked::lastClicked"], [13, 1, 1, "_CPPv4N13Configuration27setOutputRedirectionEnabledEb", "Configuration::setOutputRedirectionEnabled"], [13, 2, 1, "_CPPv4N13Configuration27setOutputRedirectionEnabledEb", "Configuration::setOutputRedirectionEnabled::enabled"], [13, 1, 1, "_CPPv4N13Configuration15setPreviewValueEb", "Configuration::setPreviewValue"], [13, 2, 1, "_CPPv4N13Configuration15setPreviewValueEb", "Configuration::setPreviewValue::checked"], [13, 1, 1, "_CPPv4N13Configuration14setRecentFilesERK11QStringList", "Configuration::setRecentFiles"], [13, 2, 1, "_CPPv4N13Configuration14setRecentFilesERK11QStringList", "Configuration::setRecentFiles::list"], [13, 1, 1, "_CPPv4N13Configuration15setRecentFolderERK7QString", "Configuration::setRecentFolder"], [13, 2, 1, "_CPPv4N13Configuration15setRecentFolderERK7QString", "Configuration::setRecentFolder::dir"], [13, 1, 1, "_CPPv4N13Configuration17setRecentProjectsERK11QStringList", "Configuration::setRecentProjects"], [13, 2, 1, "_CPPv4N13Configuration17setRecentProjectsERK11QStringList", "Configuration::setRecentProjects::list"], [13, 1, 1, "_CPPv4N13Configuration21setSelectedDecompilerERK7QString", "Configuration::setSelectedDecompiler"], [13, 2, 1, "_CPPv4N13Configuration21setSelectedDecompilerERK7QString", "Configuration::setSelectedDecompiler::id"], [13, 1, 1, "_CPPv4N13Configuration18setShowVarTooltipsEb", "Configuration::setShowVarTooltips"], [13, 2, 1, "_CPPv4N13Configuration18setShowVarTooltipsEb", "Configuration::setShowVarTooltips::enabled"], [13, 1, 1, "_CPPv4N13Configuration13setZoomFactorE5qreal", "Configuration::setZoomFactor"], [13, 2, 1, "_CPPv4N13Configuration13setZoomFactorE5qreal", "Configuration::setZoomFactor::zoom"], [13, 1, 1, "_CPPv4N13Configuration17windowColorIsDarkEv", "Configuration::windowColorIsDark"], [215, 0, 1, "_CPPv413ConsoleWidget", "ConsoleWidget"], [215, 1, 1, "_CPPv4N13ConsoleWidget13ConsoleWidgetEP10MainWindow", "ConsoleWidget::ConsoleWidget"], [215, 2, 1, "_CPPv4N13ConsoleWidget13ConsoleWidgetEP10MainWindow", "ConsoleWidget::ConsoleWidget::main"], [215, 1, 1, "_CPPv4N13ConsoleWidget14addDebugOutputERK7QString", "ConsoleWidget::addDebugOutput"], [215, 2, 1, "_CPPv4N13ConsoleWidget14addDebugOutputERK7QString", "ConsoleWidget::addDebugOutput::msg"], [215, 1, 1, "_CPPv4N13ConsoleWidget9addOutputERK7QString", "ConsoleWidget::addOutput"], [215, 2, 1, "_CPPv4N13ConsoleWidget9addOutputERK7QString", "ConsoleWidget::addOutput::msg"], [215, 1, 1, "_CPPv4N13ConsoleWidget18focusInputLineEditEv", "ConsoleWidget::focusInputLineEdit"], [215, 1, 1, "_CPPv4N13ConsoleWidget21setDebugOutputEnabledEb", "ConsoleWidget::setDebugOutputEnabled"], [215, 2, 1, "_CPPv4N13ConsoleWidget21setDebugOutputEnabledEb", "ConsoleWidget::setDebugOutputEnabled::enabled"], [215, 1, 1, "_CPPv4N13ConsoleWidget20setMaxHistoryEntriesEi", "ConsoleWidget::setMaxHistoryEntries"], [215, 2, 1, "_CPPv4N13ConsoleWidget20setMaxHistoryEntriesEi", "ConsoleWidget::setMaxHistoryEntries::max"], [215, 1, 1, "_CPPv4N13ConsoleWidgetD0Ev", "ConsoleWidget::~ConsoleWidget"], [51, 0, 1, "_CPPv4N6Cutter12CutterLayoutE", "Cutter::CutterLayout"], [51, 3, 1, "_CPPv4N6Cutter12CutterLayout8geometryE", "Cutter::CutterLayout::geometry"], [51, 3, 1, "_CPPv4N6Cutter12CutterLayout5stateE", "Cutter::CutterLayout::state"], [51, 3, 1, "_CPPv4N6Cutter12CutterLayout14viewPropertiesE", "Cutter::CutterLayout::viewProperties"], [178, 0, 1, "_CPPv417CutterApplication", "CutterApplication"], [178, 1, 1, "_CPPv4N17CutterApplication17CutterApplicationERiPPc", "CutterApplication::CutterApplication"], [178, 2, 1, "_CPPv4N17CutterApplication17CutterApplicationERiPPc", "CutterApplication::CutterApplication::argc"], [178, 2, 1, "_CPPv4N17CutterApplication17CutterApplicationERiPPc", "CutterApplication::CutterApplication::argv"], [178, 1, 1, "_CPPv4NK17CutterApplication7getArgsEv", "CutterApplication::getArgs"], [178, 1, 1, "_CPPv4NK17CutterApplication17getInitialOptionsEv", "CutterApplication::getInitialOptions"], [178, 1, 1, "_CPPv4N17CutterApplication13getMainWindowEv", "CutterApplication::getMainWindow"], [178, 1, 1, "_CPPv4N17CutterApplication17launchNewInstanceERK11QStringList", "CutterApplication::launchNewInstance"], [178, 2, 1, "_CPPv4N17CutterApplication17launchNewInstanceERK11QStringList", "CutterApplication::launchNewInstance::args"], [178, 1, 1, "_CPPv4N17CutterApplication17setInitialOptionsERK14InitialOptions", "CutterApplication::setInitialOptions"], [178, 2, 1, "_CPPv4N17CutterApplication17setInitialOptionsERK14InitialOptions", "CutterApplication::setInitialOptions::options"], [178, 1, 1, "_CPPv4N17CutterApplicationD0Ev", "CutterApplication::~CutterApplication"], [180, 0, 1, "_CPPv424CutterCommandLineOptions", "CutterCommandLineOptions"], [180, 3, 1, "_CPPv4N24CutterCommandLineOptions13analysisLevelE", "CutterCommandLineOptions::analysisLevel"], [180, 3, 1, "_CPPv4N24CutterCommandLineOptions4argsE", "CutterCommandLineOptions::args"], [180, 3, 1, "_CPPv4N24CutterCommandLineOptions19enableCutterPluginsE", "CutterCommandLineOptions::enableCutterPlugins"], [180, 3, 1, "_CPPv4N24CutterCommandLineOptions18enableRizinPluginsE", "CutterCommandLineOptions::enableRizinPlugins"], [180, 3, 1, "_CPPv4N24CutterCommandLineOptions15fileOpenOptionsE", "CutterCommandLineOptions::fileOpenOptions"], [180, 3, 1, "_CPPv4N24CutterCommandLineOptions24outputRedirectionEnabledE", "CutterCommandLineOptions::outputRedirectionEnabled"], [180, 3, 1, "_CPPv4N24CutterCommandLineOptions10pythonHomeE", "CutterCommandLineOptions::pythonHome"], [65, 0, 1, "_CPPv410CutterCore", "CutterCore"], [65, 1, 1, "_CPPv4N10CutterCore10CutterCoreEP7QObject", "CutterCore::CutterCore"], [65, 2, 1, "_CPPv4N10CutterCore10CutterCoreEP7QObject", "CutterCore::CutterCore::parent"], [65, 5, 1, "_CPPv4N10CutterCore14HexdumpFormatsE", "CutterCore::HexdumpFormats"], [65, 6, 1, "_CPPv4N10CutterCore14HexdumpFormats4HalfE", "CutterCore::HexdumpFormats::Half"], [65, 6, 1, "_CPPv4N10CutterCore14HexdumpFormats6NormalE", "CutterCore::HexdumpFormats::Normal"], [65, 6, 1, "_CPPv4N10CutterCore14HexdumpFormats5OctalE", "CutterCore::HexdumpFormats::Octal"], [65, 6, 1, "_CPPv4N10CutterCore14HexdumpFormats4QuadE", "CutterCore::HexdumpFormats::Quad"], [65, 6, 1, "_CPPv4N10CutterCore14HexdumpFormats6SignedE", "CutterCore::HexdumpFormats::Signed"], [65, 6, 1, "_CPPv4N10CutterCore14HexdumpFormats4WordE", "CutterCore::HexdumpFormats::Word"], [65, 5, 1, "_CPPv4N10CutterCore15SeekHistoryTypeE", "CutterCore::SeekHistoryType"], [65, 6, 1, "_CPPv4N10CutterCore15SeekHistoryType3NewE", "CutterCore::SeekHistoryType::New"], [65, 6, 1, "_CPPv4N10CutterCore15SeekHistoryType4RedoE", "CutterCore::SeekHistoryType::Redo"], [65, 6, 1, "_CPPv4N10CutterCore15SeekHistoryType4UndoE", "CutterCore::SeekHistoryType::Undo"], [65, 0, 1, "_CPPv4N10CutterCore10SeekReturnE", "CutterCore::SeekReturn"], [66, 0, 1, "_CPPv4N10CutterCore10SeekReturnE", "CutterCore::SeekReturn"], [65, 1, 1, "_CPPv4N10CutterCore10SeekReturn10SeekReturnE3RVA", "CutterCore::SeekReturn::SeekReturn"], [65, 1, 1, "_CPPv4N10CutterCore10SeekReturn10SeekReturnERR10SeekReturn", "CutterCore::SeekReturn::SeekReturn"], [66, 1, 1, "_CPPv4N10CutterCore10SeekReturn10SeekReturnE3RVA", "CutterCore::SeekReturn::SeekReturn"], [66, 1, 1, "_CPPv4N10CutterCore10SeekReturn10SeekReturnERR10SeekReturn", "CutterCore::SeekReturn::SeekReturn"], [65, 2, 1, "_CPPv4N10CutterCore10SeekReturn10SeekReturnERR10SeekReturn", "CutterCore::SeekReturn::SeekReturn::from"], [66, 2, 1, "_CPPv4N10CutterCore10SeekReturn10SeekReturnERR10SeekReturn", "CutterCore::SeekReturn::SeekReturn::from"], [65, 2, 1, "_CPPv4N10CutterCore10SeekReturn10SeekReturnE3RVA", "CutterCore::SeekReturn::SeekReturn::returnAddress"], [66, 2, 1, "_CPPv4N10CutterCore10SeekReturn10SeekReturnE3RVA", "CutterCore::SeekReturn::SeekReturn::returnAddress"], [65, 1, 1, "_CPPv4N10CutterCore10SeekReturnD0Ev", "CutterCore::SeekReturn::~SeekReturn"], [66, 1, 1, "_CPPv4N10CutterCore10SeekReturnD0Ev", "CutterCore::SeekReturn::~SeekReturn"], [65, 5, 1, "_CPPv4N10CutterCore17StringTypeFormatsE", "CutterCore::StringTypeFormats"], [65, 6, 1, "_CPPv4N10CutterCore17StringTypeFormats12ASCII_LATIN1E", "CutterCore::StringTypeFormats::ASCII_LATIN1"], [65, 6, 1, "_CPPv4N10CutterCore17StringTypeFormats4NoneE", "CutterCore::StringTypeFormats::None"], [65, 6, 1, "_CPPv4N10CutterCore17StringTypeFormats4UTF8E", "CutterCore::StringTypeFormats::UTF8"], [65, 1, 1, "_CPPv4N10CutterCore13addBreakpointERK21BreakpointDescription", "CutterCore::addBreakpoint"], [65, 2, 1, "_CPPv4N10CutterCore13addBreakpointERK21BreakpointDescription", "CutterCore::addBreakpoint::config"], [65, 1, 1, "_CPPv4N10CutterCore7addFlagE3RVA7QString3RVA", "CutterCore::addFlag"], [65, 2, 1, "_CPPv4N10CutterCore7addFlagE3RVA7QString3RVA", "CutterCore::addFlag::name"], [65, 2, 1, "_CPPv4N10CutterCore7addFlagE3RVA7QString3RVA", "CutterCore::addFlag::offset"], [65, 2, 1, "_CPPv4N10CutterCore7addFlagE3RVA7QString3RVA", "CutterCore::addFlag::size"], [65, 1, 1, "_CPPv4N10CutterCore17addGlobalVariableE3RVA7QString7QString", "CutterCore::addGlobalVariable"], [65, 2, 1, "_CPPv4N10CutterCore17addGlobalVariableE3RVA7QString7QString", "CutterCore::addGlobalVariable::name"], [65, 2, 1, "_CPPv4N10CutterCore17addGlobalVariableE3RVA7QString7QString", "CutterCore::addGlobalVariable::offset"], [65, 2, 1, "_CPPv4N10CutterCore17addGlobalVariableE3RVA7QString7QString", "CutterCore::addGlobalVariable::typ"], [65, 1, 1, "_CPPv4N10CutterCore16ansiEscapeToHtmlERK7QString", "CutterCore::ansiEscapeToHtml"], [65, 2, 1, "_CPPv4N10CutterCore16ansiEscapeToHtmlERK7QString", "CutterCore::ansiEscapeToHtml::text"], [65, 1, 1, "_CPPv4N10CutterCore14applySignatureERK7QString", "CutterCore::applySignature"], [65, 2, 1, "_CPPv4N10CutterCore14applySignatureERK7QString", "CutterCore::applySignature::filepath"], [65, 1, 1, "_CPPv4N10CutterCore20applyStructureOffsetERK7QString3RVA", "CutterCore::applyStructureOffset"], [65, 2, 1, "_CPPv4N10CutterCore20applyStructureOffsetERK7QString3RVA", "CutterCore::applyStructureOffset::offset"], [65, 2, 1, "_CPPv4N10CutterCore20applyStructureOffsetERK7QString3RVA", "CutterCore::applyStructureOffset::structureOffset"], [65, 1, 1, "_CPPv4N10CutterCore17asmOptionsChangedEv", "CutterCore::asmOptionsChanged"], [65, 1, 1, "_CPPv4N10CutterCore8assembleERK7QString", "CutterCore::assemble"], [65, 2, 1, "_CPPv4N10CutterCore8assembleERK7QString", "CutterCore::assemble::code"], [65, 1, 1, "_CPPv4N10CutterCore9asyncTaskENSt8functionIFPvP6RzCoreEEER14QSharedPointerI9RizinTaskE", "CutterCore::asyncTask"], [65, 2, 1, "_CPPv4N10CutterCore9asyncTaskENSt8functionIFPvP6RzCoreEEER14QSharedPointerI9RizinTaskE", "CutterCore::asyncTask::fcn"], [65, 2, 1, "_CPPv4N10CutterCore9asyncTaskENSt8functionIFPvP6RzCoreEEER14QSharedPointerI9RizinTaskE", "CutterCore::asyncTask::task"], [65, 1, 1, "_CPPv4N10CutterCore11attachDebugEi", "CutterCore::attachDebug"], [65, 2, 1, "_CPPv4N10CutterCore11attachDebugEi", "CutterCore::attachDebug::pid"], [65, 1, 1, "_CPPv4N10CutterCore12attachRemoteERK7QString", "CutterCore::attachRemote"], [65, 2, 1, "_CPPv4N10CutterCore12attachRemoteERK7QString", "CutterCore::attachRemote::uri"], [65, 1, 1, "_CPPv4N10CutterCore14attachedRemoteEb", "CutterCore::attachedRemote"], [65, 2, 1, "_CPPv4N10CutterCore14attachedRemoteEb", "CutterCore::attachedRemote::successfully"], [65, 1, 1, "_CPPv4N10CutterCore12autocompleteERK7QString16RzLinePromptType", "CutterCore::autocomplete"], [65, 2, 1, "_CPPv4N10CutterCore12autocompleteERK7QString16RzLinePromptType", "CutterCore::autocomplete::cmd"], [65, 2, 1, "_CPPv4N10CutterCore12autocompleteERK7QString16RzLinePromptType", "CutterCore::autocomplete::promptType"], [65, 1, 1, "_CPPv4N10CutterCore17breakpointIndexAtE3RVA", "CutterCore::breakpointIndexAt"], [65, 2, 1, "_CPPv4N10CutterCore17breakpointIndexAtE3RVA", "CutterCore::breakpointIndexAt::addr"], [65, 1, 1, "_CPPv4N10CutterCore18breakpointsChangedE3RVA", "CutterCore::breakpointsChanged"], [65, 2, 1, "_CPPv4N10CutterCore18breakpointsChangedE3RVA", "CutterCore::breakpointsChanged::offset"], [65, 1, 1, "_CPPv4N10CutterCore16bytesToHexStringERK10QByteArray", "CutterCore::bytesToHexString"], [65, 2, 1, "_CPPv4N10CutterCore16bytesToHexStringERK10QByteArray", "CutterCore::bytesToHexString::bytes"], [65, 1, 1, "_CPPv4N10CutterCore17classAttrsChangedERK7QString", "CutterCore::classAttrsChanged"], [65, 2, 1, "_CPPv4N10CutterCore17classAttrsChangedERK7QString", "CutterCore::classAttrsChanged::cls"], [65, 1, 1, "_CPPv4N10CutterCore12classDeletedERK7QString", "CutterCore::classDeleted"], [65, 2, 1, "_CPPv4N10CutterCore12classDeletedERK7QString", "CutterCore::classDeleted::cls"], [65, 1, 1, "_CPPv4N10CutterCore8classNewERK7QString", "CutterCore::classNew"], [65, 2, 1, "_CPPv4N10CutterCore8classNewERK7QString", "CutterCore::classNew::cls"], [65, 1, 1, "_CPPv4N10CutterCore12classRenamedERK7QStringRK7QString", "CutterCore::classRenamed"], [65, 2, 1, "_CPPv4N10CutterCore12classRenamedERK7QStringRK7QString", "CutterCore::classRenamed::newName"], [65, 2, 1, "_CPPv4N10CutterCore12classRenamedERK7QStringRK7QString", "CutterCore::classRenamed::oldName"], [65, 1, 1, "_CPPv4N10CutterCore3cmdEPKc", "CutterCore::cmd"], [65, 1, 1, "_CPPv4N10CutterCore3cmdERK7QString", "CutterCore::cmd"], [65, 2, 1, "_CPPv4N10CutterCore3cmdEPKc", "CutterCore::cmd::str"], [65, 2, 1, "_CPPv4N10CutterCore3cmdERK7QString", "CutterCore::cmd::str"], [65, 1, 1, "_CPPv4N10CutterCore6cmdRawEPKc", "CutterCore::cmdRaw"], [65, 1, 1, "_CPPv4N10CutterCore6cmdRawERK7QString", "CutterCore::cmdRaw"], [65, 2, 1, "_CPPv4N10CutterCore6cmdRawEPKc", "CutterCore::cmdRaw::cmd"], [65, 2, 1, "_CPPv4N10CutterCore6cmdRawERK7QString", "CutterCore::cmdRaw::cmd"], [65, 1, 1, "_CPPv4N10CutterCore8cmdRawAtEPKc3RVA", "CutterCore::cmdRawAt"], [65, 1, 1, "_CPPv4N10CutterCore8cmdRawAtERK7QString3RVA", "CutterCore::cmdRawAt"], [65, 2, 1, "_CPPv4N10CutterCore8cmdRawAtEPKc3RVA", "CutterCore::cmdRawAt::address"], [65, 2, 1, "_CPPv4N10CutterCore8cmdRawAtERK7QString3RVA", "CutterCore::cmdRawAt::address"], [65, 2, 1, "_CPPv4N10CutterCore8cmdRawAtEPKc3RVA", "CutterCore::cmdRawAt::cmd"], [65, 2, 1, "_CPPv4N10CutterCore8cmdRawAtERK7QString3RVA", "CutterCore::cmdRawAt::str"], [65, 1, 1, "_CPPv4N10CutterCore7cmdTaskERK7QString", "CutterCore::cmdTask"], [65, 2, 1, "_CPPv4N10CutterCore7cmdTaskERK7QString", "CutterCore::cmdTask::str"], [65, 1, 1, "_CPPv4N10CutterCore4cmdjEPKc", "CutterCore::cmdj"], [65, 1, 1, "_CPPv4N10CutterCore4cmdjERK7QString", "CutterCore::cmdj"], [65, 2, 1, "_CPPv4N10CutterCore4cmdjEPKc", "CutterCore::cmdj::str"], [65, 2, 1, "_CPPv4N10CutterCore4cmdjERK7QString", "CutterCore::cmdj::str"], [65, 1, 1, "_CPPv4N10CutterCore11codeRebasedEv", "CutterCore::codeRebased"], [65, 1, 1, "_CPPv4N10CutterCore15commentsChangedE3RVA", "CutterCore::commentsChanged"], [65, 2, 1, "_CPPv4N10CutterCore15commentsChangedE3RVA", "CutterCore::commentsChanged::addr"], [65, 1, 1, "_CPPv4N10CutterCore16commitWriteCacheEv", "CutterCore::commitWriteCache"], [65, 1, 1, "_CPPv4N10CutterCore17continueBackDebugEv", "CutterCore::continueBackDebug"], [65, 1, 1, "_CPPv4N10CutterCore13continueDebugEv", "CutterCore::continueDebug"], [65, 1, 1, "_CPPv4N10CutterCore17continueUntilCallEv", "CutterCore::continueUntilCall"], [65, 1, 1, "_CPPv4N10CutterCore18continueUntilDebugE4ut64", "CutterCore::continueUntilDebug"], [65, 2, 1, "_CPPv4N10CutterCore18continueUntilDebugE4ut64", "CutterCore::continueUntilDebug::offset"], [65, 1, 1, "_CPPv4N10CutterCore20continueUntilSyscallEv", "CutterCore::continueUntilSyscall"], [65, 1, 1, "_CPPv4N10CutterCore4coreEv", "CutterCore::core"], [65, 1, 1, "_CPPv4N10CutterCore16createFunctionAtE3RVA", "CutterCore::createFunctionAt"], [65, 1, 1, "_CPPv4N10CutterCore16createFunctionAtE3RVA7QString", "CutterCore::createFunctionAt"], [65, 2, 1, "_CPPv4N10CutterCore16createFunctionAtE3RVA", "CutterCore::createFunctionAt::addr"], [65, 2, 1, "_CPPv4N10CutterCore16createFunctionAtE3RVA7QString", "CutterCore::createFunctionAt::addr"], [65, 2, 1, "_CPPv4N10CutterCore16createFunctionAtE3RVA7QString", "CutterCore::createFunctionAt::name"], [65, 1, 1, "_CPPv4N10CutterCore14createNewClassERK7QString", "CutterCore::createNewClass"], [65, 2, 1, "_CPPv4N10CutterCore14createNewClassERK7QString", "CutterCore::createNewClass::cls"], [65, 1, 1, "_CPPv4N10CutterCore15createSignatureERK7QString", "CutterCore::createSignature"], [65, 2, 1, "_CPPv4N10CutterCore15createSignatureERK7QString", "CutterCore::createSignature::filepath"], [65, 3, 1, "_CPPv4N10CutterCore22currentlyAttachedToPIDE", "CutterCore::currentlyAttachedToPID"], [65, 3, 1, "_CPPv4N10CutterCore18currentlyDebuggingE", "CutterCore::currentlyDebugging"], [65, 3, 1, "_CPPv4N10CutterCore18currentlyEmulatingE", "CutterCore::currentlyEmulating"], [65, 3, 1, "_CPPv4N10CutterCore17currentlyOpenFileE", "CutterCore::currentlyOpenFile"], [65, 3, 1, "_CPPv4N10CutterCore24currentlyRemoteDebuggingE", "CutterCore::currentlyRemoteDebugging"], [65, 3, 1, "_CPPv4N10CutterCore16currentlyTracingE", "CutterCore::currentlyTracing"], [65, 1, 1, "_CPPv4N10CutterCore20debugProcessFinishedEi", "CutterCore::debugProcessFinished"], [65, 2, 1, "_CPPv4N10CutterCore20debugProcessFinishedEi", "CutterCore::debugProcessFinished::pid"], [65, 1, 1, "_CPPv4N10CutterCore21debugTaskStateChangedEv", "CutterCore::debugTaskStateChanged"], [65, 1, 1, "_CPPv4N10CutterCore17delAllBreakpointsEv", "CutterCore::delAllBreakpoints"], [65, 1, 1, "_CPPv4N10CutterCore13delBreakpointE3RVA", "CutterCore::delBreakpoint"], [65, 2, 1, "_CPPv4N10CutterCore13delBreakpointE3RVA", "CutterCore::delBreakpoint::addr"], [65, 1, 1, "_CPPv4N10CutterCore10delCommentE3RVA", "CutterCore::delComment"], [65, 2, 1, "_CPPv4N10CutterCore10delCommentE3RVA", "CutterCore::delComment::addr"], [65, 1, 1, "_CPPv4N10CutterCore7delFlagE3RVA", "CutterCore::delFlag"], [65, 1, 1, "_CPPv4N10CutterCore7delFlagERK7QString", "CutterCore::delFlag"], [65, 2, 1, "_CPPv4N10CutterCore7delFlagE3RVA", "CutterCore::delFlag::addr"], [65, 2, 1, "_CPPv4N10CutterCore7delFlagERK7QString", "CutterCore::delFlag::name"], [65, 1, 1, "_CPPv4N10CutterCore11delFunctionE3RVA", "CutterCore::delFunction"], [65, 2, 1, "_CPPv4N10CutterCore11delFunctionE3RVA", "CutterCore::delFunction::addr"], [65, 1, 1, "_CPPv4N10CutterCore17delGlobalVariableE3RVA", "CutterCore::delGlobalVariable"], [65, 1, 1, "_CPPv4N10CutterCore17delGlobalVariableE7QString", "CutterCore::delGlobalVariable"], [65, 2, 1, "_CPPv4N10CutterCore17delGlobalVariableE7QString", "CutterCore::delGlobalVariable::name"], [65, 2, 1, "_CPPv4N10CutterCore17delGlobalVariableE3RVA", "CutterCore::delGlobalVariable::offset"], [65, 1, 1, "_CPPv4N10CutterCore11deleteClassERK7QString", "CutterCore::deleteClass"], [65, 2, 1, "_CPPv4N10CutterCore11deleteClassERK7QString", "CutterCore::deleteClass::cls"], [65, 1, 1, "_CPPv4N10CutterCore17disableBreakpointE3RVA", "CutterCore::disableBreakpoint"], [65, 2, 1, "_CPPv4N10CutterCore17disableBreakpointE3RVA", "CutterCore::disableBreakpoint::addr"], [65, 1, 1, "_CPPv4N10CutterCore11disassembleERK10QByteArray", "CutterCore::disassemble"], [65, 2, 1, "_CPPv4N10CutterCore11disassembleERK10QByteArray", "CutterCore::disassemble::data"], [65, 1, 1, "_CPPv4N10CutterCore16disassembleLinesE3RVAi", "CutterCore::disassembleLines"], [65, 2, 1, "_CPPv4N10CutterCore16disassembleLinesE3RVAi", "CutterCore::disassembleLines::lines"], [65, 2, 1, "_CPPv4N10CutterCore16disassembleLinesE3RVAi", "CutterCore::disassembleLines::offset"], [65, 1, 1, "_CPPv4N10CutterCore28disassembleSingleInstructionE3RVA", "CutterCore::disassembleSingleInstruction"], [65, 2, 1, "_CPPv4N10CutterCore28disassembleSingleInstructionE3RVA", "CutterCore::disassembleSingleInstruction::addr"], [65, 1, 1, "_CPPv4N10CutterCore9editBytesE3RVARK7QString", "CutterCore::editBytes"], [65, 2, 1, "_CPPv4N10CutterCore9editBytesE3RVARK7QString", "CutterCore::editBytes::addr"], [65, 2, 1, "_CPPv4N10CutterCore9editBytesE3RVARK7QString", "CutterCore::editBytes::inst"], [65, 1, 1, "_CPPv4N10CutterCore15editBytesEndianE3RVARK7QString", "CutterCore::editBytesEndian"], [65, 2, 1, "_CPPv4N10CutterCore15editBytesEndianE3RVARK7QString", "CutterCore::editBytesEndian::addr"], [65, 2, 1, "_CPPv4N10CutterCore15editBytesEndianE3RVARK7QString", "CutterCore::editBytesEndian::bytes"], [65, 1, 1, "_CPPv4N10CutterCore15editInstructionE3RVARK7QStringb", "CutterCore::editInstruction"], [65, 2, 1, "_CPPv4N10CutterCore15editInstructionE3RVARK7QStringb", "CutterCore::editInstruction::addr"], [65, 2, 1, "_CPPv4N10CutterCore15editInstructionE3RVARK7QStringb", "CutterCore::editInstruction::fillWithNops"], [65, 2, 1, "_CPPv4N10CutterCore15editInstructionE3RVARK7QStringb", "CutterCore::editInstruction::inst"], [65, 1, 1, "_CPPv4N10CutterCore16enableBreakpointE3RVA", "CutterCore::enableBreakpoint"], [65, 2, 1, "_CPPv4N10CutterCore16enableBreakpointE3RVA", "CutterCore::enableBreakpoint::addr"], [65, 1, 1, "_CPPv4N10CutterCore14existsFileInfoEv", "CutterCore::existsFileInfo"], [65, 1, 1, "_CPPv4N10CutterCore6flagAtE3RVA", "CutterCore::flagAt"], [65, 2, 1, "_CPPv4N10CutterCore6flagAtE3RVA", "CutterCore::flagAt::addr"], [65, 1, 1, "_CPPv4N10CutterCore12flagsChangedEv", "CutterCore::flagsChanged"], [65, 1, 1, "_CPPv4N10CutterCore13formatRefDescERK14QSharedPointerI8AddrRefsE", "CutterCore::formatRefDesc"], [65, 2, 1, "_CPPv4N10CutterCore13formatRefDescERK14QSharedPointerI8AddrRefsE", "CutterCore::formatRefDesc::ref"], [65, 1, 1, "_CPPv4N10CutterCore10functionAtE4ut64", "CutterCore::functionAt"], [65, 2, 1, "_CPPv4N10CutterCore10functionAtE4ut64", "CutterCore::functionAt::addr"], [65, 1, 1, "_CPPv4N10CutterCore10functionInE4ut64", "CutterCore::functionIn"], [65, 2, 1, "_CPPv4N10CutterCore10functionInE4ut64", "CutterCore::functionIn::addr"], [65, 1, 1, "_CPPv4N10CutterCore15functionRenamedEK3RVARK7QString", "CutterCore::functionRenamed"], [65, 2, 1, "_CPPv4N10CutterCore15functionRenamedEK3RVARK7QString", "CutterCore::functionRenamed::new_name"], [65, 2, 1, "_CPPv4N10CutterCore15functionRenamedEK3RVARK7QString", "CutterCore::functionRenamed::offset"], [65, 1, 1, "_CPPv4N10CutterCore12functionTaskENSt8functionIFPvP6RzCoreEEE", "CutterCore::functionTask"], [65, 2, 1, "_CPPv4N10CutterCore12functionTaskENSt8functionIFPvP6RzCoreEEE", "CutterCore::functionTask::fcn"], [65, 1, 1, "_CPPv4N10CutterCore16functionsChangedEv", "CutterCore::functionsChanged"], [65, 1, 1, "_CPPv4N10CutterCore20getActiveDebugPluginEv", "CutterCore::getActiveDebugPlugin"], [65, 1, 1, "_CPPv4N10CutterCore11getAddrRefsE3RVAi", "CutterCore::getAddrRefs"], [65, 2, 1, "_CPPv4N10CutterCore11getAddrRefsE3RVAi", "CutterCore::getAddrRefs::addr"], [65, 2, 1, "_CPPv4N10CutterCore11getAddrRefsE3RVAi", "CutterCore::getAddrRefs::depth"], [65, 1, 1, "_CPPv4N10CutterCore21getAllAnalysisClassesEb", "CutterCore::getAllAnalysisClasses"], [65, 2, 1, "_CPPv4N10CutterCore21getAllAnalysisClassesEb", "CutterCore::getAllAnalysisClasses::sorted"], [65, 1, 1, "_CPPv4N10CutterCore20getAllClassesFromBinEv", "CutterCore::getAllClassesFromBin"], [65, 1, 1, "_CPPv4N10CutterCore22getAllClassesFromFlagsEv", "CutterCore::getAllClassesFromFlags"], [65, 1, 1, "_CPPv4N10CutterCore14getAllCommentsERK7QString", "CutterCore::getAllComments"], [65, 2, 1, "_CPPv4N10CutterCore14getAllCommentsERK7QString", "CutterCore::getAllComments::filterType"], [65, 1, 1, "_CPPv4N10CutterCore16getAllEntrypointEv", "CutterCore::getAllEntrypoint"], [65, 1, 1, "_CPPv4N10CutterCore11getAllEnumsEv", "CutterCore::getAllEnums"], [65, 1, 1, "_CPPv4N10CutterCore13getAllExportsEv", "CutterCore::getAllExports"], [65, 1, 1, "_CPPv4N10CutterCore11getAllFlagsE7QString", "CutterCore::getAllFlags"], [65, 2, 1, "_CPPv4N10CutterCore11getAllFlagsE7QString", "CutterCore::getAllFlags::flagspace"], [65, 1, 1, "_CPPv4N10CutterCore16getAllFlagspacesEv", "CutterCore::getAllFlagspaces"], [65, 1, 1, "_CPPv4N10CutterCore15getAllFunctionsEv", "CutterCore::getAllFunctions"], [65, 1, 1, "_CPPv4N10CutterCore13getAllGlobalsEv", "CutterCore::getAllGlobals"], [65, 1, 1, "_CPPv4N10CutterCore13getAllHeadersEv", "CutterCore::getAllHeaders"], [65, 1, 1, "_CPPv4N10CutterCore13getAllImportsEv", "CutterCore::getAllImports"], [65, 1, 1, "_CPPv4N10CutterCore20getAllPrimitiveTypesEv", "CutterCore::getAllPrimitiveTypes"], [65, 1, 1, "_CPPv4N10CutterCore15getAllProcessesEv", "CutterCore::getAllProcesses"], [65, 1, 1, "_CPPv4N10CutterCore12getAllRelocsEv", "CutterCore::getAllRelocs"], [65, 1, 1, "_CPPv4N10CutterCore15getAllResourcesEv", "CutterCore::getAllResources"], [65, 1, 1, "_CPPv4N10CutterCore12getAllSearchE7QString7QString7QString", "CutterCore::getAllSearch"], [65, 2, 1, "_CPPv4N10CutterCore12getAllSearchE7QString7QString7QString", "CutterCore::getAllSearch::in"], [65, 2, 1, "_CPPv4N10CutterCore12getAllSearchE7QString7QString7QString", "CutterCore::getAllSearch::searchFor"], [65, 2, 1, "_CPPv4N10CutterCore12getAllSearchE7QString7QString7QString", "CutterCore::getAllSearch::space"], [65, 1, 1, "_CPPv4N10CutterCore14getAllSectionsEv", "CutterCore::getAllSections"], [65, 1, 1, "_CPPv4N10CutterCore14getAllSegmentsEv", "CutterCore::getAllSegments"], [65, 1, 1, "_CPPv4N10CutterCore13getAllStringsEv", "CutterCore::getAllStrings"], [65, 1, 1, "_CPPv4N10CutterCore13getAllStructsEv", "CutterCore::getAllStructs"], [65, 1, 1, "_CPPv4N10CutterCore13getAllSymbolsEv", "CutterCore::getAllSymbols"], [65, 1, 1, "_CPPv4N10CutterCore14getAllTypedefsEv", "CutterCore::getAllTypedefs"], [65, 1, 1, "_CPPv4N10CutterCore11getAllTypesEv", "CutterCore::getAllTypes"], [65, 1, 1, "_CPPv4N10CutterCore12getAllUnionsEv", "CutterCore::getAllUnions"], [65, 1, 1, "_CPPv4N10CutterCore13getAllVTablesEv", "CutterCore::getAllVTables"], [65, 1, 1, "_CPPv4N10CutterCore27getAnalysisClassBaseClassesERK7QString", "CutterCore::getAnalysisClassBaseClasses"], [65, 2, 1, "_CPPv4N10CutterCore27getAnalysisClassBaseClassesERK7QString", "CutterCore::getAnalysisClassBaseClasses::cls"], [65, 1, 1, "_CPPv4N10CutterCore23getAnalysisClassMethodsERK7QString", "CutterCore::getAnalysisClassMethods"], [65, 2, 1, "_CPPv4N10CutterCore23getAnalysisClassMethodsERK7QString", "CutterCore::getAnalysisClassMethods::cls"], [65, 1, 1, "_CPPv4N10CutterCore23getAnalysisClassVTablesERK7QString", "CutterCore::getAnalysisClassVTables"], [65, 2, 1, "_CPPv4N10CutterCore23getAnalysisClassVTablesERK7QString", "CutterCore::getAnalysisClassVTables::cls"], [65, 1, 1, "_CPPv4N10CutterCore17getAnalysisMethodERK7QStringRK7QStringP25AnalysisMethodDescription", "CutterCore::getAnalysisMethod"], [65, 2, 1, "_CPPv4N10CutterCore17getAnalysisMethodERK7QStringRK7QStringP25AnalysisMethodDescription", "CutterCore::getAnalysisMethod::cls"], [65, 2, 1, "_CPPv4N10CutterCore17getAnalysisMethodERK7QStringRK7QStringP25AnalysisMethodDescription", "CutterCore::getAnalysisMethod::desc"], [65, 2, 1, "_CPPv4N10CutterCore17getAnalysisMethodERK7QStringRK7QStringP25AnalysisMethodDescription", "CutterCore::getAnalysisMethod::meth"], [65, 1, 1, "_CPPv4N10CutterCore22getAnalysisPluginNamesEv", "CutterCore::getAnalysisPluginNames"], [65, 1, 1, "_CPPv4N10CutterCore11getArchBitsEv", "CutterCore::getArchBits"], [65, 1, 1, "_CPPv4N10CutterCore9getArenasEv", "CutterCore::getArenas"], [65, 1, 1, "_CPPv4N10CutterCore17getAsmPluginNamesEv", "CutterCore::getAsmPluginNames"], [65, 1, 1, "_CPPv4N10CutterCore19getAsyncTaskManagerEv", "CutterCore::getAsyncTaskManager"], [65, 1, 1, "_CPPv4N10CutterCore16getBBHighlighterEv", "CutterCore::getBBHighlighter"], [65, 1, 1, "_CPPv4N10CutterCore16getBIHighlighterEv", "CutterCore::getBIHighlighter"], [65, 1, 1, "_CPPv4N10CutterCore24getBinPluginDescriptionsEbb", "CutterCore::getBinPluginDescriptions"], [65, 2, 1, "_CPPv4N10CutterCore24getBinPluginDescriptionsEbb", "CutterCore::getBinPluginDescriptions::bin"], [65, 2, 1, "_CPPv4N10CutterCore24getBinPluginDescriptionsEbb", "CutterCore::getBinPluginDescriptions::xtr"], [65, 1, 1, "_CPPv4N10CutterCore15getBreakpointAtE3RVA", "CutterCore::getBreakpointAt"], [65, 2, 1, "_CPPv4N10CutterCore15getBreakpointAtE3RVA", "CutterCore::getBreakpointAt::addr"], [65, 1, 1, "_CPPv4N10CutterCore14getBreakpointsEv", "CutterCore::getBreakpoints"], [65, 1, 1, "_CPPv4N10CutterCore23getBreakpointsAddressesEv", "CutterCore::getBreakpointsAddresses"], [65, 1, 1, "_CPPv4N10CutterCore24getBreakpointsInFunctionE3RVA", "CutterCore::getBreakpointsInFunction"], [65, 2, 1, "_CPPv4N10CutterCore24getBreakpointsInFunctionE3RVA", "CutterCore::getBreakpointsInFunction::funcAddr"], [65, 1, 1, "_CPPv4N10CutterCore14getColorThemesEv", "CutterCore::getColorThemes"], [65, 1, 1, "_CPPv4N10CutterCore12getCommentAtE3RVA", "CutterCore::getCommentAt"], [65, 2, 1, "_CPPv4N10CutterCore12getCommentAtE3RVA", "CutterCore::getCommentAt::addr"], [65, 1, 1, "_CPPv4N10CutterCore9getConfigEPKc", "CutterCore::getConfig"], [65, 1, 1, "_CPPv4N10CutterCore9getConfigERK7QString", "CutterCore::getConfig"], [65, 2, 1, "_CPPv4N10CutterCore9getConfigEPKc", "CutterCore::getConfig::k"], [65, 2, 1, "_CPPv4N10CutterCore9getConfigERK7QString", "CutterCore::getConfig::k"], [65, 1, 1, "_CPPv4N10CutterCore20getConfigDescriptionEPKc", "CutterCore::getConfigDescription"], [65, 2, 1, "_CPPv4N10CutterCore20getConfigDescriptionEPKc", "CutterCore::getConfigDescription::k"], [65, 1, 1, "_CPPv4N10CutterCore16getConfigOptionsEPKc", "CutterCore::getConfigOptions"], [65, 2, 1, "_CPPv4N10CutterCore16getConfigOptionsEPKc", "CutterCore::getConfigOptions::k"], [65, 1, 1, "_CPPv4N10CutterCore23getConfigVariableSpacesERK7QString", "CutterCore::getConfigVariableSpaces"], [65, 2, 1, "_CPPv4N10CutterCore23getConfigVariableSpacesERK7QString", "CutterCore::getConfigVariableSpaces::key"], [65, 1, 1, "_CPPv4N10CutterCore10getConfigbEPKc", "CutterCore::getConfigb"], [65, 1, 1, "_CPPv4N10CutterCore10getConfigbERK7QString", "CutterCore::getConfigb"], [65, 2, 1, "_CPPv4N10CutterCore10getConfigbEPKc", "CutterCore::getConfigb::k"], [65, 2, 1, "_CPPv4N10CutterCore10getConfigbERK7QString", "CutterCore::getConfigb::k"], [65, 1, 1, "_CPPv4N10CutterCore10getConfigiEPKc", "CutterCore::getConfigi"], [65, 1, 1, "_CPPv4N10CutterCore10getConfigiERK7QString", "CutterCore::getConfigi"], [65, 2, 1, "_CPPv4N10CutterCore10getConfigiEPKc", "CutterCore::getConfigi::k"], [65, 2, 1, "_CPPv4N10CutterCore10getConfigiERK7QString", "CutterCore::getConfigi::k"], [65, 1, 1, "_CPPv4N10CutterCore13getConfigut64EPKc", "CutterCore::getConfigut64"], [65, 1, 1, "_CPPv4N10CutterCore13getConfigut64ERK7QString", "CutterCore::getConfigut64"], [65, 2, 1, "_CPPv4N10CutterCore13getConfigut64EPKc", "CutterCore::getConfigut64::k"], [65, 2, 1, "_CPPv4N10CutterCore13getConfigut64ERK7QString", "CutterCore::getConfigut64::k"], [65, 1, 1, "_CPPv4NK10CutterCore27getCutterRCDefaultDirectoryEv", "CutterCore::getCutterRCDefaultDirectory"], [65, 1, 1, "_CPPv4N10CutterCore15getDebugPluginsEv", "CutterCore::getDebugPlugins"], [65, 1, 1, "_CPPv4N10CutterCore17getDecompilerByIdERK7QString", "CutterCore::getDecompilerById"], [65, 2, 1, "_CPPv4N10CutterCore17getDecompilerByIdERK7QString", "CutterCore::getDecompilerById::id"], [65, 1, 1, "_CPPv4N10CutterCore14getDecompilersEv", "CutterCore::getDecompilers"], [65, 1, 1, "_CPPv4N10CutterCore21getDisassemblyPreviewE3RVAi", "CutterCore::getDisassemblyPreview"], [65, 2, 1, "_CPPv4N10CutterCore21getDisassemblyPreviewE3RVAi", "CutterCore::getDisassemblyPreview::address"], [65, 2, 1, "_CPPv4N10CutterCore21getDisassemblyPreviewE3RVAi", "CutterCore::getDisassemblyPreview::num_of_lines"], [65, 1, 1, "_CPPv4N10CutterCore14getFunctionEndE3RVA", "CutterCore::getFunctionEnd"], [65, 2, 1, "_CPPv4N10CutterCore14getFunctionEndE3RVA", "CutterCore::getFunctionEnd::addr"], [65, 1, 1, "_CPPv4N10CutterCore18getFunctionExecOutERKNSt8functionIFbP6RzCoreEEEK3RVA", "CutterCore::getFunctionExecOut"], [65, 2, 1, "_CPPv4N10CutterCore18getFunctionExecOutERKNSt8functionIFbP6RzCoreEEEK3RVA", "CutterCore::getFunctionExecOut::addr"], [65, 2, 1, "_CPPv4N10CutterCore18getFunctionExecOutERKNSt8functionIFbP6RzCoreEEEK3RVA", "CutterCore::getFunctionExecOut::fcn"], [65, 1, 1, "_CPPv4N10CutterCore16getFunctionStartE3RVA", "CutterCore::getFunctionStart"], [65, 2, 1, "_CPPv4N10CutterCore16getFunctionStartE3RVA", "CutterCore::getFunctionStart::addr"], [65, 1, 1, "_CPPv4N10CutterCore21getGlobalVariableTypeE3RVA", "CutterCore::getGlobalVariableType"], [65, 1, 1, "_CPPv4N10CutterCore21getGlobalVariableTypeE7QString", "CutterCore::getGlobalVariableType"], [65, 2, 1, "_CPPv4N10CutterCore21getGlobalVariableTypeE7QString", "CutterCore::getGlobalVariableType::name"], [65, 2, 1, "_CPPv4N10CutterCore21getGlobalVariableTypeE3RVA", "CutterCore::getGlobalVariableType::offset"], [65, 1, 1, "_CPPv4N10CutterCore11getHeapBinsE4ut64", "CutterCore::getHeapBins"], [65, 2, 1, "_CPPv4N10CutterCore11getHeapBinsE4ut64", "CutterCore::getHeapBins::arena_addr"], [65, 1, 1, "_CPPv4N10CutterCore12getHeapChunkE4ut64", "CutterCore::getHeapChunk"], [65, 2, 1, "_CPPv4N10CutterCore12getHeapChunkE4ut64", "CutterCore::getHeapChunk::addr"], [65, 1, 1, "_CPPv4N10CutterCore13getHeapChunksE3RVA", "CutterCore::getHeapChunks"], [65, 2, 1, "_CPPv4N10CutterCore13getHeapChunksE3RVA", "CutterCore::getHeapChunks::arena_addr"], [65, 1, 1, "_CPPv4N10CutterCore17getHexdumpPreviewE3RVAi", "CutterCore::getHexdumpPreview"], [65, 2, 1, "_CPPv4N10CutterCore17getHexdumpPreviewE3RVAi", "CutterCore::getHexdumpPreview::offset"], [65, 2, 1, "_CPPv4N10CutterCore17getHexdumpPreviewE3RVAi", "CutterCore::getHexdumpPreview::size"], [65, 1, 1, "_CPPv4N10CutterCore19getInstructionBytesE3RVA", "CutterCore::getInstructionBytes"], [65, 2, 1, "_CPPv4N10CutterCore19getInstructionBytesE3RVA", "CutterCore::getInstructionBytes::addr"], [65, 1, 1, "_CPPv4N10CutterCore20getInstructionOpcodeE3RVA", "CutterCore::getInstructionOpcode"], [65, 2, 1, "_CPPv4N10CutterCore20getInstructionOpcodeE3RVA", "CutterCore::getInstructionOpcode::addr"], [65, 1, 1, "_CPPv4N10CutterCore26getLastFunctionInstructionE3RVA", "CutterCore::getLastFunctionInstruction"], [65, 2, 1, "_CPPv4N10CutterCore26getLastFunctionInstructionE3RVA", "CutterCore::getLastFunctionInstruction::addr"], [65, 1, 1, "_CPPv4N10CutterCore12getMemoryMapEv", "CutterCore::getMemoryMap"], [65, 1, 1, "_CPPv4N10CutterCore13getMetaStringE3RVA", "CutterCore::getMetaString"], [65, 2, 1, "_CPPv4N10CutterCore13getMetaStringE3RVA", "CutterCore::getMetaString::addr"], [65, 1, 1, "_CPPv4N10CutterCore9getOffsetEv", "CutterCore::getOffset"], [65, 1, 1, "_CPPv4NK10CutterCore9getOffsetEv", "CutterCore::getOffset"], [65, 1, 1, "_CPPv4N10CutterCore13getOffsetJumpE3RVA", "CutterCore::getOffsetJump"], [65, 2, 1, "_CPPv4N10CutterCore13getOffsetJumpE3RVA", "CutterCore::getOffsetJump::addr"], [65, 1, 1, "_CPPv4N10CutterCore17getProcessThreadsEi", "CutterCore::getProcessThreads"], [65, 2, 1, "_CPPv4N10CutterCore17getProcessThreadsEi", "CutterCore::getProcessThreads::pid"], [65, 1, 1, "_CPPv4N10CutterCore22getProgramCounterValueEv", "CutterCore::getProgramCounterValue"], [65, 1, 1, "_CPPv4N10CutterCore25getRAsmPluginDescriptionsEv", "CutterCore::getRAsmPluginDescriptions"], [65, 1, 1, "_CPPv4N10CutterCore26getRCorePluginDescriptionsEv", "CutterCore::getRCorePluginDescriptions"], [65, 1, 1, "_CPPv4N10CutterCore24getRIOPluginDescriptionsEv", "CutterCore::getRIOPluginDescriptions"], [65, 1, 1, "_CPPv4N10CutterCore6getRegEv", "CutterCore::getReg"], [65, 1, 1, "_CPPv4N10CutterCore15getRegisterNameE7QString", "CutterCore::getRegisterName"], [65, 2, 1, "_CPPv4N10CutterCore15getRegisterNameE7QString", "CutterCore::getRegisterName::registerRole"], [65, 1, 1, "_CPPv4N10CutterCore20getRegisterRefValuesEv", "CutterCore::getRegisterRefValues"], [65, 1, 1, "_CPPv4N10CutterCore15getRegisterRefsEi", "CutterCore::getRegisterRefs"], [65, 2, 1, "_CPPv4N10CutterCore15getRegisterRefsEi", "CutterCore::getRegisterRefs::depth"], [65, 1, 1, "_CPPv4N10CutterCore7getRegsEv", "CutterCore::getRegs"], [65, 1, 1, "_CPPv4N10CutterCore23getRizinVersionReadableEPKc", "CutterCore::getRizinVersionReadable"], [65, 2, 1, "_CPPv4N10CutterCore23getRizinVersionReadableEPKc", "CutterCore::getRizinVersionReadable::program"], [65, 1, 1, "_CPPv4N10CutterCore24getRzAnalysisBytesSingleE3RVA", "CutterCore::getRzAnalysisBytesSingle"], [65, 2, 1, "_CPPv4N10CutterCore24getRzAnalysisBytesSingleE3RVA", "CutterCore::getRzAnalysisBytesSingle::addr"], [65, 1, 1, "_CPPv4N10CutterCore14getSectionListEv", "CutterCore::getSectionList"], [65, 1, 1, "_CPPv4N10CutterCore14getSeekHistoryEv", "CutterCore::getSeekHistory"], [65, 1, 1, "_CPPv4N10CutterCore16getSignatureInfoEv", "CutterCore::getSignatureInfo"], [65, 1, 1, "_CPPv4N10CutterCore15getSignaturesDBEv", "CutterCore::getSignaturesDB"], [65, 1, 1, "_CPPv4N10CutterCore8getStackEii", "CutterCore::getStack"], [65, 2, 1, "_CPPv4N10CutterCore8getStackEii", "CutterCore::getStack::depth"], [65, 2, 1, "_CPPv4N10CutterCore8getStackEii", "CutterCore::getStack::size"], [65, 1, 1, "_CPPv4N10CutterCore9getStringE3RVA", "CutterCore::getString"], [65, 1, 1, "_CPPv4N10CutterCore9getStringE3RVA8uint64_t8RzStrEncb", "CutterCore::getString"], [65, 2, 1, "_CPPv4N10CutterCore9getStringE3RVA", "CutterCore::getString::addr"], [65, 2, 1, "_CPPv4N10CutterCore9getStringE3RVA8uint64_t8RzStrEncb", "CutterCore::getString::addr"], [65, 2, 1, "_CPPv4N10CutterCore9getStringE3RVA8uint64_t8RzStrEncb", "CutterCore::getString::encoding"], [65, 2, 1, "_CPPv4N10CutterCore9getStringE3RVA8uint64_t8RzStrEncb", "CutterCore::getString::escape_nl"], [65, 2, 1, "_CPPv4N10CutterCore9getStringE3RVA8uint64_t8RzStrEncb", "CutterCore::getString::len"], [65, 1, 1, "_CPPv4N10CutterCore17getTextualGraphAtE15RzCoreGraphType17RzCoreGraphFormat3RVA", "CutterCore::getTextualGraphAt"], [65, 2, 1, "_CPPv4N10CutterCore17getTextualGraphAtE15RzCoreGraphType17RzCoreGraphFormat3RVA", "CutterCore::getTextualGraphAt::address"], [65, 2, 1, "_CPPv4N10CutterCore17getTextualGraphAtE15RzCoreGraphType17RzCoreGraphFormat3RVA", "CutterCore::getTextualGraphAt::format"], [65, 2, 1, "_CPPv4N10CutterCore17getTextualGraphAtE15RzCoreGraphType17RzCoreGraphFormat3RVA", "CutterCore::getTextualGraphAt::type"], [65, 1, 1, "_CPPv4N10CutterCore8getThemeEv", "CutterCore::getTheme"], [65, 1, 1, "_CPPv4N10CutterCore12getThemeKeysEv", "CutterCore::getThemeKeys"], [65, 1, 1, "_CPPv4N10CutterCore10getTypeAsCE7QString", "CutterCore::getTypeAsC"], [65, 2, 1, "_CPPv4N10CutterCore10getTypeAsCE7QString", "CutterCore::getTypeAsC::name"], [65, 1, 1, "_CPPv4N10CutterCore12getVariablesE3RVA", "CutterCore::getVariables"], [65, 2, 1, "_CPPv4N10CutterCore12getVariablesE3RVA", "CutterCore::getVariables::at"], [65, 1, 1, "_CPPv4N10CutterCore21getVersionInformationEv", "CutterCore::getVersionInformation"], [65, 1, 1, "_CPPv4N10CutterCore8getXRefsE3RVAbbRK7QString", "CutterCore::getXRefs"], [65, 2, 1, "_CPPv4N10CutterCore8getXRefsE3RVAbbRK7QString", "CutterCore::getXRefs::addr"], [65, 2, 1, "_CPPv4N10CutterCore8getXRefsE3RVAbbRK7QString", "CutterCore::getXRefs::filterType"], [65, 2, 1, "_CPPv4N10CutterCore8getXRefsE3RVAbbRK7QString", "CutterCore::getXRefs::to"], [65, 2, 1, "_CPPv4N10CutterCore8getXRefsE3RVAbbRK7QString", "CutterCore::getXRefs::whole_function"], [65, 1, 1, "_CPPv4N10CutterCore19getXRefsForVariableE7QStringb3RVA", "CutterCore::getXRefsForVariable"], [65, 2, 1, "_CPPv4N10CutterCore19getXRefsForVariableE7QStringb3RVA", "CutterCore::getXRefsForVariable::findWrites"], [65, 2, 1, "_CPPv4N10CutterCore19getXRefsForVariableE7QStringb3RVA", "CutterCore::getXRefsForVariable::offset"], [65, 2, 1, "_CPPv4N10CutterCore19getXRefsForVariableE7QStringb3RVA", "CutterCore::getXRefsForVariable::variableName"], [65, 1, 1, "_CPPv4N10CutterCore17globalVarsChangedEv", "CutterCore::globalVarsChanged"], [65, 1, 1, "_CPPv4N10CutterCore19graphOptionsChangedEv", "CutterCore::graphOptionsChanged"], [65, 1, 1, "_CPPv4N10CutterCore12handleREventEiPv", "CutterCore::handleREvent"], [65, 2, 1, "_CPPv4N10CutterCore12handleREventEiPv", "CutterCore::handleREvent::data"], [65, 2, 1, "_CPPv4N10CutterCore12handleREventEiPv", "CutterCore::handleREvent::type"], [65, 1, 1, "_CPPv4N10CutterCore16hexStringToBytesERK7QString", "CutterCore::hexStringToBytes"], [65, 2, 1, "_CPPv4N10CutterCore16hexStringToBytesERK7QString", "CutterCore::hexStringToBytes::hex"], [65, 1, 1, "_CPPv4N10CutterCore7hexdumpE3RVAi14HexdumpFormats", "CutterCore::hexdump"], [65, 2, 1, "_CPPv4N10CutterCore7hexdumpE3RVAi14HexdumpFormats", "CutterCore::hexdump::format"], [65, 2, 1, "_CPPv4N10CutterCore7hexdumpE3RVAi14HexdumpFormats", "CutterCore::hexdump::offset"], [65, 2, 1, "_CPPv4N10CutterCore7hexdumpE3RVAi14HexdumpFormats", "CutterCore::hexdump::size"], [65, 1, 1, "_CPPv4N10CutterCore10initializeEb", "CutterCore::initialize"], [65, 2, 1, "_CPPv4N10CutterCore10initializeEb", "CutterCore::initialize::loadPlugins"], [65, 1, 1, "_CPPv4N10CutterCore8instanceEv", "CutterCore::instance"], [65, 1, 1, "_CPPv4N10CutterCore18instructionChangedE3RVA", "CutterCore::instructionChanged"], [65, 2, 1, "_CPPv4N10CutterCore18instructionChangedE3RVA", "CutterCore::instructionChanged::offset"], [65, 1, 1, "_CPPv4N10CutterCore14ioCacheChangedEb", "CutterCore::ioCacheChanged"], [65, 2, 1, "_CPPv4N10CutterCore14ioCacheChangedEb", "CutterCore::ioCacheChanged::newval"], [65, 1, 1, "_CPPv4N10CutterCore13ioModeChangedEv", "CutterCore::ioModeChanged"], [65, 1, 1, "_CPPv4N10CutterCore6ioReadE3RVAi", "CutterCore::ioRead"], [65, 2, 1, "_CPPv4N10CutterCore6ioReadE3RVAi", "CutterCore::ioRead::addr"], [65, 2, 1, "_CPPv4N10CutterCore6ioReadE3RVAi", "CutterCore::ioRead::len"], [65, 1, 1, "_CPPv4N10CutterCore15isAddressMappedE3RVA", "CutterCore::isAddressMapped"], [65, 2, 1, "_CPPv4N10CutterCore15isAddressMappedE3RVA", "CutterCore::isAddressMapped::addr"], [65, 1, 1, "_CPPv4N10CutterCore12isBreakpointERK5QListI3RVAE3RVA", "CutterCore::isBreakpoint"], [65, 2, 1, "_CPPv4N10CutterCore12isBreakpointERK5QListI3RVAE3RVA", "CutterCore::isBreakpoint::addr"], [65, 2, 1, "_CPPv4N10CutterCore12isBreakpointERK5QListI3RVAE3RVA", "CutterCore::isBreakpoint::breakpoints"], [65, 1, 1, "_CPPv4N10CutterCore21isDebugTaskInProgressEv", "CutterCore::isDebugTaskInProgress"], [65, 1, 1, "_CPPv4N10CutterCore12isGraphEmptyEv", "CutterCore::isGraphEmpty"], [65, 1, 1, "_CPPv4NK10CutterCore16isIOCacheEnabledEv", "CutterCore::isIOCacheEnabled"], [65, 1, 1, "_CPPv4N10CutterCore21isRedirectableDebugeeEv", "CutterCore::isRedirectableDebugee"], [65, 1, 1, "_CPPv4N10CutterCore18isWriteModeEnabledEv", "CutterCore::isWriteModeEnabled"], [65, 1, 1, "_CPPv4N10CutterCore4itoaE4ut64i", "CutterCore::itoa"], [65, 2, 1, "_CPPv4N10CutterCore4itoaE4ut64i", "CutterCore::itoa::num"], [65, 2, 1, "_CPPv4N10CutterCore4itoaE4ut64i", "CutterCore::itoa::rdx"], [65, 1, 1, "_CPPv4N10CutterCore10jmpReverseE3RVA", "CutterCore::jmpReverse"], [65, 2, 1, "_CPPv4N10CutterCore10jmpReverseE3RVA", "CutterCore::jmpReverse::addr"], [65, 1, 1, "_CPPv4N10CutterCore19listFlagsAsStringAtE3RVA", "CutterCore::listFlagsAsStringAt"], [65, 2, 1, "_CPPv4N10CutterCore19listFlagsAsStringAtE3RVA", "CutterCore::listFlagsAsStringAt::addr"], [65, 1, 1, "_CPPv4N10CutterCore12loadCutterRCEv", "CutterCore::loadCutterRC"], [65, 1, 1, "_CPPv4N10CutterCore19loadDefaultCutterRCEv", "CutterCore::loadDefaultCutterRC"], [65, 1, 1, "_CPPv4N10CutterCore8loadFileE7QString4ut644ut64iibRK7QString", "CutterCore::loadFile"], [65, 2, 1, "_CPPv4N10CutterCore8loadFileE7QString4ut644ut64iibRK7QString", "CutterCore::loadFile::baddr"], [65, 2, 1, "_CPPv4N10CutterCore8loadFileE7QString4ut644ut64iibRK7QString", "CutterCore::loadFile::forceBinPlugin"], [65, 2, 1, "_CPPv4N10CutterCore8loadFileE7QString4ut644ut64iibRK7QString", "CutterCore::loadFile::loadbin"], [65, 2, 1, "_CPPv4N10CutterCore8loadFileE7QString4ut644ut64iibRK7QString", "CutterCore::loadFile::mapaddr"], [65, 2, 1, "_CPPv4N10CutterCore8loadFileE7QString4ut644ut64iibRK7QString", "CutterCore::loadFile::path"], [65, 2, 1, "_CPPv4N10CutterCore8loadFileE7QString4ut644ut64iibRK7QString", "CutterCore::loadFile::perms"], [65, 2, 1, "_CPPv4N10CutterCore8loadFileE7QString4ut644ut64iibRK7QString", "CutterCore::loadFile::va"], [65, 1, 1, "_CPPv4N10CutterCore7loadPDBERK7QString", "CutterCore::loadPDB"], [65, 2, 1, "_CPPv4N10CutterCore7loadPDBERK7QString", "CutterCore::loadPDB::file"], [65, 1, 1, "_CPPv4N10CutterCore10loadScriptERK7QString", "CutterCore::loadScript"], [65, 2, 1, "_CPPv4N10CutterCore10loadScriptERK7QString", "CutterCore::loadScript::scriptname"], [65, 1, 1, "_CPPv4N10CutterCore7mapFileE7QString3RVA", "CutterCore::mapFile"], [65, 2, 1, "_CPPv4N10CutterCore7mapFileE7QString3RVA", "CutterCore::mapFile::mapaddr"], [65, 2, 1, "_CPPv4N10CutterCore7mapFileE7QString3RVA", "CutterCore::mapFile::path"], [65, 1, 1, "_CPPv4N10CutterCore4mathERK7QString", "CutterCore::math"], [65, 2, 1, "_CPPv4N10CutterCore4mathERK7QString", "CutterCore::math::expr"], [65, 1, 1, "_CPPv4N10CutterCore7messageERK7QStringb", "CutterCore::message"], [65, 2, 1, "_CPPv4N10CutterCore7messageERK7QStringb", "CutterCore::message::debug"], [65, 2, 1, "_CPPv4N10CutterCore7messageERK7QStringb", "CutterCore::message::msg"], [65, 1, 1, "_CPPv4N10CutterCore20modifyGlobalVariableE3RVA7QString7QString", "CutterCore::modifyGlobalVariable"], [65, 2, 1, "_CPPv4N10CutterCore20modifyGlobalVariableE3RVA7QString7QString", "CutterCore::modifyGlobalVariable::name"], [65, 2, 1, "_CPPv4N10CutterCore20modifyGlobalVariableE3RVA7QString7QString", "CutterCore::modifyGlobalVariable::offset"], [65, 2, 1, "_CPPv4N10CutterCore20modifyGlobalVariableE3RVA7QString7QString", "CutterCore::modifyGlobalVariable::typ"], [65, 1, 1, "_CPPv4N10CutterCore11nearestFlagE3RVAP3RVA", "CutterCore::nearestFlag"], [65, 2, 1, "_CPPv4N10CutterCore11nearestFlagE3RVAP3RVA", "CutterCore::nearestFlag::flagOffsetOut"], [65, 2, 1, "_CPPv4N10CutterCore11nearestFlagE3RVAP3RVA", "CutterCore::nearestFlag::offset"], [65, 1, 1, "_CPPv4N10CutterCore15newDebugMessageERK7QString", "CutterCore::newDebugMessage"], [65, 2, 1, "_CPPv4N10CutterCore15newDebugMessageERK7QString", "CutterCore::newDebugMessage::msg"], [65, 1, 1, "_CPPv4N10CutterCore10newMessageERK7QString", "CutterCore::newMessage"], [65, 2, 1, "_CPPv4N10CutterCore10newMessageERK7QString", "CutterCore::newMessage::msg"], [65, 1, 1, "_CPPv4N10CutterCore10nextOpAddrE3RVAi", "CutterCore::nextOpAddr"], [65, 2, 1, "_CPPv4N10CutterCore10nextOpAddrE3RVAi", "CutterCore::nextOpAddr::count"], [65, 2, 1, "_CPPv4N10CutterCore10nextOpAddrE3RVAi", "CutterCore::nextOpAddr::startAddr"], [65, 1, 1, "_CPPv4N10CutterCore14nopInstructionE3RVA", "CutterCore::nopInstruction"], [65, 2, 1, "_CPPv4N10CutterCore14nopInstructionE3RVA", "CutterCore::nopInstruction::addr"], [65, 1, 1, "_CPPv4N10CutterCore3numERK7QString", "CutterCore::num"], [65, 2, 1, "_CPPv4N10CutterCore3numERK7QString", "CutterCore::num::expr"], [65, 1, 1, "_CPPv4N10CutterCore9parseJsonEPKcPcPKc", "CutterCore::parseJson"], [65, 1, 1, "_CPPv4N10CutterCore9parseJsonEPKcPcRK7QString", "CutterCore::parseJson"], [65, 2, 1, "_CPPv4N10CutterCore9parseJsonEPKcPcPKc", "CutterCore::parseJson::cmd"], [65, 2, 1, "_CPPv4N10CutterCore9parseJsonEPKcPcRK7QString", "CutterCore::parseJson::cmd"], [65, 2, 1, "_CPPv4N10CutterCore9parseJsonEPKcPcPKc", "CutterCore::parseJson::name"], [65, 2, 1, "_CPPv4N10CutterCore9parseJsonEPKcPcRK7QString", "CutterCore::parseJson::name"], [65, 2, 1, "_CPPv4N10CutterCore9parseJsonEPKcPcPKc", "CutterCore::parseJson::res"], [65, 2, 1, "_CPPv4N10CutterCore9parseJsonEPKcPcRK7QString", "CutterCore::parseJson::res"], [65, 1, 1, "_CPPv4N10CutterCore10prevOpAddrE3RVAi", "CutterCore::prevOpAddr"], [65, 2, 1, "_CPPv4N10CutterCore10prevOpAddrE3RVAi", "CutterCore::prevOpAddr::count"], [65, 2, 1, "_CPPv4N10CutterCore10prevOpAddrE3RVAi", "CutterCore::prevOpAddr::startAddr"], [65, 1, 1, "_CPPv4N10CutterCore9rebaseBinE3RVA", "CutterCore::rebaseBin"], [65, 2, 1, "_CPPv4N10CutterCore9rebaseBinE3RVA", "CutterCore::rebaseBin::base_address"], [65, 1, 1, "_CPPv4N10CutterCore10refreshAllEv", "CutterCore::refreshAll"], [65, 1, 1, "_CPPv4N10CutterCore16refreshCodeViewsEv", "CutterCore::refreshCodeViews"], [65, 1, 1, "_CPPv4N10CutterCore18registerDecompilerEP10Decompiler", "CutterCore::registerDecompiler"], [65, 2, 1, "_CPPv4N10CutterCore18registerDecompilerEP10Decompiler", "CutterCore::registerDecompiler::decompiler"], [65, 1, 1, "_CPPv4N10CutterCore16registersChangedEv", "CutterCore::registersChanged"], [65, 3, 1, "_CPPv4N10CutterCore4regsE", "CutterCore::regs"], [65, 1, 1, "_CPPv4N10CutterCore12removeStringE3RVA", "CutterCore::removeString"], [65, 2, 1, "_CPPv4N10CutterCore12removeStringE3RVA", "CutterCore::removeString::addr"], [65, 1, 1, "_CPPv4N10CutterCore20renameAnalysisMethodERK7QStringRK7QStringRK7QString", "CutterCore::renameAnalysisMethod"], [65, 2, 1, "_CPPv4N10CutterCore20renameAnalysisMethodERK7QStringRK7QStringRK7QString", "CutterCore::renameAnalysisMethod::className"], [65, 2, 1, "_CPPv4N10CutterCore20renameAnalysisMethodERK7QStringRK7QStringRK7QString", "CutterCore::renameAnalysisMethod::newMethodName"], [65, 2, 1, "_CPPv4N10CutterCore20renameAnalysisMethodERK7QStringRK7QStringRK7QString", "CutterCore::renameAnalysisMethod::oldMethodName"], [65, 1, 1, "_CPPv4N10CutterCore11renameClassERK7QStringRK7QString", "CutterCore::renameClass"], [65, 2, 1, "_CPPv4N10CutterCore11renameClassERK7QStringRK7QString", "CutterCore::renameClass::newName"], [65, 2, 1, "_CPPv4N10CutterCore11renameClassERK7QStringRK7QString", "CutterCore::renameClass::oldName"], [65, 1, 1, "_CPPv4N10CutterCore10renameFlagE7QString7QString", "CutterCore::renameFlag"], [65, 2, 1, "_CPPv4N10CutterCore10renameFlagE7QString7QString", "CutterCore::renameFlag::new_name"], [65, 2, 1, "_CPPv4N10CutterCore10renameFlagE7QString7QString", "CutterCore::renameFlag::old_name"], [65, 1, 1, "_CPPv4N10CutterCore14renameFunctionEK3RVARK7QString", "CutterCore::renameFunction"], [65, 2, 1, "_CPPv4N10CutterCore14renameFunctionEK3RVARK7QString", "CutterCore::renameFunction::newName"], [65, 2, 1, "_CPPv4N10CutterCore14renameFunctionEK3RVARK7QString", "CutterCore::renameFunction::offset"], [65, 1, 1, "_CPPv4N10CutterCore22renameFunctionVariableE7QString7QString3RVA", "CutterCore::renameFunctionVariable"], [65, 2, 1, "_CPPv4N10CutterCore22renameFunctionVariableE7QString7QString3RVA", "CutterCore::renameFunctionVariable::functionAddress"], [65, 2, 1, "_CPPv4N10CutterCore22renameFunctionVariableE7QString7QString3RVA", "CutterCore::renameFunctionVariable::newName"], [65, 2, 1, "_CPPv4N10CutterCore22renameFunctionVariableE7QString7QString3RVA", "CutterCore::renameFunctionVariable::oldName"], [65, 1, 1, "_CPPv4N10CutterCore15resetWriteCacheEv", "CutterCore::resetWriteCache"], [65, 1, 1, "_CPPv4N10CutterCore24sanitizeStringForCommandE7QString", "CutterCore::sanitizeStringForCommand"], [65, 2, 1, "_CPPv4N10CutterCore24sanitizeStringForCommandE7QString", "CutterCore::sanitizeStringForCommand::s"], [65, 1, 1, "_CPPv4N10CutterCore6sdbGetE7QString7QString", "CutterCore::sdbGet"], [65, 2, 1, "_CPPv4N10CutterCore6sdbGetE7QString7QString", "CutterCore::sdbGet::key"], [65, 2, 1, "_CPPv4N10CutterCore6sdbGetE7QString7QString", "CutterCore::sdbGet::path"], [65, 1, 1, "_CPPv4N10CutterCore7sdbListE7QString", "CutterCore::sdbList"], [65, 2, 1, "_CPPv4N10CutterCore7sdbListE7QString", "CutterCore::sdbList::path"], [65, 1, 1, "_CPPv4N10CutterCore11sdbListKeysE7QString", "CutterCore::sdbListKeys"], [65, 2, 1, "_CPPv4N10CutterCore11sdbListKeysE7QString", "CutterCore::sdbListKeys::path"], [65, 1, 1, "_CPPv4N10CutterCore6sdbSetE7QString7QString7QString", "CutterCore::sdbSet"], [65, 2, 1, "_CPPv4N10CutterCore6sdbSetE7QString7QString7QString", "CutterCore::sdbSet::key"], [65, 2, 1, "_CPPv4N10CutterCore6sdbSetE7QString7QString7QString", "CutterCore::sdbSet::path"], [65, 2, 1, "_CPPv4N10CutterCore6sdbSetE7QString7QString7QString", "CutterCore::sdbSet::val"], [65, 1, 1, "_CPPv4N10CutterCore4seekE4ut64", "CutterCore::seek"], [65, 1, 1, "_CPPv4N10CutterCore4seekE7QString", "CutterCore::seek"], [65, 2, 1, "_CPPv4N10CutterCore4seekE4ut64", "CutterCore::seek::offset"], [65, 2, 1, "_CPPv4N10CutterCore4seekE7QString", "CutterCore::seek::thing"], [65, 1, 1, "_CPPv4N10CutterCore11seekAndShowE4ut64", "CutterCore::seekAndShow"], [65, 1, 1, "_CPPv4N10CutterCore11seekAndShowE7QString", "CutterCore::seekAndShow"], [65, 2, 1, "_CPPv4N10CutterCore11seekAndShowE4ut64", "CutterCore::seekAndShow::offset"], [65, 2, 1, "_CPPv4N10CutterCore11seekAndShowE7QString", "CutterCore::seekAndShow::thing"], [65, 1, 1, "_CPPv4N10CutterCore11seekChangedE3RVA15SeekHistoryType", "CutterCore::seekChanged"], [65, 2, 1, "_CPPv4N10CutterCore11seekChangedE3RVA15SeekHistoryType", "CutterCore::seekChanged::offset"], [65, 2, 1, "_CPPv4N10CutterCore11seekChangedE3RVA15SeekHistoryType", "CutterCore::seekChanged::type"], [65, 1, 1, "_CPPv4N10CutterCore8seekNextEv", "CutterCore::seekNext"], [65, 1, 1, "_CPPv4N10CutterCore8seekPrevEv", "CutterCore::seekPrev"], [65, 1, 1, "_CPPv4N10CutterCore10seekSilentE4ut64", "CutterCore::seekSilent"], [65, 1, 1, "_CPPv4N10CutterCore10seekSilentE7QString", "CutterCore::seekSilent"], [65, 2, 1, "_CPPv4N10CutterCore10seekSilentE4ut64", "CutterCore::seekSilent::offset"], [65, 2, 1, "_CPPv4N10CutterCore10seekSilentE7QString", "CutterCore::seekSilent::thing"], [65, 1, 1, "_CPPv4N10CutterCore8seekTempE3RVA", "CutterCore::seekTemp"], [65, 2, 1, "_CPPv4N10CutterCore8seekTempE3RVA", "CutterCore::seekTemp::address"], [65, 1, 1, "_CPPv4N10CutterCore17setAnalysisMethodERK7QStringRK25AnalysisMethodDescription", "CutterCore::setAnalysisMethod"], [65, 2, 1, "_CPPv4N10CutterCore17setAnalysisMethodERK7QStringRK25AnalysisMethodDescription", "CutterCore::setAnalysisMethod::cls"], [65, 2, 1, "_CPPv4N10CutterCore17setAnalysisMethodERK7QStringRK25AnalysisMethodDescription", "CutterCore::setAnalysisMethod::meth"], [65, 1, 1, "_CPPv4N10CutterCore11setAsStringE3RVAi17StringTypeFormats", "CutterCore::setAsString"], [65, 2, 1, "_CPPv4N10CutterCore11setAsStringE3RVAi17StringTypeFormats", "CutterCore::setAsString::addr"], [65, 2, 1, "_CPPv4N10CutterCore11setAsStringE3RVAi17StringTypeFormats", "CutterCore::setAsString::size"], [65, 2, 1, "_CPPv4N10CutterCore11setAsStringE3RVAi17StringTypeFormats", "CutterCore::setAsString::type"], [65, 1, 1, "_CPPv4N10CutterCore18setBreakpointTraceEib", "CutterCore::setBreakpointTrace"], [65, 2, 1, "_CPPv4N10CutterCore18setBreakpointTraceEib", "CutterCore::setBreakpointTrace::enabled"], [65, 2, 1, "_CPPv4N10CutterCore18setBreakpointTraceEib", "CutterCore::setBreakpointTrace::index"], [65, 1, 1, "_CPPv4N10CutterCore6setCPUE7QString7QStringi", "CutterCore::setCPU"], [65, 2, 1, "_CPPv4N10CutterCore6setCPUE7QString7QStringi", "CutterCore::setCPU::arch"], [65, 2, 1, "_CPPv4N10CutterCore6setCPUE7QString7QStringi", "CutterCore::setCPU::bits"], [65, 2, 1, "_CPPv4N10CutterCore6setCPUE7QString7QStringi", "CutterCore::setCPU::cpu"], [65, 1, 1, "_CPPv4N10CutterCore8setColorERK7QStringRK7QString", "CutterCore::setColor"], [65, 2, 1, "_CPPv4N10CutterCore8setColorERK7QStringRK7QString", "CutterCore::setColor::color"], [65, 2, 1, "_CPPv4N10CutterCore8setColorERK7QStringRK7QString", "CutterCore::setColor::key"], [65, 1, 1, "_CPPv4N10CutterCore10setCommentE3RVARK7QString", "CutterCore::setComment"], [65, 2, 1, "_CPPv4N10CutterCore10setCommentE3RVARK7QString", "CutterCore::setComment::addr"], [65, 2, 1, "_CPPv4N10CutterCore10setCommentE3RVARK7QString", "CutterCore::setComment::cmt"], [65, 1, 1, "_CPPv4N10CutterCore9setConfigEPKcPKc", "CutterCore::setConfig"], [65, 1, 1, "_CPPv4N10CutterCore9setConfigEPKcRK7QString", "CutterCore::setConfig"], [65, 1, 1, "_CPPv4N10CutterCore9setConfigEPKcRK8QVariant", "CutterCore::setConfig"], [65, 1, 1, "_CPPv4N10CutterCore9setConfigEPKcb", "CutterCore::setConfig"], [65, 1, 1, "_CPPv4N10CutterCore9setConfigEPKci", "CutterCore::setConfig"], [65, 1, 1, "_CPPv4N10CutterCore9setConfigERK7QStringPKc", "CutterCore::setConfig"], [65, 1, 1, "_CPPv4N10CutterCore9setConfigERK7QStringRK7QString", "CutterCore::setConfig"], [65, 1, 1, "_CPPv4N10CutterCore9setConfigERK7QStringRK8QVariant", "CutterCore::setConfig"], [65, 1, 1, "_CPPv4N10CutterCore9setConfigERK7QStringb", "CutterCore::setConfig"], [65, 1, 1, "_CPPv4N10CutterCore9setConfigERK7QStringi", "CutterCore::setConfig"], [65, 2, 1, "_CPPv4N10CutterCore9setConfigEPKcPKc", "CutterCore::setConfig::k"], [65, 2, 1, "_CPPv4N10CutterCore9setConfigEPKcRK7QString", "CutterCore::setConfig::k"], [65, 2, 1, "_CPPv4N10CutterCore9setConfigEPKcRK8QVariant", "CutterCore::setConfig::k"], [65, 2, 1, "_CPPv4N10CutterCore9setConfigEPKcb", "CutterCore::setConfig::k"], [65, 2, 1, "_CPPv4N10CutterCore9setConfigEPKci", "CutterCore::setConfig::k"], [65, 2, 1, "_CPPv4N10CutterCore9setConfigERK7QStringPKc", "CutterCore::setConfig::k"], [65, 2, 1, "_CPPv4N10CutterCore9setConfigERK7QStringRK7QString", "CutterCore::setConfig::k"], [65, 2, 1, "_CPPv4N10CutterCore9setConfigERK7QStringRK8QVariant", "CutterCore::setConfig::k"], [65, 2, 1, "_CPPv4N10CutterCore9setConfigERK7QStringb", "CutterCore::setConfig::k"], [65, 2, 1, "_CPPv4N10CutterCore9setConfigERK7QStringi", "CutterCore::setConfig::k"], [65, 2, 1, "_CPPv4N10CutterCore9setConfigEPKcPKc", "CutterCore::setConfig::v"], [65, 2, 1, "_CPPv4N10CutterCore9setConfigEPKcRK7QString", "CutterCore::setConfig::v"], [65, 2, 1, "_CPPv4N10CutterCore9setConfigEPKcRK8QVariant", "CutterCore::setConfig::v"], [65, 2, 1, "_CPPv4N10CutterCore9setConfigEPKcb", "CutterCore::setConfig::v"], [65, 2, 1, "_CPPv4N10CutterCore9setConfigEPKci", "CutterCore::setConfig::v"], [65, 2, 1, "_CPPv4N10CutterCore9setConfigERK7QStringPKc", "CutterCore::setConfig::v"], [65, 2, 1, "_CPPv4N10CutterCore9setConfigERK7QStringRK7QString", "CutterCore::setConfig::v"], [65, 2, 1, "_CPPv4N10CutterCore9setConfigERK7QStringRK8QVariant", "CutterCore::setConfig::v"], [65, 2, 1, "_CPPv4N10CutterCore9setConfigERK7QStringb", "CutterCore::setConfig::v"], [65, 2, 1, "_CPPv4N10CutterCore9setConfigERK7QStringi", "CutterCore::setConfig::v"], [65, 1, 1, "_CPPv4N10CutterCore14setCurrentBitsEi3RVA", "CutterCore::setCurrentBits"], [65, 2, 1, "_CPPv4N10CutterCore14setCurrentBitsEi3RVA", "CutterCore::setCurrentBits::bits"], [65, 2, 1, "_CPPv4N10CutterCore14setCurrentBitsEi3RVA", "CutterCore::setCurrentBits::offset"], [65, 1, 1, "_CPPv4N10CutterCore22setCurrentDebugProcessEi", "CutterCore::setCurrentDebugProcess"], [65, 2, 1, "_CPPv4N10CutterCore22setCurrentDebugProcessEi", "CutterCore::setCurrentDebugProcess::pid"], [65, 1, 1, "_CPPv4N10CutterCore21setCurrentDebugThreadEi", "CutterCore::setCurrentDebugThread"], [65, 2, 1, "_CPPv4N10CutterCore21setCurrentDebugThreadEi", "CutterCore::setCurrentDebugThread::tid"], [65, 1, 1, "_CPPv4N10CutterCore14setDebugPluginE7QString", "CutterCore::setDebugPlugin"], [65, 2, 1, "_CPPv4N10CutterCore14setDebugPluginE7QString", "CutterCore::setDebugPlugin::plugin"], [65, 1, 1, "_CPPv4N10CutterCore13setEndiannessEb", "CutterCore::setEndianness"], [65, 2, 1, "_CPPv4N10CutterCore13setEndiannessEb", "CutterCore::setEndianness::big"], [65, 1, 1, "_CPPv4N10CutterCore13setGraphEmptyEb", "CutterCore::setGraphEmpty"], [65, 2, 1, "_CPPv4N10CutterCore13setGraphEmptyEb", "CutterCore::setGraphEmpty::empty"], [65, 1, 1, "_CPPv4N10CutterCore10setIOCacheEb", "CutterCore::setIOCache"], [65, 2, 1, "_CPPv4N10CutterCore10setIOCacheEb", "CutterCore::setIOCache::enabled"], [65, 1, 1, "_CPPv4N10CutterCore16setImmediateBaseERK7QString3RVA", "CutterCore::setImmediateBase"], [65, 2, 1, "_CPPv4N10CutterCore16setImmediateBaseERK7QString3RVA", "CutterCore::setImmediateBase::offset"], [65, 2, 1, "_CPPv4N10CutterCore16setImmediateBaseERK7QString3RVA", "CutterCore::setImmediateBase::rzBaseName"], [65, 1, 1, "_CPPv4N10CutterCore11setRegisterE7QString7QString", "CutterCore::setRegister"], [65, 2, 1, "_CPPv4N10CutterCore11setRegisterE7QString7QString", "CutterCore::setRegister::regName"], [65, 2, 1, "_CPPv4N10CutterCore11setRegisterE7QString7QString", "CutterCore::setRegister::regValue"], [65, 1, 1, "_CPPv4N10CutterCore11setSettingsEv", "CutterCore::setSettings"], [65, 1, 1, "_CPPv4N10CutterCore9setToCodeE3RVA", "CutterCore::setToCode"], [65, 2, 1, "_CPPv4N10CutterCore9setToCodeE3RVA", "CutterCore::setToCode::addr"], [65, 1, 1, "_CPPv4N10CutterCore9setToDataE3RVAii", "CutterCore::setToData"], [65, 2, 1, "_CPPv4N10CutterCore9setToDataE3RVAii", "CutterCore::setToData::addr"], [65, 2, 1, "_CPPv4N10CutterCore9setToDataE3RVAii", "CutterCore::setToData::repeat"], [65, 2, 1, "_CPPv4N10CutterCore9setToDataE3RVAii", "CutterCore::setToData::size"], [65, 1, 1, "_CPPv4N10CutterCore12setWriteModeEb", "CutterCore::setWriteMode"], [65, 2, 1, "_CPPv4N10CutterCore12setWriteModeEb", "CutterCore::setWriteMode::enabled"], [65, 1, 1, "_CPPv4N10CutterCore16showMemoryWidgetEv", "CutterCore::showMemoryWidget"], [65, 1, 1, "_CPPv4N10CutterCore25showMemoryWidgetRequestedEv", "CutterCore::showMemoryWidgetRequested"], [65, 1, 1, "_CPPv4N10CutterCore14sizeofDataMetaE3RVA", "CutterCore::sizeofDataMeta"], [65, 2, 1, "_CPPv4N10CutterCore14sizeofDataMetaE3RVA", "CutterCore::sizeofDataMeta::addr"], [65, 1, 1, "_CPPv4N10CutterCore12stackChangedEv", "CutterCore::stackChanged"], [65, 1, 1, "_CPPv4N10CutterCore10startDebugEv", "CutterCore::startDebug"], [65, 1, 1, "_CPPv4N10CutterCore14startEmulationEv", "CutterCore::startEmulation"], [65, 1, 1, "_CPPv4N10CutterCore17startTraceSessionEv", "CutterCore::startTraceSession"], [65, 1, 1, "_CPPv4N10CutterCore13stepBackDebugEv", "CutterCore::stepBackDebug"], [65, 1, 1, "_CPPv4N10CutterCore9stepDebugEv", "CutterCore::stepDebug"], [65, 1, 1, "_CPPv4N10CutterCore12stepOutDebugEv", "CutterCore::stepOutDebug"], [65, 1, 1, "_CPPv4N10CutterCore13stepOverDebugEv", "CutterCore::stepOverDebug"], [65, 1, 1, "_CPPv4N10CutterCore9stopDebugEv", "CutterCore::stopDebug"], [65, 1, 1, "_CPPv4N10CutterCore16stopTraceSessionEv", "CutterCore::stopTraceSession"], [65, 1, 1, "_CPPv4N10CutterCore12suspendDebugEv", "CutterCore::suspendDebug"], [65, 1, 1, "_CPPv4N10CutterCore15switchedProcessEv", "CutterCore::switchedProcess"], [65, 1, 1, "_CPPv4N10CutterCore14switchedThreadEv", "CutterCore::switchedThread"], [65, 1, 1, "_CPPv4N10CutterCore25syncAndSeekProgramCounterEv", "CutterCore::syncAndSeekProgramCounter"], [65, 1, 1, "_CPPv4N10CutterCore16toggleBreakpointE3RVA", "CutterCore::toggleBreakpoint"], [65, 2, 1, "_CPPv4N10CutterCore16toggleBreakpointE3RVA", "CutterCore::toggleBreakpoint::addr"], [65, 1, 1, "_CPPv4N10CutterCore15toggleDebugViewEv", "CutterCore::toggleDebugView"], [65, 1, 1, "_CPPv4N10CutterCore24triggerAsmOptionsChangedEv", "CutterCore::triggerAsmOptionsChanged"], [65, 1, 1, "_CPPv4N10CutterCore19triggerFlagsChangedEv", "CutterCore::triggerFlagsChanged"], [65, 1, 1, "_CPPv4N10CutterCore22triggerFunctionRenamedEK3RVARK7QString", "CutterCore::triggerFunctionRenamed"], [65, 2, 1, "_CPPv4N10CutterCore22triggerFunctionRenamedEK3RVARK7QString", "CutterCore::triggerFunctionRenamed::newName"], [65, 2, 1, "_CPPv4N10CutterCore22triggerFunctionRenamedEK3RVARK7QString", "CutterCore::triggerFunctionRenamed::offset"], [65, 1, 1, "_CPPv4N10CutterCore26triggerGraphOptionsChangedEv", "CutterCore::triggerGraphOptionsChanged"], [65, 1, 1, "_CPPv4N10CutterCore17triggerRefreshAllEv", "CutterCore::triggerRefreshAll"], [65, 1, 1, "_CPPv4N10CutterCore18triggerVarsChangedEv", "CutterCore::triggerVarsChanged"], [65, 1, 1, "_CPPv4N10CutterCore7tryFileE7QStringb", "CutterCore::tryFile"], [65, 2, 1, "_CPPv4N10CutterCore7tryFileE7QStringb", "CutterCore::tryFile::path"], [65, 2, 1, "_CPPv4N10CutterCore7tryFileE7QStringb", "CutterCore::tryFile::rw"], [65, 1, 1, "_CPPv4N10CutterCore16updateBreakpointEiRK21BreakpointDescription", "CutterCore::updateBreakpoint"], [65, 2, 1, "_CPPv4N10CutterCore16updateBreakpointEiRK21BreakpointDescription", "CutterCore::updateBreakpoint::config"], [65, 2, 1, "_CPPv4N10CutterCore16updateBreakpointEiRK21BreakpointDescription", "CutterCore::updateBreakpoint::index"], [65, 1, 1, "_CPPv4N10CutterCore10updateSeekE15SeekHistoryType", "CutterCore::updateSeek"], [65, 2, 1, "_CPPv4N10CutterCore10updateSeekE15SeekHistoryType", "CutterCore::updateSeek::type"], [65, 1, 1, "_CPPv4N10CutterCore11varsChangedEv", "CutterCore::varsChanged"], [65, 1, 1, "_CPPv4N10CutterCore24writeGraphvizGraphToFileE7QString7QString15RzCoreGraphType3RVA", "CutterCore::writeGraphvizGraphToFile"], [65, 2, 1, "_CPPv4N10CutterCore24writeGraphvizGraphToFileE7QString7QString15RzCoreGraphType3RVA", "CutterCore::writeGraphvizGraphToFile::address"], [65, 2, 1, "_CPPv4N10CutterCore24writeGraphvizGraphToFileE7QString7QString15RzCoreGraphType3RVA", "CutterCore::writeGraphvizGraphToFile::format"], [65, 2, 1, "_CPPv4N10CutterCore24writeGraphvizGraphToFileE7QString7QString15RzCoreGraphType3RVA", "CutterCore::writeGraphvizGraphToFile::path"], [65, 2, 1, "_CPPv4N10CutterCore24writeGraphvizGraphToFileE7QString7QString15RzCoreGraphType3RVA", "CutterCore::writeGraphvizGraphToFile::type"], [65, 1, 1, "_CPPv4N10CutterCore14writeHeapChunkEP17RzHeapChunkSimple", "CutterCore::writeHeapChunk"], [65, 2, 1, "_CPPv4N10CutterCore14writeHeapChunkEP17RzHeapChunkSimple", "CutterCore::writeHeapChunk::chunkSimple"], [65, 1, 1, "_CPPv4N10CutterCore16writeModeChangedEb", "CutterCore::writeModeChanged"], [65, 2, 1, "_CPPv4N10CutterCore16writeModeChangedEb", "CutterCore::writeModeChanged::newval"], [65, 1, 1, "_CPPv4N10CutterCoreD0Ev", "CutterCore::~CutterCore"], [216, 0, 1, "_CPPv416CutterDockWidget", "CutterDockWidget"], [216, 1, 1, "_CPPv4N16CutterDockWidget16CutterDockWidgetEP10MainWindow", "CutterDockWidget::CutterDockWidget"], [216, 1, 1, "_CPPv4N16CutterDockWidget16CutterDockWidgetEP10MainWindowP7QAction", "CutterDockWidget::CutterDockWidget"], [216, 2, 1, "_CPPv4N16CutterDockWidget16CutterDockWidgetEP10MainWindowP7QAction", "CutterDockWidget::CutterDockWidget::action"], [216, 2, 1, "_CPPv4N16CutterDockWidget16CutterDockWidgetEP10MainWindow", "CutterDockWidget::CutterDockWidget::parent"], [216, 2, 1, "_CPPv4N16CutterDockWidget16CutterDockWidgetEP10MainWindowP7QAction", "CutterDockWidget::CutterDockWidget::parent"], [216, 1, 1, "_CPPv4N16CutterDockWidget19becameVisibleToUserEv", "CutterDockWidget::becameVisibleToUser"], [216, 1, 1, "_CPPv4N16CutterDockWidget6closedEv", "CutterDockWidget::closed"], [216, 1, 1, "_CPPv4I0EN16CutterDockWidget21createRefreshDeferrerEP15RefreshDeferrer4Func", "CutterDockWidget::createRefreshDeferrer"], [216, 4, 1, "_CPPv4I0EN16CutterDockWidget21createRefreshDeferrerEP15RefreshDeferrer4Func", "CutterDockWidget::createRefreshDeferrer::Func"], [216, 2, 1, "_CPPv4I0EN16CutterDockWidget21createRefreshDeferrerEP15RefreshDeferrer4Func", "CutterDockWidget::createRefreshDeferrer::refreshNowFunc"], [216, 1, 1, "_CPPv4I00EN16CutterDockWidget30createReplacingRefreshDeferrerEP15RefreshDeferrerb4Func", "CutterDockWidget::createReplacingRefreshDeferrer"], [216, 4, 1, "_CPPv4I00EN16CutterDockWidget30createReplacingRefreshDeferrerEP15RefreshDeferrerb4Func", "CutterDockWidget::createReplacingRefreshDeferrer::Func"], [216, 4, 1, "_CPPv4I00EN16CutterDockWidget30createReplacingRefreshDeferrerEP15RefreshDeferrerb4Func", "CutterDockWidget::createReplacingRefreshDeferrer::ParamResult"], [216, 2, 1, "_CPPv4I00EN16CutterDockWidget30createReplacingRefreshDeferrerEP15RefreshDeferrerb4Func", "CutterDockWidget::createReplacingRefreshDeferrer::refreshNowFunc"], [216, 2, 1, "_CPPv4I00EN16CutterDockWidget30createReplacingRefreshDeferrerEP15RefreshDeferrerb4Func", "CutterDockWidget::createReplacingRefreshDeferrer::replaceIfNull"], [216, 1, 1, "_CPPv4N16CutterDockWidget25deserializeViewPropertiesERK11QVariantMap", "CutterDockWidget::deserializeViewProperties"], [216, 2, 1, "_CPPv4N16CutterDockWidget25deserializeViewPropertiesERK11QVariantMap", "CutterDockWidget::deserializeViewProperties::properties"], [216, 1, 1, "_CPPv4N16CutterDockWidget11eventFilterEP7QObjectP6QEvent", "CutterDockWidget::eventFilter"], [216, 2, 1, "_CPPv4N16CutterDockWidget11eventFilterEP7QObjectP6QEvent", "CutterDockWidget::eventFilter::event"], [216, 2, 1, "_CPPv4N16CutterDockWidget11eventFilterEP7QObjectP6QEvent", "CutterDockWidget::eventFilter::object"], [216, 1, 1, "_CPPv4N16CutterDockWidget22ignoreVisibilityStatusEb", "CutterDockWidget::ignoreVisibilityStatus"], [216, 2, 1, "_CPPv4N16CutterDockWidget22ignoreVisibilityStatusEb", "CutterDockWidget::ignoreVisibilityStatus::ignored"], [216, 1, 1, "_CPPv4N16CutterDockWidget15isVisibleToUserEv", "CutterDockWidget::isVisibleToUser"], [216, 1, 1, "_CPPv4N16CutterDockWidget17raiseMemoryWidgetEv", "CutterDockWidget::raiseMemoryWidget"], [216, 1, 1, "_CPPv4N16CutterDockWidget22serializeViewProprtiesEv", "CutterDockWidget::serializeViewProprties"], [216, 1, 1, "_CPPv4N16CutterDockWidget12setTransientEb", "CutterDockWidget::setTransient"], [216, 2, 1, "_CPPv4N16CutterDockWidget12setTransientEb", "CutterDockWidget::setTransient::v"], [216, 1, 1, "_CPPv4N16CutterDockWidget16toggleDockWidgetEb", "CutterDockWidget::toggleDockWidget"], [216, 2, 1, "_CPPv4N16CutterDockWidget16toggleDockWidgetEb", "CutterDockWidget::toggleDockWidget::show"], [216, 1, 1, "_CPPv4N16CutterDockWidgetD0Ev", "CutterDockWidget::~CutterDockWidget"], [217, 0, 1, "_CPPv415CutterGraphView", "CutterGraphView"], [217, 1, 1, "_CPPv4N15CutterGraphView15CutterGraphViewEP7QWidget", "CutterGraphView::CutterGraphView"], [217, 2, 1, "_CPPv4N15CutterGraphView15CutterGraphViewEP7QWidget", "CutterGraphView::CutterGraphView::parent"], [217, 5, 1, "_CPPv4N15CutterGraphView15GraphExportTypeE", "CutterGraphView::GraphExportType"], [217, 6, 1, "_CPPv4N15CutterGraphView15GraphExportType5GVDotE", "CutterGraphView::GraphExportType::GVDot"], [217, 6, 1, "_CPPv4N15CutterGraphView15GraphExportType5GVGifE", "CutterGraphView::GraphExportType::GVGif"], [217, 6, 1, "_CPPv4N15CutterGraphView15GraphExportType6GVJpegE", "CutterGraphView::GraphExportType::GVJpeg"], [217, 6, 1, "_CPPv4N15CutterGraphView15GraphExportType6GVJsonE", "CutterGraphView::GraphExportType::GVJson"], [217, 6, 1, "_CPPv4N15CutterGraphView15GraphExportType5GVPdfE", "CutterGraphView::GraphExportType::GVPdf"], [217, 6, 1, "_CPPv4N15CutterGraphView15GraphExportType5GVPngE", "CutterGraphView::GraphExportType::GVPng"], [217, 6, 1, "_CPPv4N15CutterGraphView15GraphExportType12GVPostScriptE", "CutterGraphView::GraphExportType::GVPostScript"], [217, 6, 1, "_CPPv4N15CutterGraphView15GraphExportType5GVSvgE", "CutterGraphView::GraphExportType::GVSvg"], [217, 6, 1, "_CPPv4N15CutterGraphView15GraphExportType4JpegE", "CutterGraphView::GraphExportType::Jpeg"], [217, 6, 1, "_CPPv4N15CutterGraphView15GraphExportType3PngE", "CutterGraphView::GraphExportType::Png"], [217, 6, 1, "_CPPv4N15CutterGraphView15GraphExportType5RzGmlE", "CutterGraphView::GraphExportType::RzGml"], [217, 6, 1, "_CPPv4N15CutterGraphView15GraphExportType6RzJsonE", "CutterGraphView::GraphExportType::RzJson"], [217, 6, 1, "_CPPv4N15CutterGraphView15GraphExportType3SvgE", "CutterGraphView::GraphExportType::Svg"], [217, 1, 1, "_CPPv4N15CutterGraphView5eventEP6QEvent", "CutterGraphView::event"], [217, 2, 1, "_CPPv4N15CutterGraphView5eventEP6QEvent", "CutterGraphView::event::event"], [217, 1, 1, "_CPPv4N15CutterGraphView11exportGraphE7QString15GraphExportType15RzCoreGraphType3RVA", "CutterGraphView::exportGraph"], [217, 2, 1, "_CPPv4N15CutterGraphView11exportGraphE7QString15GraphExportType15RzCoreGraphType3RVA", "CutterGraphView::exportGraph::address"], [217, 2, 1, "_CPPv4N15CutterGraphView11exportGraphE7QString15GraphExportType15RzCoreGraphType3RVA", "CutterGraphView::exportGraph::exportType"], [217, 2, 1, "_CPPv4N15CutterGraphView11exportGraphE7QString15GraphExportType15RzCoreGraphType3RVA", "CutterGraphView::exportGraph::filePath"], [217, 2, 1, "_CPPv4N15CutterGraphView11exportGraphE7QString15GraphExportType15RzCoreGraphType3RVA", "CutterGraphView::exportGraph::graphType"], [217, 1, 1, "_CPPv4N15CutterGraphView17exportRzTextGraphE7QString15RzCoreGraphType17RzCoreGraphFormat3RVA", "CutterGraphView::exportRzTextGraph"], [217, 2, 1, "_CPPv4N15CutterGraphView17exportRzTextGraphE7QString15RzCoreGraphType17RzCoreGraphFormat3RVA", "CutterGraphView::exportRzTextGraph::address"], [217, 2, 1, "_CPPv4N15CutterGraphView17exportRzTextGraphE7QString15RzCoreGraphType17RzCoreGraphFormat3RVA", "CutterGraphView::exportRzTextGraph::filePath"], [217, 2, 1, "_CPPv4N15CutterGraphView17exportRzTextGraphE7QString15RzCoreGraphType17RzCoreGraphFormat3RVA", "CutterGraphView::exportRzTextGraph::format"], [217, 2, 1, "_CPPv4N15CutterGraphView17exportRzTextGraphE7QString15RzCoreGraphType17RzCoreGraphFormat3RVA", "CutterGraphView::exportRzTextGraph::type"], [217, 1, 1, "_CPPv4N15CutterGraphView16fontsUpdatedSlotEv", "CutterGraphView::fontsUpdatedSlot"], [217, 1, 1, "_CPPv4N15CutterGraphView13graphIsBitampE15GraphExportType", "CutterGraphView::graphIsBitamp"], [217, 2, 1, "_CPPv4N15CutterGraphView13graphIsBitampE15GraphExportType", "CutterGraphView::graphIsBitamp::type"], [217, 1, 1, "_CPPv4N15CutterGraphView10graphMovedEv", "CutterGraphView::graphMoved"], [217, 1, 1, "_CPPv4N15CutterGraphView11refreshViewEv", "CutterGraphView::refreshView"], [217, 1, 1, "_CPPv4N15CutterGraphView7resizedEv", "CutterGraphView::resized"], [217, 1, 1, "_CPPv4N15CutterGraphView7setZoomE7QPointFd", "CutterGraphView::setZoom"], [217, 2, 1, "_CPPv4N15CutterGraphView7setZoomE7QPointFd", "CutterGraphView::setZoom::mouseRelativePos"], [217, 2, 1, "_CPPv4N15CutterGraphView7setZoomE7QPointFd", "CutterGraphView::setZoom::scale"], [217, 1, 1, "_CPPv4N15CutterGraphView16showExportDialogEv", "CutterGraphView::showExportDialog"], [217, 1, 1, "_CPPv4N15CutterGraphView21showExportGraphDialogE7QString15RzCoreGraphType3RVA", "CutterGraphView::showExportGraphDialog"], [217, 2, 1, "_CPPv4N15CutterGraphView21showExportGraphDialogE7QString15RzCoreGraphType3RVA", "CutterGraphView::showExportGraphDialog::address"], [217, 2, 1, "_CPPv4N15CutterGraphView21showExportGraphDialogE7QString15RzCoreGraphType3RVA", "CutterGraphView::showExportGraphDialog::defaultName"], [217, 2, 1, "_CPPv4N15CutterGraphView21showExportGraphDialogE7QString15RzCoreGraphType3RVA", "CutterGraphView::showExportGraphDialog::type"], [217, 1, 1, "_CPPv4N15CutterGraphView12updateColorsEv", "CutterGraphView::updateColors"], [217, 1, 1, "_CPPv4N15CutterGraphView13viewRefreshedEv", "CutterGraphView::viewRefreshed"], [217, 1, 1, "_CPPv4N15CutterGraphView10viewZoomedEv", "CutterGraphView::viewZoomed"], [217, 1, 1, "_CPPv4N15CutterGraphView4zoomE7QPointFd", "CutterGraphView::zoom"], [217, 2, 1, "_CPPv4N15CutterGraphView4zoomE7QPointFd", "CutterGraphView::zoom::mouseRelativePos"], [217, 2, 1, "_CPPv4N15CutterGraphView4zoomE7QPointFd", "CutterGraphView::zoom::velocity"], [217, 1, 1, "_CPPv4N15CutterGraphView6zoomInEv", "CutterGraphView::zoomIn"], [217, 1, 1, "_CPPv4N15CutterGraphView7zoomOutEv", "CutterGraphView::zoomOut"], [217, 1, 1, "_CPPv4N15CutterGraphView9zoomResetEv", "CutterGraphView::zoomReset"], [50, 0, 1, "_CPPv420CutterInterfaceTheme", "CutterInterfaceTheme"], [50, 3, 1, "_CPPv4N20CutterInterfaceTheme4flagE", "CutterInterfaceTheme::flag"], [50, 3, 1, "_CPPv4N20CutterInterfaceTheme4nameE", "CutterInterfaceTheme::name"], [67, 0, 1, "_CPPv410CutterJson", "CutterJson"], [67, 1, 1, "_CPPv4N10CutterJson10CutterJsonEPK6RzJson14QSharedPointerI15CutterJsonOwnerE", "CutterJson::CutterJson"], [67, 1, 1, "_CPPv4N10CutterJson10CutterJsonEv", "CutterJson::CutterJson"], [67, 2, 1, "_CPPv4N10CutterJson10CutterJsonEPK6RzJson14QSharedPointerI15CutterJsonOwnerE", "CutterJson::CutterJson::owner"], [67, 2, 1, "_CPPv4N10CutterJson10CutterJsonEPK6RzJson14QSharedPointerI15CutterJsonOwnerE", "CutterJson::CutterJson::value"], [67, 1, 1, "_CPPv4NK10CutterJson5beginEv", "CutterJson::begin"], [67, 1, 1, "_CPPv4NK10CutterJson3endEv", "CutterJson::end"], [67, 1, 1, "_CPPv4NK10CutterJson5firstEv", "CutterJson::first"], [67, 0, 1, "_CPPv4N10CutterJson8iteratorE", "CutterJson::iterator"], [69, 0, 1, "_CPPv4N10CutterJson8iteratorE", "CutterJson::iterator"], [67, 1, 1, "_CPPv4N10CutterJson8iterator8iteratorEPK6RzJson14QSharedPointerI15CutterJsonOwnerE", "CutterJson::iterator::iterator"], [69, 1, 1, "_CPPv4N10CutterJson8iterator8iteratorEPK6RzJson14QSharedPointerI15CutterJsonOwnerE", "CutterJson::iterator::iterator"], [67, 2, 1, "_CPPv4N10CutterJson8iterator8iteratorEPK6RzJson14QSharedPointerI15CutterJsonOwnerE", "CutterJson::iterator::iterator::owner"], [69, 2, 1, "_CPPv4N10CutterJson8iterator8iteratorEPK6RzJson14QSharedPointerI15CutterJsonOwnerE", "CutterJson::iterator::iterator::owner"], [67, 2, 1, "_CPPv4N10CutterJson8iterator8iteratorEPK6RzJson14QSharedPointerI15CutterJsonOwnerE", "CutterJson::iterator::iterator::value"], [69, 2, 1, "_CPPv4N10CutterJson8iterator8iteratorEPK6RzJson14QSharedPointerI15CutterJsonOwnerE", "CutterJson::iterator::iterator::value"], [67, 1, 1, "_CPPv4NK10CutterJson8iteratorneERK8iterator", "CutterJson::iterator::operator!="], [69, 1, 1, "_CPPv4NK10CutterJson8iteratorneERK8iterator", "CutterJson::iterator::operator!="], [67, 2, 1, "_CPPv4NK10CutterJson8iteratorneERK8iterator", "CutterJson::iterator::operator!=::other"], [69, 2, 1, "_CPPv4NK10CutterJson8iteratorneERK8iterator", "CutterJson::iterator::operator!=::other"], [67, 1, 1, "_CPPv4NK10CutterJson8iteratormlEv", "CutterJson::iterator::operator*"], [69, 1, 1, "_CPPv4NK10CutterJson8iteratormlEv", "CutterJson::iterator::operator*"], [67, 1, 1, "_CPPv4N10CutterJson8iteratorppEv", "CutterJson::iterator::operator++"], [69, 1, 1, "_CPPv4N10CutterJson8iteratorppEv", "CutterJson::iterator::operator++"], [67, 1, 1, "_CPPv4NK10CutterJson3keyEv", "CutterJson::key"], [67, 1, 1, "_CPPv4NK10CutterJson4keysEv", "CutterJson::keys"], [67, 1, 1, "_CPPv4NK10CutterJson4lastEv", "CutterJson::last"], [67, 1, 1, "_CPPv4NK10CutterJson13lowLevelValueEv", "CutterJson::lowLevelValue"], [67, 1, 1, "_CPPv4NK10CutterJsonixEPKc", "CutterJson::operator[]"], [67, 1, 1, "_CPPv4NK10CutterJsonixERK7QString", "CutterJson::operator[]"], [67, 2, 1, "_CPPv4NK10CutterJsonixEPKc", "CutterJson::operator[]::key"], [67, 2, 1, "_CPPv4NK10CutterJsonixERK7QString", "CutterJson::operator[]::key"], [67, 1, 1, "_CPPv4NK10CutterJson4sizeEv", "CutterJson::size"], [67, 1, 1, "_CPPv4NK10CutterJson6toBoolEv", "CutterJson::toBool"], [67, 1, 1, "_CPPv4NK10CutterJson5toRVAEv", "CutterJson::toRVA"], [67, 1, 1, "_CPPv4NK10CutterJson6toSt64Ev", "CutterJson::toSt64"], [67, 1, 1, "_CPPv4NK10CutterJson8toStringEv", "CutterJson::toString"], [67, 1, 1, "_CPPv4NK10CutterJson6toUt64Ev", "CutterJson::toUt64"], [67, 1, 1, "_CPPv4NK10CutterJson4typeEv", "CutterJson::type"], [67, 1, 1, "_CPPv4NK10CutterJson5validEv", "CutterJson::valid"], [68, 0, 1, "_CPPv415CutterJsonOwner", "CutterJsonOwner"], [68, 1, 1, "_CPPv4N15CutterJsonOwner15CutterJsonOwnerEP6RzJsonPc", "CutterJsonOwner::CutterJsonOwner"], [68, 2, 1, "_CPPv4N15CutterJsonOwner15CutterJsonOwnerEP6RzJsonPc", "CutterJsonOwner::CutterJsonOwner::text"], [68, 2, 1, "_CPPv4N15CutterJsonOwner15CutterJsonOwnerEP6RzJsonPc", "CutterJsonOwner::CutterJsonOwner::value"], [68, 1, 1, "_CPPv4N15CutterJsonOwnerD0Ev", "CutterJsonOwner::~CutterJsonOwner"], [70, 0, 1, "_CPPv4I0E13CutterPVector", "CutterPVector"], [70, 1, 1, "_CPPv4N13CutterPVector13CutterPVectorEPK9RzPVector", "CutterPVector::CutterPVector"], [70, 2, 1, "_CPPv4N13CutterPVector13CutterPVectorEPK9RzPVector", "CutterPVector::CutterPVector::vec"], [70, 4, 1, "_CPPv4I0E13CutterPVector", "CutterPVector::T"], [70, 1, 1, "_CPPv4NK13CutterPVector5beginEv", "CutterPVector::begin"], [70, 1, 1, "_CPPv4NK13CutterPVector3endEv", "CutterPVector::end"], [70, 0, 1, "_CPPv4N13CutterPVector8iteratorE", "CutterPVector::iterator"], [71, 0, 1, "_CPPv4N13CutterPVector8iteratorE", "CutterPVector::iterator"], [70, 7, 1, "_CPPv4N13CutterPVector8iterator15difference_typeE", "CutterPVector::iterator::difference_type"], [71, 7, 1, "_CPPv4N13CutterPVector8iterator15difference_typeE", "CutterPVector::iterator::difference_type"], [70, 1, 1, "_CPPv4N13CutterPVector8iterator8iteratorEPP1T", "CutterPVector::iterator::iterator"], [70, 1, 1, "_CPPv4N13CutterPVector8iterator8iteratorERK8iterator", "CutterPVector::iterator::iterator"], [71, 1, 1, "_CPPv4N13CutterPVector8iterator8iteratorEPP1T", "CutterPVector::iterator::iterator"], [71, 1, 1, "_CPPv4N13CutterPVector8iterator8iteratorERK8iterator", "CutterPVector::iterator::iterator"], [70, 2, 1, "_CPPv4N13CutterPVector8iterator8iteratorERK8iterator", "CutterPVector::iterator::iterator::o"], [71, 2, 1, "_CPPv4N13CutterPVector8iterator8iteratorERK8iterator", "CutterPVector::iterator::iterator::o"], [70, 2, 1, "_CPPv4N13CutterPVector8iterator8iteratorEPP1T", "CutterPVector::iterator::iterator::p"], [71, 2, 1, "_CPPv4N13CutterPVector8iterator8iteratorEPP1T", "CutterPVector::iterator::iterator::p"], [70, 7, 1, "_CPPv4N13CutterPVector8iterator17iterator_categoryE", "CutterPVector::iterator::iterator_category"], [71, 7, 1, "_CPPv4N13CutterPVector8iterator17iterator_categoryE", "CutterPVector::iterator::iterator_category"], [70, 1, 1, "_CPPv4NK13CutterPVector8iteratorneERK8iterator", "CutterPVector::iterator::operator!="], [71, 1, 1, "_CPPv4NK13CutterPVector8iteratorneERK8iterator", "CutterPVector::iterator::operator!="], [70, 2, 1, "_CPPv4NK13CutterPVector8iteratorneERK8iterator", "CutterPVector::iterator::operator!=::rhs"], [71, 2, 1, "_CPPv4NK13CutterPVector8iteratorneERK8iterator", "CutterPVector::iterator::operator!=::rhs"], [70, 1, 1, "_CPPv4N13CutterPVector8iteratormlEv", "CutterPVector::iterator::operator*"], [71, 1, 1, "_CPPv4N13CutterPVector8iteratormlEv", "CutterPVector::iterator::operator*"], [70, 1, 1, "_CPPv4N13CutterPVector8iteratorppEi", "CutterPVector::iterator::operator++"], [70, 1, 1, "_CPPv4N13CutterPVector8iteratorppEv", "CutterPVector::iterator::operator++"], [71, 1, 1, "_CPPv4N13CutterPVector8iteratorppEi", "CutterPVector::iterator::operator++"], [71, 1, 1, "_CPPv4N13CutterPVector8iteratorppEv", "CutterPVector::iterator::operator++"], [70, 1, 1, "_CPPv4NK13CutterPVector8iteratoreqERK8iterator", "CutterPVector::iterator::operator=="], [71, 1, 1, "_CPPv4NK13CutterPVector8iteratoreqERK8iterator", "CutterPVector::iterator::operator=="], [70, 2, 1, "_CPPv4NK13CutterPVector8iteratoreqERK8iterator", "CutterPVector::iterator::operator==::rhs"], [71, 2, 1, "_CPPv4NK13CutterPVector8iteratoreqERK8iterator", "CutterPVector::iterator::operator==::rhs"], [70, 7, 1, "_CPPv4N13CutterPVector8iterator7pointerE", "CutterPVector::iterator::pointer"], [71, 7, 1, "_CPPv4N13CutterPVector8iterator7pointerE", "CutterPVector::iterator::pointer"], [70, 7, 1, "_CPPv4N13CutterPVector8iterator9referenceE", "CutterPVector::iterator::reference"], [71, 7, 1, "_CPPv4N13CutterPVector8iterator9referenceE", "CutterPVector::iterator::reference"], [70, 7, 1, "_CPPv4N13CutterPVector8iterator10value_typeE", "CutterPVector::iterator::value_type"], [71, 7, 1, "_CPPv4N13CutterPVector8iterator10value_typeE", "CutterPVector::iterator::value_type"], [174, 0, 1, "_CPPv412CutterPlugin", "CutterPlugin"], [174, 1, 1, "_CPPv4NK12CutterPlugin9getAuthorEv", "CutterPlugin::getAuthor"], [174, 1, 1, "_CPPv4NK12CutterPlugin14getDescriptionEv", "CutterPlugin::getDescription"], [174, 1, 1, "_CPPv4NK12CutterPlugin7getNameEv", "CutterPlugin::getName"], [174, 1, 1, "_CPPv4NK12CutterPlugin10getVersionEv", "CutterPlugin::getVersion"], [174, 1, 1, "_CPPv4N12CutterPlugin19registerDecompilersEv", "CutterPlugin::registerDecompilers"], [174, 1, 1, "_CPPv4N12CutterPlugin14setupInterfaceEP10MainWindow", "CutterPlugin::setupInterface"], [174, 2, 1, "_CPPv4N12CutterPlugin14setupInterfaceEP10MainWindow", "CutterPlugin::setupInterface::main"], [174, 1, 1, "_CPPv4N12CutterPlugin11setupPluginEv", "CutterPlugin::setupPlugin"], [174, 1, 1, "_CPPv4N12CutterPlugin9terminateEv", "CutterPlugin::terminate"], [174, 1, 1, "_CPPv4N12CutterPluginD0Ev", "CutterPlugin::~CutterPlugin"], [179, 0, 1, "_CPPv416CutterProxyStyle", "CutterProxyStyle"], [179, 1, 1, "_CPPv4N16CutterProxyStyle6polishEP7QWidget", "CutterProxyStyle::polish"], [179, 2, 1, "_CPPv4N16CutterProxyStyle6polishEP7QWidget", "CutterProxyStyle::polish::widget"], [72, 0, 1, "_CPPv4I0E12CutterRzIter", "CutterRzIter"], [72, 1, 1, "_CPPv4N12CutterRzIter12CutterRzIterEP10RzIterator", "CutterRzIter::CutterRzIter"], [72, 2, 1, "_CPPv4N12CutterRzIter12CutterRzIterEP10RzIterator", "CutterRzIter::CutterRzIter::rzIter"], [72, 4, 1, "_CPPv4I0E12CutterRzIter", "CutterRzIter::T"], [72, 1, 1, "_CPPv4N12CutterRzIter3getEv", "CutterRzIter::get"], [72, 1, 1, "_CPPv4N12CutterRzItercvbEv", "CutterRzIter::operator bool"], [72, 1, 1, "_CPPv4N12CutterRzItermlEv", "CutterRzIter::operator*"], [72, 1, 1, "_CPPv4N12CutterRzIterppEv", "CutterRzIter::operator++"], [72, 1, 1, "_CPPv4N12CutterRzIterptEv", "CutterRzIter::operator->"], [73, 0, 1, "_CPPv4I0E12CutterRzList", "CutterRzList"], [73, 1, 1, "_CPPv4N12CutterRzList12CutterRzListEPK6RzList", "CutterRzList::CutterRzList"], [73, 2, 1, "_CPPv4N12CutterRzList12CutterRzListEPK6RzList", "CutterRzList::CutterRzList::l"], [73, 4, 1, "_CPPv4I0E12CutterRzList", "CutterRzList::T"], [73, 1, 1, "_CPPv4NK12CutterRzList5beginEv", "CutterRzList::begin"], [73, 1, 1, "_CPPv4NK12CutterRzList3endEv", "CutterRzList::end"], [73, 0, 1, "_CPPv4N12CutterRzList8iteratorE", "CutterRzList::iterator"], [74, 0, 1, "_CPPv4N12CutterRzList8iteratorE", "CutterRzList::iterator"], [73, 7, 1, "_CPPv4N12CutterRzList8iterator15difference_typeE", "CutterRzList::iterator::difference_type"], [74, 7, 1, "_CPPv4N12CutterRzList8iterator15difference_typeE", "CutterRzList::iterator::difference_type"], [73, 1, 1, "_CPPv4N12CutterRzList8iterator8iteratorEP10RzListIter", "CutterRzList::iterator::iterator"], [73, 1, 1, "_CPPv4N12CutterRzList8iterator8iteratorERK8iterator", "CutterRzList::iterator::iterator"], [74, 1, 1, "_CPPv4N12CutterRzList8iterator8iteratorEP10RzListIter", "CutterRzList::iterator::iterator"], [74, 1, 1, "_CPPv4N12CutterRzList8iterator8iteratorERK8iterator", "CutterRzList::iterator::iterator"], [73, 2, 1, "_CPPv4N12CutterRzList8iterator8iteratorEP10RzListIter", "CutterRzList::iterator::iterator::iter"], [74, 2, 1, "_CPPv4N12CutterRzList8iterator8iteratorEP10RzListIter", "CutterRzList::iterator::iterator::iter"], [73, 2, 1, "_CPPv4N12CutterRzList8iterator8iteratorERK8iterator", "CutterRzList::iterator::iterator::o"], [74, 2, 1, "_CPPv4N12CutterRzList8iterator8iteratorERK8iterator", "CutterRzList::iterator::iterator::o"], [73, 7, 1, "_CPPv4N12CutterRzList8iterator17iterator_categoryE", "CutterRzList::iterator::iterator_category"], [74, 7, 1, "_CPPv4N12CutterRzList8iterator17iterator_categoryE", "CutterRzList::iterator::iterator_category"], [73, 1, 1, "_CPPv4NK12CutterRzList8iteratorneERK8iterator", "CutterRzList::iterator::operator!="], [74, 1, 1, "_CPPv4NK12CutterRzList8iteratorneERK8iterator", "CutterRzList::iterator::operator!="], [73, 2, 1, "_CPPv4NK12CutterRzList8iteratorneERK8iterator", "CutterRzList::iterator::operator!=::rhs"], [74, 2, 1, "_CPPv4NK12CutterRzList8iteratorneERK8iterator", "CutterRzList::iterator::operator!=::rhs"], [73, 1, 1, "_CPPv4N12CutterRzList8iteratormlEv", "CutterRzList::iterator::operator*"], [74, 1, 1, "_CPPv4N12CutterRzList8iteratormlEv", "CutterRzList::iterator::operator*"], [73, 1, 1, "_CPPv4N12CutterRzList8iteratorppEi", "CutterRzList::iterator::operator++"], [73, 1, 1, "_CPPv4N12CutterRzList8iteratorppEv", "CutterRzList::iterator::operator++"], [74, 1, 1, "_CPPv4N12CutterRzList8iteratorppEi", "CutterRzList::iterator::operator++"], [74, 1, 1, "_CPPv4N12CutterRzList8iteratorppEv", "CutterRzList::iterator::operator++"], [73, 1, 1, "_CPPv4NK12CutterRzList8iteratoreqERK8iterator", "CutterRzList::iterator::operator=="], [74, 1, 1, "_CPPv4NK12CutterRzList8iteratoreqERK8iterator", "CutterRzList::iterator::operator=="], [73, 2, 1, "_CPPv4NK12CutterRzList8iteratoreqERK8iterator", "CutterRzList::iterator::operator==::rhs"], [74, 2, 1, "_CPPv4NK12CutterRzList8iteratoreqERK8iterator", "CutterRzList::iterator::operator==::rhs"], [73, 7, 1, "_CPPv4N12CutterRzList8iterator7pointerE", "CutterRzList::iterator::pointer"], [74, 7, 1, "_CPPv4N12CutterRzList8iterator7pointerE", "CutterRzList::iterator::pointer"], [73, 7, 1, "_CPPv4N12CutterRzList8iterator9referenceE", "CutterRzList::iterator::reference"], [74, 7, 1, "_CPPv4N12CutterRzList8iterator9referenceE", "CutterRzList::iterator::reference"], [73, 7, 1, "_CPPv4N12CutterRzList8iterator10value_typeE", "CutterRzList::iterator::value_type"], [74, 7, 1, "_CPPv4N12CutterRzList8iterator10value_typeE", "CutterRzList::iterator::value_type"], [14, 0, 1, "_CPPv414CutterSeekable", "CutterSeekable"], [14, 1, 1, "_CPPv4N14CutterSeekable14CutterSeekableEP7QObject", "CutterSeekable::CutterSeekable"], [14, 2, 1, "_CPPv4N14CutterSeekable14CutterSeekableEP7QObject", "CutterSeekable::CutterSeekable::parent"], [14, 1, 1, "_CPPv4N14CutterSeekable9getOffsetEv", "CutterSeekable::getOffset"], [14, 1, 1, "_CPPv4N14CutterSeekable14isSynchronizedEv", "CutterSeekable::isSynchronized"], [14, 1, 1, "_CPPv4N14CutterSeekable4seekE3RVAN10CutterCore15SeekHistoryTypeE", "CutterSeekable::seek"], [14, 2, 1, "_CPPv4N14CutterSeekable4seekE3RVAN10CutterCore15SeekHistoryTypeE", "CutterSeekable::seek::addr"], [14, 2, 1, "_CPPv4N14CutterSeekable4seekE3RVAN10CutterCore15SeekHistoryTypeE", "CutterSeekable::seek::type"], [14, 1, 1, "_CPPv4N14CutterSeekable8seekPrevEv", "CutterSeekable::seekPrev"], [14, 1, 1, "_CPPv4N14CutterSeekable15seekToReferenceE3RVA", "CutterSeekable::seekToReference"], [14, 2, 1, "_CPPv4N14CutterSeekable15seekToReferenceE3RVA", "CutterSeekable::seekToReference::offset"], [14, 1, 1, "_CPPv4N14CutterSeekable19seekableSeekChangedE3RVAN10CutterCore15SeekHistoryTypeE", "CutterSeekable::seekableSeekChanged"], [14, 2, 1, "_CPPv4N14CutterSeekable19seekableSeekChangedE3RVAN10CutterCore15SeekHistoryTypeE", "CutterSeekable::seekableSeekChanged::addr"], [14, 2, 1, "_CPPv4N14CutterSeekable19seekableSeekChangedE3RVAN10CutterCore15SeekHistoryTypeE", "CutterSeekable::seekableSeekChanged::type"], [14, 1, 1, "_CPPv4N14CutterSeekable18setSynchronizationEb", "CutterSeekable::setSynchronization"], [14, 2, 1, "_CPPv4N14CutterSeekable18setSynchronizationEb", "CutterSeekable::setSynchronization::sync"], [14, 1, 1, "_CPPv4N14CutterSeekable11syncChangedEv", "CutterSeekable::syncChanged"], [14, 1, 1, "_CPPv4N14CutterSeekable21toggleSynchronizationEv", "CutterSeekable::toggleSynchronization"], [14, 1, 1, "_CPPv4N14CutterSeekableD0Ev", "CutterSeekable::~CutterSeekable"], [218, 0, 1, "_CPPv414CutterTreeView", "CutterTreeView"], [218, 1, 1, "_CPPv4N14CutterTreeView14CutterTreeViewEP7QWidget", "CutterTreeView::CutterTreeView"], [218, 2, 1, "_CPPv4N14CutterTreeView14CutterTreeViewEP7QWidget", "CutterTreeView::CutterTreeView::parent"], [218, 1, 1, "_CPPv4N14CutterTreeView16applyCutterStyleEP9QTreeView", "CutterTreeView::applyCutterStyle"], [218, 2, 1, "_CPPv4N14CutterTreeView16applyCutterStyleEP9QTreeView", "CutterTreeView::applyCutterStyle::view"], [218, 1, 1, "_CPPv4N14CutterTreeViewD0Ev", "CutterTreeView::~CutterTreeView"], [219, 0, 1, "_CPPv416CutterTreeWidget", "CutterTreeWidget"], [219, 1, 1, "_CPPv4N16CutterTreeWidget16CutterTreeWidgetEP7QObject", "CutterTreeWidget::CutterTreeWidget"], [219, 2, 1, "_CPPv4N16CutterTreeWidget16CutterTreeWidgetEP7QObject", "CutterTreeWidget::CutterTreeWidget::parent"], [219, 1, 1, "_CPPv4N16CutterTreeWidget12addStatusBarEP11QVBoxLayout", "CutterTreeWidget::addStatusBar"], [219, 2, 1, "_CPPv4N16CutterTreeWidget12addStatusBarEP11QVBoxLayout", "CutterTreeWidget::addStatusBar::pos"], [219, 1, 1, "_CPPv4N16CutterTreeWidget15showItemsNumberEi", "CutterTreeWidget::showItemsNumber"], [219, 2, 1, "_CPPv4N16CutterTreeWidget15showItemsNumberEi", "CutterTreeWidget::showItemsNumber::count"], [219, 1, 1, "_CPPv4N16CutterTreeWidget13showStatusBarEb", "CutterTreeWidget::showStatusBar"], [219, 2, 1, "_CPPv4N16CutterTreeWidget13showStatusBarEb", "CutterTreeWidget::showStatusBar::show"], [219, 1, 1, "_CPPv4N16CutterTreeWidgetD0Ev", "CutterTreeWidget::~CutterTreeWidget"], [220, 0, 1, "_CPPv49Dashboard", "Dashboard"], [220, 1, 1, "_CPPv4N9Dashboard9DashboardEP10MainWindow", "Dashboard::Dashboard"], [220, 2, 1, "_CPPv4N9Dashboard9DashboardEP10MainWindow", "Dashboard::Dashboard::main"], [220, 1, 1, "_CPPv4N9DashboardD0Ev", "Dashboard::~Dashboard"], [163, 0, 1, "_CPPv410DbgBackend", "DbgBackend"], [163, 3, 1, "_CPPv4N10DbgBackend4nameE", "DbgBackend::name"], [163, 3, 1, "_CPPv4N10DbgBackend6prefixE", "DbgBackend::prefix"], [163, 3, 1, "_CPPv4N10DbgBackend4typeE", "DbgBackend::type"], [221, 0, 1, "_CPPv412DebugActions", "DebugActions"], [221, 1, 1, "_CPPv4N12DebugActions12DebugActionsEP8QToolBarP10MainWindow", "DebugActions::DebugActions"], [221, 2, 1, "_CPPv4N12DebugActions12DebugActionsEP8QToolBarP10MainWindow", "DebugActions::DebugActions::main"], [221, 2, 1, "_CPPv4N12DebugActions12DebugActionsEP8QToolBarP10MainWindow", "DebugActions::DebugActions::toolBar"], [221, 3, 1, "_CPPv4N12DebugActions18actionAllContinuesE", "DebugActions::actionAllContinues"], [221, 3, 1, "_CPPv4N12DebugActions12actionAttachE", "DebugActions::actionAttach"], [221, 3, 1, "_CPPv4N12DebugActions14actionContinueE", "DebugActions::actionContinue"], [221, 3, 1, "_CPPv4N12DebugActions18actionContinueBackE", "DebugActions::actionContinueBack"], [221, 3, 1, "_CPPv4N12DebugActions23actionContinueUntilCallE", "DebugActions::actionContinueUntilCall"], [221, 3, 1, "_CPPv4N12DebugActions23actionContinueUntilMainE", "DebugActions::actionContinueUntilMain"], [221, 3, 1, "_CPPv4N12DebugActions26actionContinueUntilSyscallE", "DebugActions::actionContinueUntilSyscall"], [221, 3, 1, "_CPPv4N12DebugActions11actionStartE", "DebugActions::actionStart"], [221, 3, 1, "_CPPv4N12DebugActions15actionStartEmulE", "DebugActions::actionStartEmul"], [221, 3, 1, "_CPPv4N12DebugActions17actionStartRemoteE", "DebugActions::actionStartRemote"], [221, 3, 1, "_CPPv4N12DebugActions10actionStepE", "DebugActions::actionStep"], [221, 3, 1, "_CPPv4N12DebugActions14actionStepBackE", "DebugActions::actionStepBack"], [221, 3, 1, "_CPPv4N12DebugActions13actionStepOutE", "DebugActions::actionStepOut"], [221, 3, 1, "_CPPv4N12DebugActions14actionStepOverE", "DebugActions::actionStepOver"], [221, 3, 1, "_CPPv4N12DebugActions10actionStopE", "DebugActions::actionStop"], [221, 3, 1, "_CPPv4N12DebugActions11actionTraceE", "DebugActions::actionTrace"], [221, 1, 1, "_CPPv4N12DebugActions12addToToolBarEP8QToolBar", "DebugActions::addToToolBar"], [221, 2, 1, "_CPPv4N12DebugActions12addToToolBarEP8QToolBar", "DebugActions::addToToolBar::toolBar"], [221, 3, 1, "_CPPv4N12DebugActions12continueIconE", "DebugActions::continueIcon"], [221, 3, 1, "_CPPv4N12DebugActions13continueLabelE", "DebugActions::continueLabel"], [221, 3, 1, "_CPPv4N12DebugActions10detachIconE", "DebugActions::detachIcon"], [221, 3, 1, "_CPPv4N12DebugActions17restartDebugLabelE", "DebugActions::restartDebugLabel"], [221, 3, 1, "_CPPv4N12DebugActions11restartIconE", "DebugActions::restartIcon"], [221, 3, 1, "_CPPv4N12DebugActions14startDebugIconE", "DebugActions::startDebugIcon"], [221, 3, 1, "_CPPv4N12DebugActions15startDebugLabelE", "DebugActions::startDebugLabel"], [221, 3, 1, "_CPPv4N12DebugActions14startTraceIconE", "DebugActions::startTraceIcon"], [221, 3, 1, "_CPPv4N12DebugActions15startTraceLabelE", "DebugActions::startTraceLabel"], [221, 3, 1, "_CPPv4N12DebugActions8stopIconE", "DebugActions::stopIcon"], [221, 3, 1, "_CPPv4N12DebugActions13stopTraceIconE", "DebugActions::stopTraceIcon"], [221, 3, 1, "_CPPv4N12DebugActions14stopTraceLabelE", "DebugActions::stopTraceLabel"], [221, 3, 1, "_CPPv4N12DebugActions11suspendIconE", "DebugActions::suspendIcon"], [221, 3, 1, "_CPPv4N12DebugActions12suspendLabelE", "DebugActions::suspendLabel"], [15, 0, 1, "_CPPv410Decompiler", "Decompiler"], [15, 1, 1, "_CPPv4N10Decompiler10DecompilerERK7QStringRK7QStringP7QObject", "Decompiler::Decompiler"], [15, 2, 1, "_CPPv4N10Decompiler10DecompilerERK7QStringRK7QStringP7QObject", "Decompiler::Decompiler::id"], [15, 2, 1, "_CPPv4N10Decompiler10DecompilerERK7QStringRK7QStringP7QObject", "Decompiler::Decompiler::name"], [15, 2, 1, "_CPPv4N10Decompiler10DecompilerERK7QStringRK7QStringP7QObject", "Decompiler::Decompiler::parent"], [15, 1, 1, "_CPPv4N10Decompiler6cancelEv", "Decompiler::cancel"], [15, 1, 1, "_CPPv4N10Decompiler11decompileAtE3RVA", "Decompiler::decompileAt"], [15, 2, 1, "_CPPv4N10Decompiler11decompileAtE3RVA", "Decompiler::decompileAt::addr"], [15, 1, 1, "_CPPv4N10Decompiler8finishedEP15RzAnnotatedCode", "Decompiler::finished"], [15, 2, 1, "_CPPv4N10Decompiler8finishedEP15RzAnnotatedCode", "Decompiler::finished::codeDecompiled"], [15, 1, 1, "_CPPv4NK10Decompiler5getIdEv", "Decompiler::getId"], [15, 1, 1, "_CPPv4NK10Decompiler7getNameEv", "Decompiler::getName"], [15, 1, 1, "_CPPv4N10Decompiler12isCancelableEv", "Decompiler::isCancelable"], [15, 1, 1, "_CPPv4N10Decompiler9isRunningEv", "Decompiler::isRunning"], [15, 1, 1, "_CPPv4N10Decompiler11makeWarningE7QString", "Decompiler::makeWarning"], [15, 2, 1, "_CPPv4N10Decompiler11makeWarningE7QString", "Decompiler::makeWarning::warningMessage"], [15, 1, 1, "_CPPv4N10DecompilerD0Ev", "Decompiler::~Decompiler"], [168, 0, 1, "_CPPv421DecompilerContextMenu", "DecompilerContextMenu"], [168, 1, 1, "_CPPv4N21DecompilerContextMenu21DecompilerContextMenuEP7QWidgetP10MainWindow", "DecompilerContextMenu::DecompilerContextMenu"], [168, 2, 1, "_CPPv4N21DecompilerContextMenu21DecompilerContextMenuEP7QWidgetP10MainWindow", "DecompilerContextMenu::DecompilerContextMenu::mainWindow"], [168, 2, 1, "_CPPv4N21DecompilerContextMenu21DecompilerContextMenuEP7QWidgetP10MainWindow", "DecompilerContextMenu::DecompilerContextMenu::parent"], [168, 1, 1, "_CPPv4N21DecompilerContextMenu4copyEv", "DecompilerContextMenu::copy"], [168, 1, 1, "_CPPv4N21DecompilerContextMenu20getFirstOffsetInLineEv", "DecompilerContextMenu::getFirstOffsetInLine"], [168, 1, 1, "_CPPv4N21DecompilerContextMenu24getIsTogglingBreakpointsEv", "DecompilerContextMenu::getIsTogglingBreakpoints"], [168, 1, 1, "_CPPv4N21DecompilerContextMenu17setAnnotationHereEP16RzCodeAnnotation", "DecompilerContextMenu::setAnnotationHere"], [168, 2, 1, "_CPPv4N21DecompilerContextMenu17setAnnotationHereEP16RzCodeAnnotation", "DecompilerContextMenu::setAnnotationHere::annotation"], [168, 1, 1, "_CPPv4N21DecompilerContextMenu23setAvailableBreakpointsE7QVectorI3RVAE", "DecompilerContextMenu::setAvailableBreakpoints"], [168, 2, 1, "_CPPv4N21DecompilerContextMenu23setAvailableBreakpointsE7QVectorI3RVAE", "DecompilerContextMenu::setAvailableBreakpoints::offsetList"], [168, 1, 1, "_CPPv4N21DecompilerContextMenu21setCurHighlightedWordE7QString", "DecompilerContextMenu::setCurHighlightedWord"], [168, 2, 1, "_CPPv4N21DecompilerContextMenu21setCurHighlightedWordE7QString", "DecompilerContextMenu::setCurHighlightedWord::word"], [168, 1, 1, "_CPPv4N21DecompilerContextMenu28setDecompiledFunctionAddressE3RVA", "DecompilerContextMenu::setDecompiledFunctionAddress"], [168, 2, 1, "_CPPv4N21DecompilerContextMenu28setDecompiledFunctionAddressE3RVA", "DecompilerContextMenu::setDecompiledFunctionAddress::functionAddr"], [168, 1, 1, "_CPPv4N21DecompilerContextMenu20setFirstOffsetInLineE3RVA", "DecompilerContextMenu::setFirstOffsetInLine"], [168, 2, 1, "_CPPv4N21DecompilerContextMenu20setFirstOffsetInLineE3RVA", "DecompilerContextMenu::setFirstOffsetInLine::firstOffset"], [168, 1, 1, "_CPPv4N21DecompilerContextMenu9setOffsetE3RVA", "DecompilerContextMenu::setOffset"], [168, 2, 1, "_CPPv4N21DecompilerContextMenu9setOffsetE3RVA", "DecompilerContextMenu::setOffset::newOffset"], [168, 1, 1, "_CPPv4N21DecompilerContextMenuD0Ev", "DecompilerContextMenu::~DecompilerContextMenu"], [16, 0, 1, "_CPPv421DecompilerHighlighter", "DecompilerHighlighter"], [16, 1, 1, "_CPPv4N21DecompilerHighlighter21DecompilerHighlighterEP13QTextDocument", "DecompilerHighlighter::DecompilerHighlighter"], [16, 2, 1, "_CPPv4N21DecompilerHighlighter21DecompilerHighlighterEP13QTextDocument", "DecompilerHighlighter::DecompilerHighlighter::parent"], [16, 1, 1, "_CPPv4N21DecompilerHighlighter14setAnnotationsEP15RzAnnotatedCode", "DecompilerHighlighter::setAnnotations"], [16, 2, 1, "_CPPv4N21DecompilerHighlighter14setAnnotationsEP15RzAnnotatedCode", "DecompilerHighlighter::setAnnotations::code"], [16, 1, 1, "_CPPv4N21DecompilerHighlighterD0Ev", "DecompilerHighlighter::~DecompilerHighlighter"], [222, 0, 1, "_CPPv416DecompilerWidget", "DecompilerWidget"], [222, 1, 1, "_CPPv4N16DecompilerWidget16DecompilerWidgetEP10MainWindow", "DecompilerWidget::DecompilerWidget"], [222, 2, 1, "_CPPv4N16DecompilerWidget16DecompilerWidgetEP10MainWindow", "DecompilerWidget::DecompilerWidget::main"], [222, 1, 1, "_CPPv4N16DecompilerWidget13getWidgetTypeEv", "DecompilerWidget::getWidgetType"], [222, 1, 1, "_CPPv4N16DecompilerWidget11highlightPCEv", "DecompilerWidget::highlightPC"], [222, 1, 1, "_CPPv4N16DecompilerWidget25showDecompilerContextMenuERK6QPoint", "DecompilerWidget::showDecompilerContextMenu"], [222, 2, 1, "_CPPv4N16DecompilerWidget25showDecompilerContextMenuERK6QPoint", "DecompilerWidget::showDecompilerContextMenu::pt"], [222, 1, 1, "_CPPv4N16DecompilerWidgetD0Ev", "DecompilerWidget::~DecompilerWidget"], [17, 0, 1, "_CPPv419DirectionalComboBox", "DirectionalComboBox"], [17, 1, 1, "_CPPv4N19DirectionalComboBox19DirectionalComboBoxEP7QWidgetb", "DirectionalComboBox::DirectionalComboBox"], [17, 2, 1, "_CPPv4N19DirectionalComboBox19DirectionalComboBoxEP7QWidgetb", "DirectionalComboBox::DirectionalComboBox::parent"], [17, 2, 1, "_CPPv4N19DirectionalComboBox19DirectionalComboBoxEP7QWidgetb", "DirectionalComboBox::DirectionalComboBox::upwards"], [17, 1, 1, "_CPPv4N19DirectionalComboBox17setPopupDirectionEb", "DirectionalComboBox::setPopupDirection"], [17, 2, 1, "_CPPv4N19DirectionalComboBox17setPopupDirectionEb", "DirectionalComboBox::setPopupDirection::upwards"], [223, 0, 1, "_CPPv421DisassemblerGraphView", "DisassemblerGraphView"], [223, 1, 1, "_CPPv4N21DisassemblerGraphView21DisassemblerGraphViewEP7QWidgetP14CutterSeekableP10MainWindow5QListIP7QActionE", "DisassemblerGraphView::DisassemblerGraphView"], [223, 2, 1, "_CPPv4N21DisassemblerGraphView21DisassemblerGraphViewEP7QWidgetP14CutterSeekableP10MainWindow5QListIP7QActionE", "DisassemblerGraphView::DisassemblerGraphView::additionalMenuAction"], [223, 2, 1, "_CPPv4N21DisassemblerGraphView21DisassemblerGraphViewEP7QWidgetP14CutterSeekableP10MainWindow5QListIP7QActionE", "DisassemblerGraphView::DisassemblerGraphView::mainWindow"], [223, 2, 1, "_CPPv4N21DisassemblerGraphView21DisassemblerGraphViewEP7QWidgetP14CutterSeekableP10MainWindow5QListIP7QActionE", "DisassemblerGraphView::DisassemblerGraphView::parent"], [223, 2, 1, "_CPPv4N21DisassemblerGraphView21DisassemblerGraphViewEP7QWidgetP14CutterSeekableP10MainWindow5QListIP7QActionE", "DisassemblerGraphView::DisassemblerGraphView::seekable"], [320, 0, 1, "_CPPv4N21DisassemblerGraphView16DisassemblyBlockE", "DisassemblerGraphView::DisassemblyBlock"], [320, 3, 1, "_CPPv4N21DisassemblerGraphView16DisassemblyBlock5entryE", "DisassemblerGraphView::DisassemblyBlock::entry"], [320, 3, 1, "_CPPv4N21DisassemblerGraphView16DisassemblyBlock10false_pathE", "DisassemblerGraphView::DisassemblyBlock::false_path"], [320, 3, 1, "_CPPv4N21DisassemblerGraphView16DisassemblyBlock11header_textE", "DisassemblerGraphView::DisassemblyBlock::header_text"], [320, 3, 1, "_CPPv4N21DisassemblerGraphView16DisassemblyBlock12indirectcallE", "DisassemblerGraphView::DisassemblyBlock::indirectcall"], [320, 3, 1, "_CPPv4N21DisassemblerGraphView16DisassemblyBlock6instrsE", "DisassemblerGraphView::DisassemblyBlock::instrs"], [320, 3, 1, "_CPPv4N21DisassemblerGraphView16DisassemblyBlock8terminalE", "DisassemblerGraphView::DisassemblyBlock::terminal"], [320, 3, 1, "_CPPv4N21DisassemblerGraphView16DisassemblyBlock9true_pathE", "DisassemblerGraphView::DisassemblyBlock::true_path"], [223, 7, 1, "_CPPv4N21DisassemblerGraphView24EdgeConfigurationMappingE", "DisassemblerGraphView::EdgeConfigurationMapping"], [321, 0, 1, "_CPPv4N21DisassemblerGraphView5InstrE", "DisassemblerGraphView::Instr"], [321, 3, 1, "_CPPv4N21DisassemblerGraphView5Instr4addrE", "DisassemblerGraphView::Instr::addr"], [321, 1, 1, "_CPPv4NK21DisassemblerGraphView5Instr8containsE4ut64", "DisassemblerGraphView::Instr::contains"], [321, 2, 1, "_CPPv4NK21DisassemblerGraphView5Instr8containsE4ut64", "DisassemblerGraphView::Instr::contains::addr"], [321, 1, 1, "_CPPv4NK21DisassemblerGraphView5Instr5emptyEv", "DisassemblerGraphView::Instr::empty"], [321, 3, 1, "_CPPv4N21DisassemblerGraphView5Instr8fullTextE", "DisassemblerGraphView::Instr::fullText"], [321, 3, 1, "_CPPv4N21DisassemblerGraphView5Instr6opcodeE", "DisassemblerGraphView::Instr::opcode"], [321, 3, 1, "_CPPv4N21DisassemblerGraphView5Instr9plainTextE", "DisassemblerGraphView::Instr::plainText"], [321, 3, 1, "_CPPv4N21DisassemblerGraphView5Instr4sizeE", "DisassemblerGraphView::Instr::size"], [321, 3, 1, "_CPPv4N21DisassemblerGraphView5Instr4textE", "DisassemblerGraphView::Instr::text"], [322, 0, 1, "_CPPv4N21DisassemblerGraphView4TextE", "DisassemblerGraphView::Text"], [322, 1, 1, "_CPPv4N21DisassemblerGraphView4Text4TextERK7QString6QColor6QColor", "DisassemblerGraphView::Text::Text"], [322, 1, 1, "_CPPv4N21DisassemblerGraphView4Text4TextERKN15RichTextPainter4ListE", "DisassemblerGraphView::Text::Text"], [322, 1, 1, "_CPPv4N21DisassemblerGraphView4Text4TextEv", "DisassemblerGraphView::Text::Text"], [322, 2, 1, "_CPPv4N21DisassemblerGraphView4Text4TextERK7QString6QColor6QColor", "DisassemblerGraphView::Text::Text::background"], [322, 2, 1, "_CPPv4N21DisassemblerGraphView4Text4TextERK7QString6QColor6QColor", "DisassemblerGraphView::Text::Text::color"], [322, 2, 1, "_CPPv4N21DisassemblerGraphView4Text4TextERKN15RichTextPainter4ListE", "DisassemblerGraphView::Text::Text::richText"], [322, 2, 1, "_CPPv4N21DisassemblerGraphView4Text4TextERK7QString6QColor6QColor", "DisassemblerGraphView::Text::Text::text"], [322, 1, 1, "_CPPv4NK21DisassemblerGraphView4Text9ToQStringEv", "DisassemblerGraphView::Text::ToQString"], [322, 3, 1, "_CPPv4N21DisassemblerGraphView4Text5linesE", "DisassemblerGraphView::Text::lines"], [323, 0, 1, "_CPPv4N21DisassemblerGraphView5TokenE", "DisassemblerGraphView::Token"], [323, 3, 1, "_CPPv4N21DisassemblerGraphView5Token7contentE", "DisassemblerGraphView::Token::content"], [323, 3, 1, "_CPPv4N21DisassemblerGraphView5Token5instrE", "DisassemblerGraphView::Token::instr"], [323, 3, 1, "_CPPv4N21DisassemblerGraphView5Token6lengthE", "DisassemblerGraphView::Token::length"], [323, 3, 1, "_CPPv4N21DisassemblerGraphView5Token4nameE", "DisassemblerGraphView::Token::name"], [323, 3, 1, "_CPPv4N21DisassemblerGraphView5Token5startE", "DisassemblerGraphView::Token::start"], [323, 3, 1, "_CPPv4N21DisassemblerGraphView5Token4typeE", "DisassemblerGraphView::Token::type"], [223, 1, 1, "_CPPv4N21DisassemblerGraphView12blockClickedERN9GraphView10GraphBlockEP11QMouseEvent6QPoint", "DisassemblerGraphView::blockClicked"], [223, 2, 1, "_CPPv4N21DisassemblerGraphView12blockClickedERN9GraphView10GraphBlockEP11QMouseEvent6QPoint", "DisassemblerGraphView::blockClicked::block"], [223, 2, 1, "_CPPv4N21DisassemblerGraphView12blockClickedERN9GraphView10GraphBlockEP11QMouseEvent6QPoint", "DisassemblerGraphView::blockClicked::event"], [223, 2, 1, "_CPPv4N21DisassemblerGraphView12blockClickedERN9GraphView10GraphBlockEP11QMouseEvent6QPoint", "DisassemblerGraphView::blockClicked::pos"], [223, 1, 1, "_CPPv4N21DisassemblerGraphView18blockDoubleClickedERN9GraphView10GraphBlockEP11QMouseEvent6QPoint", "DisassemblerGraphView::blockDoubleClicked"], [223, 2, 1, "_CPPv4N21DisassemblerGraphView18blockDoubleClickedERN9GraphView10GraphBlockEP11QMouseEvent6QPoint", "DisassemblerGraphView::blockDoubleClicked::block"], [223, 2, 1, "_CPPv4N21DisassemblerGraphView18blockDoubleClickedERN9GraphView10GraphBlockEP11QMouseEvent6QPoint", "DisassemblerGraphView::blockDoubleClicked::event"], [223, 2, 1, "_CPPv4N21DisassemblerGraphView18blockDoubleClickedERN9GraphView10GraphBlockEP11QMouseEvent6QPoint", "DisassemblerGraphView::blockDoubleClicked::pos"], [223, 1, 1, "_CPPv4N21DisassemblerGraphView14blockHelpEventERN9GraphView10GraphBlockEP10QHelpEvent6QPoint", "DisassemblerGraphView::blockHelpEvent"], [223, 2, 1, "_CPPv4N21DisassemblerGraphView14blockHelpEventERN9GraphView10GraphBlockEP10QHelpEvent6QPoint", "DisassemblerGraphView::blockHelpEvent::block"], [223, 2, 1, "_CPPv4N21DisassemblerGraphView14blockHelpEventERN9GraphView10GraphBlockEP10QHelpEvent6QPoint", "DisassemblerGraphView::blockHelpEvent::event"], [223, 2, 1, "_CPPv4N21DisassemblerGraphView14blockHelpEventERN9GraphView10GraphBlockEP10QHelpEvent6QPoint", "DisassemblerGraphView::blockHelpEvent::pos"], [223, 1, 1, "_CPPv4N21DisassemblerGraphView19blockTransitionedToEPN9GraphView10GraphBlockE", "DisassemblerGraphView::blockTransitionedTo"], [223, 2, 1, "_CPPv4N21DisassemblerGraphView19blockTransitionedToEPN9GraphView10GraphBlockE", "DisassemblerGraphView::blockTransitionedTo::to"], [223, 1, 1, "_CPPv4N21DisassemblerGraphView13copySelectionEv", "DisassemblerGraphView::copySelection"], [223, 3, 1, "_CPPv4N21DisassemblerGraphView14currentFcnAddrE", "DisassemblerGraphView::currentFcnAddr"], [223, 3, 1, "_CPPv4N21DisassemblerGraphView18disassembly_blocksE", "DisassemblerGraphView::disassembly_blocks"], [223, 1, 1, "_CPPv4N21DisassemblerGraphView9drawBlockER8QPainterRN9GraphView10GraphBlockEb", "DisassemblerGraphView::drawBlock"], [223, 2, 1, "_CPPv4N21DisassemblerGraphView9drawBlockER8QPainterRN9GraphView10GraphBlockEb", "DisassemblerGraphView::drawBlock::block"], [223, 2, 1, "_CPPv4N21DisassemblerGraphView9drawBlockER8QPainterRN9GraphView10GraphBlockEb", "DisassemblerGraphView::drawBlock::interactive"], [223, 2, 1, "_CPPv4N21DisassemblerGraphView9drawBlockER8QPainterRN9GraphView10GraphBlockEb", "DisassemblerGraphView::drawBlock::p"], [223, 1, 1, "_CPPv4N21DisassemblerGraphView17edgeConfigurationERN9GraphView10GraphBlockEPN9GraphView10GraphBlockEb", "DisassemblerGraphView::edgeConfiguration"], [223, 2, 1, "_CPPv4N21DisassemblerGraphView17edgeConfigurationERN9GraphView10GraphBlockEPN9GraphView10GraphBlockEb", "DisassemblerGraphView::edgeConfiguration::from"], [223, 2, 1, "_CPPv4N21DisassemblerGraphView17edgeConfigurationERN9GraphView10GraphBlockEPN9GraphView10GraphBlockEb", "DisassemblerGraphView::edgeConfiguration::interactive"], [223, 2, 1, "_CPPv4N21DisassemblerGraphView17edgeConfigurationERN9GraphView10GraphBlockEPN9GraphView10GraphBlockEb", "DisassemblerGraphView::edgeConfiguration::to"], [223, 1, 1, "_CPPv4N21DisassemblerGraphView9getBlocksEv", "DisassemblerGraphView::getBlocks"], [223, 1, 1, "_CPPv4N21DisassemblerGraphView21getEdgeConfigurationsEv", "DisassemblerGraphView::getEdgeConfigurations"], [223, 1, 1, "_CPPv4N21DisassemblerGraphView9getHeightEv", "DisassemblerGraphView::getHeight"], [223, 1, 1, "_CPPv4N21DisassemblerGraphView8getWidthEv", "DisassemblerGraphView::getWidth"], [223, 1, 1, "_CPPv4N21DisassemblerGraphView9helpEventEP10QHelpEvent", "DisassemblerGraphView::helpEvent"], [223, 2, 1, "_CPPv4N21DisassemblerGraphView9helpEventEP10QHelpEvent", "DisassemblerGraphView::helpEvent::event"], [223, 1, 1, "_CPPv4N21DisassemblerGraphView12isGraphEmptyEv", "DisassemblerGraphView::isGraphEmpty"], [223, 1, 1, "_CPPv4N21DisassemblerGraphView16loadCurrentGraphEv", "DisassemblerGraphView::loadCurrentGraph"], [223, 1, 1, "_CPPv4N21DisassemblerGraphView11nameChangedERK7QString", "DisassemblerGraphView::nameChanged"], [223, 2, 1, "_CPPv4N21DisassemblerGraphView11nameChangedERK7QString", "DisassemblerGraphView::nameChanged::name"], [223, 1, 1, "_CPPv4N21DisassemblerGraphView9nextInstrEv", "DisassemblerGraphView::nextInstr"], [223, 1, 1, "_CPPv4N21DisassemblerGraphView13onSeekChangedE3RVA", "DisassemblerGraphView::onSeekChanged"], [223, 2, 1, "_CPPv4N21DisassemblerGraphView13onSeekChangedE3RVA", "DisassemblerGraphView::onSeekChanged::addr"], [223, 1, 1, "_CPPv4N21DisassemblerGraphView9prevInstrEv", "DisassemblerGraphView::prevInstr"], [223, 1, 1, "_CPPv4N21DisassemblerGraphView11refreshViewEv", "DisassemblerGraphView::refreshView"], [223, 1, 1, "_CPPv4N21DisassemblerGraphView9takeFalseEv", "DisassemblerGraphView::takeFalse"], [223, 1, 1, "_CPPv4N21DisassemblerGraphView8takeTrueEv", "DisassemblerGraphView::takeTrue"], [223, 3, 1, "_CPPv4N21DisassemblerGraphView11windowTitleE", "DisassemblerGraphView::windowTitle"], [223, 1, 1, "_CPPv4N21DisassemblerGraphViewD0Ev", "DisassemblerGraphView::~DisassemblerGraphView"], [169, 0, 1, "_CPPv422DisassemblyContextMenu", "DisassemblyContextMenu"], [169, 1, 1, "_CPPv4N22DisassemblyContextMenu22DisassemblyContextMenuEP7QWidgetP10MainWindow", "DisassemblyContextMenu::DisassemblyContextMenu"], [169, 2, 1, "_CPPv4N22DisassemblyContextMenu22DisassemblyContextMenuEP7QWidgetP10MainWindow", "DisassemblyContextMenu::DisassemblyContextMenu::mainWindow"], [169, 2, 1, "_CPPv4N22DisassemblyContextMenu22DisassemblyContextMenuEP7QWidgetP10MainWindow", "DisassemblyContextMenu::DisassemblyContextMenu::parent"], [171, 0, 1, "_CPPv4N22DisassemblyContextMenu12DoRenameInfoE", "DisassemblyContextMenu::DoRenameInfo"], [171, 3, 1, "_CPPv4N22DisassemblyContextMenu12DoRenameInfo4addrE", "DisassemblyContextMenu::DoRenameInfo::addr"], [171, 3, 1, "_CPPv4N22DisassemblyContextMenu12DoRenameInfo4nameE", "DisassemblyContextMenu::DoRenameInfo::name"], [172, 0, 1, "_CPPv4N22DisassemblyContextMenu13ThingUsedHereE", "DisassemblyContextMenu::ThingUsedHere"], [172, 5, 1, "_CPPv4N22DisassemblyContextMenu13ThingUsedHere4TypeE", "DisassemblyContextMenu::ThingUsedHere::Type"], [172, 6, 1, "_CPPv4N22DisassemblyContextMenu13ThingUsedHere4Type7AddressE", "DisassemblyContextMenu::ThingUsedHere::Type::Address"], [172, 6, 1, "_CPPv4N22DisassemblyContextMenu13ThingUsedHere4Type4FlagE", "DisassemblyContextMenu::ThingUsedHere::Type::Flag"], [172, 6, 1, "_CPPv4N22DisassemblyContextMenu13ThingUsedHere4Type8FunctionE", "DisassemblyContextMenu::ThingUsedHere::Type::Function"], [172, 6, 1, "_CPPv4N22DisassemblyContextMenu13ThingUsedHere4Type3VarE", "DisassemblyContextMenu::ThingUsedHere::Type::Var"], [172, 3, 1, "_CPPv4N22DisassemblyContextMenu13ThingUsedHere4nameE", "DisassemblyContextMenu::ThingUsedHere::name"], [172, 3, 1, "_CPPv4N22DisassemblyContextMenu13ThingUsedHere6offsetE", "DisassemblyContextMenu::ThingUsedHere::offset"], [172, 3, 1, "_CPPv4N22DisassemblyContextMenu13ThingUsedHere4typeE", "DisassemblyContextMenu::ThingUsedHere::type"], [169, 1, 1, "_CPPv4N22DisassemblyContextMenu4copyEv", "DisassemblyContextMenu::copy"], [169, 1, 1, "_CPPv4N22DisassemblyContextMenu10setCanCopyEb", "DisassemblyContextMenu::setCanCopy"], [169, 2, 1, "_CPPv4N22DisassemblyContextMenu10setCanCopyEb", "DisassemblyContextMenu::setCanCopy::enabled"], [169, 1, 1, "_CPPv4N22DisassemblyContextMenu21setCurHighlightedWordERK7QString", "DisassemblyContextMenu::setCurHighlightedWord"], [169, 2, 1, "_CPPv4N22DisassemblyContextMenu21setCurHighlightedWordERK7QString", "DisassemblyContextMenu::setCurHighlightedWord::text"], [169, 1, 1, "_CPPv4N22DisassemblyContextMenu9setOffsetE3RVA", "DisassemblyContextMenu::setOffset"], [169, 2, 1, "_CPPv4N22DisassemblyContextMenu9setOffsetE3RVA", "DisassemblyContextMenu::setOffset::offset"], [169, 1, 1, "_CPPv4N22DisassemblyContextMenuD0Ev", "DisassemblyContextMenu::~DisassemblyContextMenu"], [224, 0, 1, "_CPPv420DisassemblyLeftPanel", "DisassemblyLeftPanel"], [324, 0, 1, "_CPPv4N20DisassemblyLeftPanel5ArrowE", "DisassemblyLeftPanel::Arrow"], [324, 1, 1, "_CPPv4N20DisassemblyLeftPanel5Arrow5ArrowE3RVA3RVA", "DisassemblyLeftPanel::Arrow::Arrow"], [324, 2, 1, "_CPPv4N20DisassemblyLeftPanel5Arrow5ArrowE3RVA3RVA", "DisassemblyLeftPanel::Arrow::Arrow::v1"], [324, 2, 1, "_CPPv4N20DisassemblyLeftPanel5Arrow5ArrowE3RVA3RVA", "DisassemblyLeftPanel::Arrow::Arrow::v2"], [324, 1, 1, "_CPPv4NK20DisassemblyLeftPanel5Arrow8containsE3RVA", "DisassemblyLeftPanel::Arrow::contains"], [324, 2, 1, "_CPPv4NK20DisassemblyLeftPanel5Arrow8containsE3RVA", "DisassemblyLeftPanel::Arrow::contains::point"], [324, 1, 1, "_CPPv4NK20DisassemblyLeftPanel5Arrow10intersectsERK5Arrow", "DisassemblyLeftPanel::Arrow::intersects"], [324, 2, 1, "_CPPv4NK20DisassemblyLeftPanel5Arrow10intersectsERK5Arrow", "DisassemblyLeftPanel::Arrow::intersects::other"], [324, 1, 1, "_CPPv4NK20DisassemblyLeftPanel5Arrow13jmpFromOffsetEv", "DisassemblyLeftPanel::Arrow::jmpFromOffset"], [324, 1, 1, "_CPPv4NK20DisassemblyLeftPanel5Arrow10jmpToffsetEv", "DisassemblyLeftPanel::Arrow::jmpToffset"], [324, 1, 1, "_CPPv4NK20DisassemblyLeftPanel5Arrow6lengthEv", "DisassemblyLeftPanel::Arrow::length"], [324, 3, 1, "_CPPv4N20DisassemblyLeftPanel5Arrow5levelE", "DisassemblyLeftPanel::Arrow::level"], [324, 3, 1, "_CPPv4N20DisassemblyLeftPanel5Arrow3maxE", "DisassemblyLeftPanel::Arrow::max"], [324, 3, 1, "_CPPv4N20DisassemblyLeftPanel5Arrow3minE", "DisassemblyLeftPanel::Arrow::min"], [324, 3, 1, "_CPPv4N20DisassemblyLeftPanel5Arrow2upE", "DisassemblyLeftPanel::Arrow::up"], [224, 1, 1, "_CPPv4N20DisassemblyLeftPanel20DisassemblyLeftPanelEP17DisassemblyWidget", "DisassemblyLeftPanel::DisassemblyLeftPanel"], [224, 2, 1, "_CPPv4N20DisassemblyLeftPanel20DisassemblyLeftPanelEP17DisassemblyWidget", "DisassemblyLeftPanel::DisassemblyLeftPanel::disas"], [224, 1, 1, "_CPPv4N20DisassemblyLeftPanel14clearArrowFromE3RVA", "DisassemblyLeftPanel::clearArrowFrom"], [224, 2, 1, "_CPPv4N20DisassemblyLeftPanel14clearArrowFromE3RVA", "DisassemblyLeftPanel::clearArrowFrom::offset"], [224, 1, 1, "_CPPv4N20DisassemblyLeftPanel10paintEventEP11QPaintEvent", "DisassemblyLeftPanel::paintEvent"], [224, 2, 1, "_CPPv4N20DisassemblyLeftPanel10paintEventEP11QPaintEvent", "DisassemblyLeftPanel::paintEvent::event"], [224, 1, 1, "_CPPv4N20DisassemblyLeftPanel10wheelEventEP11QWheelEvent", "DisassemblyLeftPanel::wheelEvent"], [224, 2, 1, "_CPPv4N20DisassemblyLeftPanel10wheelEventEP11QWheelEvent", "DisassemblyLeftPanel::wheelEvent::event"], [94, 0, 1, "_CPPv415DisassemblyLine", "DisassemblyLine"], [94, 3, 1, "_CPPv4N15DisassemblyLine5arrowE", "DisassemblyLine::arrow"], [94, 3, 1, "_CPPv4N15DisassemblyLine6offsetE", "DisassemblyLine::offset"], [94, 3, 1, "_CPPv4N15DisassemblyLine4textE", "DisassemblyLine::text"], [225, 0, 1, "_CPPv421DisassemblyScrollArea", "DisassemblyScrollArea"], [225, 1, 1, "_CPPv4N21DisassemblyScrollArea21DisassemblyScrollAreaEP7QWidget", "DisassemblyScrollArea::DisassemblyScrollArea"], [225, 2, 1, "_CPPv4N21DisassemblyScrollArea21DisassemblyScrollAreaEP7QWidget", "DisassemblyScrollArea::DisassemblyScrollArea::parent"], [225, 1, 1, "_CPPv4N21DisassemblyScrollArea18disassemblyResizedEv", "DisassemblyScrollArea::disassemblyResized"], [225, 1, 1, "_CPPv4N21DisassemblyScrollArea11scrollLinesEi", "DisassemblyScrollArea::scrollLines"], [225, 2, 1, "_CPPv4N21DisassemblyScrollArea11scrollLinesEi", "DisassemblyScrollArea::scrollLines::lines"], [18, 0, 1, "_CPPv428DisassemblyTextBlockUserData", "DisassemblyTextBlockUserData"], [18, 1, 1, "_CPPv4N28DisassemblyTextBlockUserData28DisassemblyTextBlockUserDataERK15DisassemblyLine", "DisassemblyTextBlockUserData::DisassemblyTextBlockUserData"], [18, 2, 1, "_CPPv4N28DisassemblyTextBlockUserData28DisassemblyTextBlockUserDataERK15DisassemblyLine", "DisassemblyTextBlockUserData::DisassemblyTextBlockUserData::line"], [18, 3, 1, "_CPPv4N28DisassemblyTextBlockUserData4lineE", "DisassemblyTextBlockUserData::line"], [226, 0, 1, "_CPPv419DisassemblyTextEdit", "DisassemblyTextEdit"], [226, 1, 1, "_CPPv4N19DisassemblyTextEdit19DisassemblyTextEditEP7QWidget", "DisassemblyTextEdit::DisassemblyTextEdit"], [226, 2, 1, "_CPPv4N19DisassemblyTextEdit19DisassemblyTextEditEP7QWidget", "DisassemblyTextEdit::DisassemblyTextEdit::parent"], [226, 1, 1, "_CPPv4N19DisassemblyTextEdit13setLockScrollEb", "DisassemblyTextEdit::setLockScroll"], [226, 2, 1, "_CPPv4N19DisassemblyTextEdit13setLockScrollEb", "DisassemblyTextEdit::setLockScroll::lock"], [226, 1, 1, "_CPPv4NK19DisassemblyTextEdit10textOffsetEv", "DisassemblyTextEdit::textOffset"], [227, 0, 1, "_CPPv417DisassemblyWidget", "DisassemblyWidget"], [227, 1, 1, "_CPPv4N17DisassemblyWidget17DisassemblyWidgetEP10MainWindow", "DisassemblyWidget::DisassemblyWidget"], [227, 2, 1, "_CPPv4N17DisassemblyWidget17DisassemblyWidgetEP10MainWindow", "DisassemblyWidget::DisassemblyWidget::main"], [227, 1, 1, "_CPPv4N17DisassemblyWidget17colorsUpdatedSlotEv", "DisassemblyWidget::colorsUpdatedSlot"], [227, 1, 1, "_CPPv4N17DisassemblyWidget16fontsUpdatedSlotEv", "DisassemblyWidget::fontsUpdatedSlot"], [227, 1, 1, "_CPPv4N17DisassemblyWidget14getFontMetricsEv", "DisassemblyWidget::getFontMetrics"], [227, 1, 1, "_CPPv4N17DisassemblyWidget8getLinesEv", "DisassemblyWidget::getLines"], [227, 1, 1, "_CPPv4N17DisassemblyWidget13getTextWidgetEv", "DisassemblyWidget::getTextWidget"], [227, 1, 1, "_CPPv4N17DisassemblyWidget13getWidgetTypeEv", "DisassemblyWidget::getWidgetType"], [227, 1, 1, "_CPPv4N17DisassemblyWidget20highlightCurrentLineEv", "DisassemblyWidget::highlightCurrentLine"], [227, 1, 1, "_CPPv4N17DisassemblyWidget15highlightPCLineEv", "DisassemblyWidget::highlightPCLine"], [227, 1, 1, "_CPPv4N17DisassemblyWidget18scrollInstructionsEi", "DisassemblyWidget::scrollInstructions"], [227, 2, 1, "_CPPv4N17DisassemblyWidget18scrollInstructionsEi", "DisassemblyWidget::scrollInstructions::count"], [227, 1, 1, "_CPPv4N17DisassemblyWidget8seekPrevEv", "DisassemblyWidget::seekPrev"], [227, 1, 1, "_CPPv4N17DisassemblyWidget14setPreviewModeEb", "DisassemblyWidget::setPreviewMode"], [227, 2, 1, "_CPPv4N17DisassemblyWidget14setPreviewModeEb", "DisassemblyWidget::setPreviewMode::previewMode"], [227, 1, 1, "_CPPv4N17DisassemblyWidget20showDisasContextMenuERK6QPoint", "DisassemblyWidget::showDisasContextMenu"], [227, 2, 1, "_CPPv4N17DisassemblyWidget20showDisasContextMenuERK6QPoint", "DisassemblyWidget::showDisasContextMenu::pt"], [133, 0, 1, "_CPPv425DuplicateFromOffsetDialog", "DuplicateFromOffsetDialog"], [133, 1, 1, "_CPPv4N25DuplicateFromOffsetDialog25DuplicateFromOffsetDialogEP7QWidget", "DuplicateFromOffsetDialog::DuplicateFromOffsetDialog"], [133, 2, 1, "_CPPv4N25DuplicateFromOffsetDialog25DuplicateFromOffsetDialogEP7QWidget", "DuplicateFromOffsetDialog::DuplicateFromOffsetDialog::parent"], [133, 1, 1, "_CPPv4NK25DuplicateFromOffsetDialog9getNBytesEv", "DuplicateFromOffsetDialog::getNBytes"], [133, 1, 1, "_CPPv4NK25DuplicateFromOffsetDialog9getOffsetEv", "DuplicateFromOffsetDialog::getOffset"], [134, 0, 1, "_CPPv418EditFunctionDialog", "EditFunctionDialog"], [134, 1, 1, "_CPPv4N18EditFunctionDialog18EditFunctionDialogEP7QWidget", "EditFunctionDialog::EditFunctionDialog"], [134, 2, 1, "_CPPv4N18EditFunctionDialog18EditFunctionDialogEP7QWidget", "EditFunctionDialog::EditFunctionDialog::parent"], [134, 1, 1, "_CPPv4N18EditFunctionDialog18getCallConSelectedEv", "EditFunctionDialog::getCallConSelected"], [134, 1, 1, "_CPPv4N18EditFunctionDialog14getEndAddrTextEv", "EditFunctionDialog::getEndAddrText"], [134, 1, 1, "_CPPv4N18EditFunctionDialog11getNameTextEv", "EditFunctionDialog::getNameText"], [134, 1, 1, "_CPPv4N18EditFunctionDialog16getStackSizeTextEv", "EditFunctionDialog::getStackSizeText"], [134, 1, 1, "_CPPv4N18EditFunctionDialog16getStartAddrTextEv", "EditFunctionDialog::getStartAddrText"], [134, 1, 1, "_CPPv4N18EditFunctionDialog14setCallConListERK11QStringList", "EditFunctionDialog::setCallConList"], [134, 2, 1, "_CPPv4N18EditFunctionDialog14setCallConListERK11QStringList", "EditFunctionDialog::setCallConList::callConList"], [134, 1, 1, "_CPPv4N18EditFunctionDialog18setCallConSelectedERK7QString", "EditFunctionDialog::setCallConSelected"], [134, 2, 1, "_CPPv4N18EditFunctionDialog18setCallConSelectedERK7QString", "EditFunctionDialog::setCallConSelected::selected"], [134, 1, 1, "_CPPv4N18EditFunctionDialog14setEndAddrTextERK7QString", "EditFunctionDialog::setEndAddrText"], [134, 2, 1, "_CPPv4N18EditFunctionDialog14setEndAddrTextERK7QString", "EditFunctionDialog::setEndAddrText::endAddr"], [134, 1, 1, "_CPPv4N18EditFunctionDialog11setNameTextERK7QString", "EditFunctionDialog::setNameText"], [134, 2, 1, "_CPPv4N18EditFunctionDialog11setNameTextERK7QString", "EditFunctionDialog::setNameText::name"], [134, 1, 1, "_CPPv4N18EditFunctionDialog16setStackSizeTextERK7QString", "EditFunctionDialog::setStackSizeText"], [134, 2, 1, "_CPPv4N18EditFunctionDialog16setStackSizeTextERK7QString", "EditFunctionDialog::setStackSizeText::stackSize"], [134, 1, 1, "_CPPv4N18EditFunctionDialog16setStartAddrTextERK7QString", "EditFunctionDialog::setStartAddrText"], [134, 2, 1, "_CPPv4N18EditFunctionDialog16setStartAddrTextERK7QString", "EditFunctionDialog::setStartAddrText::startAddr"], [134, 1, 1, "_CPPv4N18EditFunctionDialogD0Ev", "EditFunctionDialog::~EditFunctionDialog"], [135, 0, 1, "_CPPv421EditInstructionDialog", "EditInstructionDialog"], [135, 1, 1, "_CPPv4N21EditInstructionDialog21EditInstructionDialogE19InstructionEditModeP7QWidget", "EditInstructionDialog::EditInstructionDialog"], [135, 2, 1, "_CPPv4N21EditInstructionDialog21EditInstructionDialogE19InstructionEditModeP7QWidget", "EditInstructionDialog::EditInstructionDialog::isEditingBytes"], [135, 2, 1, "_CPPv4N21EditInstructionDialog21EditInstructionDialogE19InstructionEditModeP7QWidget", "EditInstructionDialog::EditInstructionDialog::parent"], [135, 1, 1, "_CPPv4NK21EditInstructionDialog14getInstructionEv", "EditInstructionDialog::getInstruction"], [135, 1, 1, "_CPPv4NK21EditInstructionDialog9needsNopsEv", "EditInstructionDialog::needsNops"], [135, 1, 1, "_CPPv4N21EditInstructionDialog14setInstructionERK7QString", "EditInstructionDialog::setInstruction"], [135, 2, 1, "_CPPv4N21EditInstructionDialog14setInstructionERK7QString", "EditInstructionDialog::setInstruction::instruction"], [135, 1, 1, "_CPPv4N21EditInstructionDialogD0Ev", "EditInstructionDialog::~EditInstructionDialog"], [136, 0, 1, "_CPPv416EditMethodDialog", "EditMethodDialog"], [136, 1, 1, "_CPPv4N16EditMethodDialog16EditMethodDialogEbP7QWidget", "EditMethodDialog::EditMethodDialog"], [136, 2, 1, "_CPPv4N16EditMethodDialog16EditMethodDialogEbP7QWidget", "EditMethodDialog::EditMethodDialog::classFixed"], [136, 2, 1, "_CPPv4N16EditMethodDialog16EditMethodDialogEbP7QWidget", "EditMethodDialog::EditMethodDialog::parent"], [136, 1, 1, "_CPPv4N16EditMethodDialog10editMethodERK7QStringRK7QStringP7QWidget", "EditMethodDialog::editMethod"], [136, 2, 1, "_CPPv4N16EditMethodDialog10editMethodERK7QStringRK7QStringP7QWidget", "EditMethodDialog::editMethod::className"], [136, 2, 1, "_CPPv4N16EditMethodDialog10editMethodERK7QStringRK7QStringP7QWidget", "EditMethodDialog::editMethod::meth"], [136, 2, 1, "_CPPv4N16EditMethodDialog10editMethodERK7QStringRK7QStringP7QWidget", "EditMethodDialog::editMethod::parent"], [136, 1, 1, "_CPPv4NK16EditMethodDialog8getClassEv", "EditMethodDialog::getClass"], [136, 1, 1, "_CPPv4NK16EditMethodDialog9getMethodEv", "EditMethodDialog::getMethod"], [136, 1, 1, "_CPPv4N16EditMethodDialog9newMethodE7QStringRK7QStringP7QWidget", "EditMethodDialog::newMethod"], [136, 2, 1, "_CPPv4N16EditMethodDialog9newMethodE7QStringRK7QStringP7QWidget", "EditMethodDialog::newMethod::className"], [136, 2, 1, "_CPPv4N16EditMethodDialog9newMethodE7QStringRK7QStringP7QWidget", "EditMethodDialog::newMethod::meth"], [136, 2, 1, "_CPPv4N16EditMethodDialog9newMethodE7QStringRK7QStringP7QWidget", "EditMethodDialog::newMethod::parent"], [136, 1, 1, "_CPPv4N16EditMethodDialog8setClassERK7QString", "EditMethodDialog::setClass"], [136, 2, 1, "_CPPv4N16EditMethodDialog8setClassERK7QString", "EditMethodDialog::setClass::className"], [136, 1, 1, "_CPPv4N16EditMethodDialog9setMethodERK25AnalysisMethodDescription", "EditMethodDialog::setMethod"], [136, 2, 1, "_CPPv4N16EditMethodDialog9setMethodERK25AnalysisMethodDescription", "EditMethodDialog::setMethod::desc"], [136, 1, 1, "_CPPv4N16EditMethodDialog10showDialogERK7QStringbP7QStringP25AnalysisMethodDescriptionP7QWidget", "EditMethodDialog::showDialog"], [136, 2, 1, "_CPPv4N16EditMethodDialog10showDialogERK7QStringbP7QStringP25AnalysisMethodDescriptionP7QWidget", "EditMethodDialog::showDialog::classFixed"], [136, 2, 1, "_CPPv4N16EditMethodDialog10showDialogERK7QStringbP7QStringP25AnalysisMethodDescriptionP7QWidget", "EditMethodDialog::showDialog::className"], [136, 2, 1, "_CPPv4N16EditMethodDialog10showDialogERK7QStringbP7QStringP25AnalysisMethodDescriptionP7QWidget", "EditMethodDialog::showDialog::desc"], [136, 2, 1, "_CPPv4N16EditMethodDialog10showDialogERK7QStringbP7QStringP25AnalysisMethodDescriptionP7QWidget", "EditMethodDialog::showDialog::parent"], [136, 2, 1, "_CPPv4N16EditMethodDialog10showDialogERK7QStringbP7QStringP25AnalysisMethodDescriptionP7QWidget", "EditMethodDialog::showDialog::title"], [136, 1, 1, "_CPPv4N16EditMethodDialogD0Ev", "EditMethodDialog::~EditMethodDialog"], [137, 0, 1, "_CPPv416EditStringDialog", "EditStringDialog"], [137, 1, 1, "_CPPv4N16EditStringDialog16EditStringDialogEP7QWidget", "EditStringDialog::EditStringDialog"], [137, 2, 1, "_CPPv4N16EditStringDialog16EditStringDialogEP7QWidget", "EditStringDialog::EditStringDialog::parent"], [137, 5, 1, "_CPPv4N16EditStringDialog10StringTypeE", "EditStringDialog::StringType"], [137, 6, 1, "_CPPv4N16EditStringDialog10StringType12ASCII_LATIN1E", "EditStringDialog::StringType::ASCII_LATIN1"], [137, 6, 1, "_CPPv4N16EditStringDialog10StringType4AutoE", "EditStringDialog::StringType::Auto"], [137, 6, 1, "_CPPv4N16EditStringDialog10StringType4UTF8E", "EditStringDialog::StringType::UTF8"], [137, 1, 1, "_CPPv4NK16EditStringDialog18getStringSizeValueEv", "EditStringDialog::getStringSizeValue"], [137, 1, 1, "_CPPv4NK16EditStringDialog21getStringStartAddressER8uint64_t", "EditStringDialog::getStringStartAddress"], [137, 2, 1, "_CPPv4NK16EditStringDialog21getStringStartAddressER8uint64_t", "EditStringDialog::getStringStartAddress::returnValue"], [137, 1, 1, "_CPPv4NK16EditStringDialog13getStringTypeEv", "EditStringDialog::getStringType"], [137, 1, 1, "_CPPv4N16EditStringDialog18setStringSizeValueE8uint32_t", "EditStringDialog::setStringSizeValue"], [137, 2, 1, "_CPPv4N16EditStringDialog18setStringSizeValueE8uint32_t", "EditStringDialog::setStringSizeValue::size"], [137, 1, 1, "_CPPv4N16EditStringDialog21setStringStartAddressE8uint64_t", "EditStringDialog::setStringStartAddress"], [137, 2, 1, "_CPPv4N16EditStringDialog21setStringStartAddressE8uint64_t", "EditStringDialog::setStringStartAddress::address"], [137, 1, 1, "_CPPv4N16EditStringDialogD0Ev", "EditStringDialog::~EditStringDialog"], [138, 0, 1, "_CPPv419EditVariablesDialog", "EditVariablesDialog"], [138, 1, 1, "_CPPv4N19EditVariablesDialog19EditVariablesDialogE3RVA7QStringP7QWidget", "EditVariablesDialog::EditVariablesDialog"], [138, 2, 1, "_CPPv4N19EditVariablesDialog19EditVariablesDialogE3RVA7QStringP7QWidget", "EditVariablesDialog::EditVariablesDialog::initialVar"], [138, 2, 1, "_CPPv4N19EditVariablesDialog19EditVariablesDialogE3RVA7QStringP7QWidget", "EditVariablesDialog::EditVariablesDialog::offset"], [138, 2, 1, "_CPPv4N19EditVariablesDialog19EditVariablesDialogE3RVA7QStringP7QWidget", "EditVariablesDialog::EditVariablesDialog::parent"], [138, 1, 1, "_CPPv4NK19EditVariablesDialog5emptyEv", "EditVariablesDialog::empty"], [138, 1, 1, "_CPPv4N19EditVariablesDialogD0Ev", "EditVariablesDialog::~EditVariablesDialog"], [95, 0, 1, "_CPPv421EntrypointDescription", "EntrypointDescription"], [95, 3, 1, "_CPPv4N21EntrypointDescription5baddrE", "EntrypointDescription::baddr"], [95, 3, 1, "_CPPv4N21EntrypointDescription5haddrE", "EntrypointDescription::haddr"], [95, 3, 1, "_CPPv4N21EntrypointDescription5laddrE", "EntrypointDescription::laddr"], [95, 3, 1, "_CPPv4N21EntrypointDescription5paddrE", "EntrypointDescription::paddr"], [95, 3, 1, "_CPPv4N21EntrypointDescription4typeE", "EntrypointDescription::type"], [95, 3, 1, "_CPPv4N21EntrypointDescription5vaddrE", "EntrypointDescription::vaddr"], [228, 0, 1, "_CPPv416EntrypointWidget", "EntrypointWidget"], [228, 1, 1, "_CPPv4N16EntrypointWidget16EntrypointWidgetEP10MainWindow", "EntrypointWidget::EntrypointWidget"], [228, 2, 1, "_CPPv4N16EntrypointWidget16EntrypointWidgetEP10MainWindow", "EntrypointWidget::EntrypointWidget::main"], [228, 1, 1, "_CPPv4N16EntrypointWidgetD0Ev", "EntrypointWidget::~EntrypointWidget"], [96, 0, 1, "_CPPv417ExportDescription", "ExportDescription"], [96, 3, 1, "_CPPv4N17ExportDescription9flag_nameE", "ExportDescription::flag_name"], [96, 3, 1, "_CPPv4N17ExportDescription4nameE", "ExportDescription::name"], [96, 3, 1, "_CPPv4N17ExportDescription5paddrE", "ExportDescription::paddr"], [96, 3, 1, "_CPPv4N17ExportDescription4sizeE", "ExportDescription::size"], [96, 3, 1, "_CPPv4N17ExportDescription4typeE", "ExportDescription::type"], [96, 3, 1, "_CPPv4N17ExportDescription5vaddrE", "ExportDescription::vaddr"], [229, 0, 1, "_CPPv412ExportsModel", "ExportsModel"], [229, 5, 1, "_CPPv4N12ExportsModel6ColumnE", "ExportsModel::Column"], [229, 6, 1, "_CPPv4N12ExportsModel6Column11ColumnCountE", "ExportsModel::Column::ColumnCount"], [229, 6, 1, "_CPPv4N12ExportsModel6Column13CommentColumnE", "ExportsModel::Column::CommentColumn"], [229, 6, 1, "_CPPv4N12ExportsModel6Column10NameColumnE", "ExportsModel::Column::NameColumn"], [229, 6, 1, "_CPPv4N12ExportsModel6Column12OffsetColumnE", "ExportsModel::Column::OffsetColumn"], [229, 6, 1, "_CPPv4N12ExportsModel6Column10SizeColumnE", "ExportsModel::Column::SizeColumn"], [229, 6, 1, "_CPPv4N12ExportsModel6Column10TypeColumnE", "ExportsModel::Column::TypeColumn"], [229, 6, 1, "_CPPv4N12ExportsModel6Column11ColumnCountE", "ExportsModel::ColumnCount"], [229, 6, 1, "_CPPv4N12ExportsModel6Column13CommentColumnE", "ExportsModel::CommentColumn"], [229, 6, 1, "_CPPv4N12ExportsModel4Role21ExportDescriptionRoleE", "ExportsModel::ExportDescriptionRole"], [229, 1, 1, "_CPPv4N12ExportsModel12ExportsModelEP5QListI17ExportDescriptionEP7QObject", "ExportsModel::ExportsModel"], [229, 2, 1, "_CPPv4N12ExportsModel12ExportsModelEP5QListI17ExportDescriptionEP7QObject", "ExportsModel::ExportsModel::exports"], [229, 2, 1, "_CPPv4N12ExportsModel12ExportsModelEP5QListI17ExportDescriptionEP7QObject", "ExportsModel::ExportsModel::parent"], [229, 6, 1, "_CPPv4N12ExportsModel6Column10NameColumnE", "ExportsModel::NameColumn"], [229, 6, 1, "_CPPv4N12ExportsModel6Column12OffsetColumnE", "ExportsModel::OffsetColumn"], [229, 5, 1, "_CPPv4N12ExportsModel4RoleE", "ExportsModel::Role"], [229, 6, 1, "_CPPv4N12ExportsModel4Role21ExportDescriptionRoleE", "ExportsModel::Role::ExportDescriptionRole"], [229, 6, 1, "_CPPv4N12ExportsModel6Column10SizeColumnE", "ExportsModel::SizeColumn"], [229, 6, 1, "_CPPv4N12ExportsModel6Column10TypeColumnE", "ExportsModel::TypeColumn"], [229, 1, 1, "_CPPv4NK12ExportsModel7addressERK11QModelIndex", "ExportsModel::address"], [229, 2, 1, "_CPPv4NK12ExportsModel7addressERK11QModelIndex", "ExportsModel::address::index"], [229, 1, 1, "_CPPv4NK12ExportsModel11columnCountERK11QModelIndex", "ExportsModel::columnCount"], [229, 2, 1, "_CPPv4NK12ExportsModel11columnCountERK11QModelIndex", "ExportsModel::columnCount::parent"], [229, 1, 1, "_CPPv4NK12ExportsModel4dataERK11QModelIndexi", "ExportsModel::data"], [229, 2, 1, "_CPPv4NK12ExportsModel4dataERK11QModelIndexi", "ExportsModel::data::index"], [229, 2, 1, "_CPPv4NK12ExportsModel4dataERK11QModelIndexi", "ExportsModel::data::role"], [229, 1, 1, "_CPPv4NK12ExportsModel10headerDataEiN2Qt11OrientationEi", "ExportsModel::headerData"], [229, 2, 1, "_CPPv4NK12ExportsModel10headerDataEiN2Qt11OrientationEi", "ExportsModel::headerData::orientation"], [229, 2, 1, "_CPPv4NK12ExportsModel10headerDataEiN2Qt11OrientationEi", "ExportsModel::headerData::role"], [229, 2, 1, "_CPPv4NK12ExportsModel10headerDataEiN2Qt11OrientationEi", "ExportsModel::headerData::section"], [229, 1, 1, "_CPPv4NK12ExportsModel4nameERK11QModelIndex", "ExportsModel::name"], [229, 2, 1, "_CPPv4NK12ExportsModel4nameERK11QModelIndex", "ExportsModel::name::index"], [229, 1, 1, "_CPPv4NK12ExportsModel8rowCountERK11QModelIndex", "ExportsModel::rowCount"], [229, 2, 1, "_CPPv4NK12ExportsModel8rowCountERK11QModelIndex", "ExportsModel::rowCount::parent"], [230, 0, 1, "_CPPv417ExportsProxyModel", "ExportsProxyModel"], [230, 1, 1, "_CPPv4N17ExportsProxyModel17ExportsProxyModelEP12ExportsModelP7QObject", "ExportsProxyModel::ExportsProxyModel"], [230, 2, 1, "_CPPv4N17ExportsProxyModel17ExportsProxyModelEP12ExportsModelP7QObject", "ExportsProxyModel::ExportsProxyModel::parent"], [230, 2, 1, "_CPPv4N17ExportsProxyModel17ExportsProxyModelEP12ExportsModelP7QObject", "ExportsProxyModel::ExportsProxyModel::source_model"], [231, 0, 1, "_CPPv413ExportsWidget", "ExportsWidget"], [231, 1, 1, "_CPPv4N13ExportsWidget13ExportsWidgetEP10MainWindow", "ExportsWidget::ExportsWidget"], [231, 2, 1, "_CPPv4N13ExportsWidget13ExportsWidgetEP10MainWindow", "ExportsWidget::ExportsWidget::main"], [231, 1, 1, "_CPPv4N13ExportsWidgetD0Ev", "ExportsWidget::~ExportsWidget"], [19, 0, 1, "_CPPv425FallbackSyntaxHighlighter", "FallbackSyntaxHighlighter"], [19, 1, 1, "_CPPv4N25FallbackSyntaxHighlighter25FallbackSyntaxHighlighterEP13QTextDocument", "FallbackSyntaxHighlighter::FallbackSyntaxHighlighter"], [19, 2, 1, "_CPPv4N25FallbackSyntaxHighlighter25FallbackSyntaxHighlighterEP13QTextDocument", "FallbackSyntaxHighlighter::FallbackSyntaxHighlighter::parent"], [52, 0, 1, "_CPPv4N25FallbackSyntaxHighlighter16HighlightingRuleE", "FallbackSyntaxHighlighter::HighlightingRule"], [52, 3, 1, "_CPPv4N25FallbackSyntaxHighlighter16HighlightingRule6formatE", "FallbackSyntaxHighlighter::HighlightingRule::format"], [52, 3, 1, "_CPPv4N25FallbackSyntaxHighlighter16HighlightingRule7patternE", "FallbackSyntaxHighlighter::HighlightingRule::pattern"], [19, 1, 1, "_CPPv4N25FallbackSyntaxHighlighterD0Ev", "FallbackSyntaxHighlighter::~FallbackSyntaxHighlighter"], [97, 0, 1, "_CPPv415FlagDescription", "FlagDescription"], [97, 3, 1, "_CPPv4N15FlagDescription4nameE", "FlagDescription::name"], [97, 3, 1, "_CPPv4N15FlagDescription6offsetE", "FlagDescription::offset"], [97, 3, 1, "_CPPv4N15FlagDescription8realnameE", "FlagDescription::realname"], [97, 3, 1, "_CPPv4N15FlagDescription4sizeE", "FlagDescription::size"], [139, 0, 1, "_CPPv410FlagDialog", "FlagDialog"], [139, 1, 1, "_CPPv4N10FlagDialog10FlagDialogE3RVAP7QWidget", "FlagDialog::FlagDialog"], [139, 2, 1, "_CPPv4N10FlagDialog10FlagDialogE3RVAP7QWidget", "FlagDialog::FlagDialog::offset"], [139, 2, 1, "_CPPv4N10FlagDialog10FlagDialogE3RVAP7QWidget", "FlagDialog::FlagDialog::parent"], [139, 1, 1, "_CPPv4N10FlagDialogD0Ev", "FlagDialog::~FlagDialog"], [232, 0, 1, "_CPPv410FlagsModel", "FlagsModel"], [232, 6, 1, "_CPPv4N10FlagsModel7Columns7COMMENTE", "FlagsModel::COMMENT"], [232, 6, 1, "_CPPv4N10FlagsModel7Columns5COUNTE", "FlagsModel::COUNT"], [232, 5, 1, "_CPPv4N10FlagsModel7ColumnsE", "FlagsModel::Columns"], [232, 6, 1, "_CPPv4N10FlagsModel7Columns7COMMENTE", "FlagsModel::Columns::COMMENT"], [232, 6, 1, "_CPPv4N10FlagsModel7Columns5COUNTE", "FlagsModel::Columns::COUNT"], [232, 6, 1, "_CPPv4N10FlagsModel7Columns4NAMEE", "FlagsModel::Columns::NAME"], [232, 6, 1, "_CPPv4N10FlagsModel7Columns6OFFSETE", "FlagsModel::Columns::OFFSET"], [232, 6, 1, "_CPPv4N10FlagsModel7Columns8REALNAMEE", "FlagsModel::Columns::REALNAME"], [232, 6, 1, "_CPPv4N10FlagsModel7Columns4SIZEE", "FlagsModel::Columns::SIZE"], [232, 3, 1, "_CPPv4N10FlagsModel19FlagDescriptionRoleE", "FlagsModel::FlagDescriptionRole"], [232, 1, 1, "_CPPv4N10FlagsModel10FlagsModelEP5QListI15FlagDescriptionEP7QObject", "FlagsModel::FlagsModel"], [232, 2, 1, "_CPPv4N10FlagsModel10FlagsModelEP5QListI15FlagDescriptionEP7QObject", "FlagsModel::FlagsModel::flags"], [232, 2, 1, "_CPPv4N10FlagsModel10FlagsModelEP5QListI15FlagDescriptionEP7QObject", "FlagsModel::FlagsModel::parent"], [232, 6, 1, "_CPPv4N10FlagsModel7Columns4NAMEE", "FlagsModel::NAME"], [232, 6, 1, "_CPPv4N10FlagsModel7Columns6OFFSETE", "FlagsModel::OFFSET"], [232, 6, 1, "_CPPv4N10FlagsModel7Columns8REALNAMEE", "FlagsModel::REALNAME"], [232, 6, 1, "_CPPv4N10FlagsModel7Columns4SIZEE", "FlagsModel::SIZE"], [232, 1, 1, "_CPPv4NK10FlagsModel7addressERK11QModelIndex", "FlagsModel::address"], [232, 2, 1, "_CPPv4NK10FlagsModel7addressERK11QModelIndex", "FlagsModel::address::index"], [232, 1, 1, "_CPPv4NK10FlagsModel11columnCountERK11QModelIndex", "FlagsModel::columnCount"], [232, 2, 1, "_CPPv4NK10FlagsModel11columnCountERK11QModelIndex", "FlagsModel::columnCount::parent"], [232, 1, 1, "_CPPv4NK10FlagsModel4dataERK11QModelIndexi", "FlagsModel::data"], [232, 2, 1, "_CPPv4NK10FlagsModel4dataERK11QModelIndexi", "FlagsModel::data::index"], [232, 2, 1, "_CPPv4NK10FlagsModel4dataERK11QModelIndexi", "FlagsModel::data::role"], [232, 1, 1, "_CPPv4NK10FlagsModel11descriptionE11QModelIndex", "FlagsModel::description"], [232, 2, 1, "_CPPv4NK10FlagsModel11descriptionE11QModelIndex", "FlagsModel::description::index"], [232, 1, 1, "_CPPv4NK10FlagsModel10headerDataEiN2Qt11OrientationEi", "FlagsModel::headerData"], [232, 2, 1, "_CPPv4NK10FlagsModel10headerDataEiN2Qt11OrientationEi", "FlagsModel::headerData::orientation"], [232, 2, 1, "_CPPv4NK10FlagsModel10headerDataEiN2Qt11OrientationEi", "FlagsModel::headerData::role"], [232, 2, 1, "_CPPv4NK10FlagsModel10headerDataEiN2Qt11OrientationEi", "FlagsModel::headerData::section"], [232, 1, 1, "_CPPv4NK10FlagsModel4nameERK11QModelIndex", "FlagsModel::name"], [232, 2, 1, "_CPPv4NK10FlagsModel4nameERK11QModelIndex", "FlagsModel::name::index"], [232, 1, 1, "_CPPv4NK10FlagsModel8rowCountERK11QModelIndex", "FlagsModel::rowCount"], [232, 2, 1, "_CPPv4NK10FlagsModel8rowCountERK11QModelIndex", "FlagsModel::rowCount::parent"], [233, 0, 1, "_CPPv425FlagsSortFilterProxyModel", "FlagsSortFilterProxyModel"], [233, 1, 1, "_CPPv4N25FlagsSortFilterProxyModel25FlagsSortFilterProxyModelEP10FlagsModelP7QObject", "FlagsSortFilterProxyModel::FlagsSortFilterProxyModel"], [233, 2, 1, "_CPPv4N25FlagsSortFilterProxyModel25FlagsSortFilterProxyModelEP10FlagsModelP7QObject", "FlagsSortFilterProxyModel::FlagsSortFilterProxyModel::parent"], [233, 2, 1, "_CPPv4N25FlagsSortFilterProxyModel25FlagsSortFilterProxyModelEP10FlagsModelP7QObject", "FlagsSortFilterProxyModel::FlagsSortFilterProxyModel::source_model"], [234, 0, 1, "_CPPv411FlagsWidget", "FlagsWidget"], [234, 1, 1, "_CPPv4N11FlagsWidget11FlagsWidgetEP10MainWindow", "FlagsWidget::FlagsWidget"], [234, 2, 1, "_CPPv4N11FlagsWidget11FlagsWidgetEP10MainWindow", "FlagsWidget::FlagsWidget::main"], [234, 1, 1, "_CPPv4N11FlagsWidgetD0Ev", "FlagsWidget::~FlagsWidget"], [98, 0, 1, "_CPPv420FlagspaceDescription", "FlagspaceDescription"], [98, 3, 1, "_CPPv4N20FlagspaceDescription4nameE", "FlagspaceDescription::name"], [170, 0, 1, "_CPPv416FlirtContextMenu", "FlirtContextMenu"], [170, 1, 1, "_CPPv4N16FlirtContextMenu16FlirtContextMenuEP7QWidgetP10MainWindow", "FlirtContextMenu::FlirtContextMenu"], [170, 2, 1, "_CPPv4N16FlirtContextMenu16FlirtContextMenuEP7QWidgetP10MainWindow", "FlirtContextMenu::FlirtContextMenu::mainWindow"], [170, 2, 1, "_CPPv4N16FlirtContextMenu16FlirtContextMenuEP7QWidgetP10MainWindow", "FlirtContextMenu::FlirtContextMenu::parent"], [170, 1, 1, "_CPPv4N16FlirtContextMenu11clearTargetEv", "FlirtContextMenu::clearTarget"], [170, 1, 1, "_CPPv4N16FlirtContextMenu9setTargetERK16FlirtDescription", "FlirtContextMenu::setTarget"], [170, 2, 1, "_CPPv4N16FlirtContextMenu9setTargetERK16FlirtDescription", "FlirtContextMenu::setTarget::flirt"], [170, 1, 1, "_CPPv4N16FlirtContextMenuD0Ev", "FlirtContextMenu::~FlirtContextMenu"], [99, 0, 1, "_CPPv416FlirtDescription", "FlirtDescription"], [99, 3, 1, "_CPPv4N16FlirtDescription9arch_bitsE", "FlirtDescription::arch_bits"], [99, 3, 1, "_CPPv4N16FlirtDescription9arch_nameE", "FlirtDescription::arch_name"], [99, 3, 1, "_CPPv4N16FlirtDescription9base_nameE", "FlirtDescription::base_name"], [99, 3, 1, "_CPPv4N16FlirtDescription8bin_nameE", "FlirtDescription::bin_name"], [99, 3, 1, "_CPPv4N16FlirtDescription7detailsE", "FlirtDescription::details"], [99, 3, 1, "_CPPv4N16FlirtDescription9file_pathE", "FlirtDescription::file_path"], [99, 3, 1, "_CPPv4N16FlirtDescription9n_modulesE", "FlirtDescription::n_modules"], [99, 3, 1, "_CPPv4N16FlirtDescription10short_pathE", "FlirtDescription::short_path"], [235, 0, 1, "_CPPv410FlirtModel", "FlirtModel"], [235, 6, 1, "_CPPv4N10FlirtModel6Column14ArchBitsColumnE", "FlirtModel::ArchBitsColumn"], [235, 6, 1, "_CPPv4N10FlirtModel6Column14ArchNameColumnE", "FlirtModel::ArchNameColumn"], [235, 6, 1, "_CPPv4N10FlirtModel6Column13BinTypeColumnE", "FlirtModel::BinTypeColumn"], [235, 5, 1, "_CPPv4N10FlirtModel6ColumnE", "FlirtModel::Column"], [235, 6, 1, "_CPPv4N10FlirtModel6Column14ArchBitsColumnE", "FlirtModel::Column::ArchBitsColumn"], [235, 6, 1, "_CPPv4N10FlirtModel6Column14ArchNameColumnE", "FlirtModel::Column::ArchNameColumn"], [235, 6, 1, "_CPPv4N10FlirtModel6Column13BinTypeColumnE", "FlirtModel::Column::BinTypeColumn"], [235, 6, 1, "_CPPv4N10FlirtModel6Column11ColumnCountE", "FlirtModel::Column::ColumnCount"], [235, 6, 1, "_CPPv4N10FlirtModel6Column13DetailsColumnE", "FlirtModel::Column::DetailsColumn"], [235, 6, 1, "_CPPv4N10FlirtModel6Column10NameColumnE", "FlirtModel::Column::NameColumn"], [235, 6, 1, "_CPPv4N10FlirtModel6Column16NumModulesColumnE", "FlirtModel::Column::NumModulesColumn"], [235, 6, 1, "_CPPv4N10FlirtModel6Column11ColumnCountE", "FlirtModel::ColumnCount"], [235, 6, 1, "_CPPv4N10FlirtModel6Column13DetailsColumnE", "FlirtModel::DetailsColumn"], [235, 6, 1, "_CPPv4N10FlirtModel4Role20FlirtDescriptionRoleE", "FlirtModel::FlirtDescriptionRole"], [235, 1, 1, "_CPPv4N10FlirtModel10FlirtModelEP5QListI16FlirtDescriptionEP7QObject", "FlirtModel::FlirtModel"], [235, 2, 1, "_CPPv4N10FlirtModel10FlirtModelEP5QListI16FlirtDescriptionEP7QObject", "FlirtModel::FlirtModel::parent"], [235, 2, 1, "_CPPv4N10FlirtModel10FlirtModelEP5QListI16FlirtDescriptionEP7QObject", "FlirtModel::FlirtModel::sigdb"], [235, 6, 1, "_CPPv4N10FlirtModel6Column10NameColumnE", "FlirtModel::NameColumn"], [235, 6, 1, "_CPPv4N10FlirtModel6Column16NumModulesColumnE", "FlirtModel::NumModulesColumn"], [235, 5, 1, "_CPPv4N10FlirtModel4RoleE", "FlirtModel::Role"], [235, 6, 1, "_CPPv4N10FlirtModel4Role20FlirtDescriptionRoleE", "FlirtModel::Role::FlirtDescriptionRole"], [235, 1, 1, "_CPPv4NK10FlirtModel11columnCountERK11QModelIndex", "FlirtModel::columnCount"], [235, 2, 1, "_CPPv4NK10FlirtModel11columnCountERK11QModelIndex", "FlirtModel::columnCount::parent"], [235, 1, 1, "_CPPv4NK10FlirtModel4dataERK11QModelIndexi", "FlirtModel::data"], [235, 2, 1, "_CPPv4NK10FlirtModel4dataERK11QModelIndexi", "FlirtModel::data::index"], [235, 2, 1, "_CPPv4NK10FlirtModel4dataERK11QModelIndexi", "FlirtModel::data::role"], [235, 1, 1, "_CPPv4NK10FlirtModel10headerDataEiN2Qt11OrientationEi", "FlirtModel::headerData"], [235, 2, 1, "_CPPv4NK10FlirtModel10headerDataEiN2Qt11OrientationEi", "FlirtModel::headerData::orientation"], [235, 2, 1, "_CPPv4NK10FlirtModel10headerDataEiN2Qt11OrientationEi", "FlirtModel::headerData::role"], [235, 2, 1, "_CPPv4NK10FlirtModel10headerDataEiN2Qt11OrientationEi", "FlirtModel::headerData::section"], [235, 1, 1, "_CPPv4NK10FlirtModel8rowCountERK11QModelIndex", "FlirtModel::rowCount"], [235, 2, 1, "_CPPv4NK10FlirtModel8rowCountERK11QModelIndex", "FlirtModel::rowCount::parent"], [236, 0, 1, "_CPPv415FlirtProxyModel", "FlirtProxyModel"], [236, 1, 1, "_CPPv4N15FlirtProxyModel15FlirtProxyModelEP10FlirtModelP7QObject", "FlirtProxyModel::FlirtProxyModel"], [236, 2, 1, "_CPPv4N15FlirtProxyModel15FlirtProxyModelEP10FlirtModelP7QObject", "FlirtProxyModel::FlirtProxyModel::parent"], [236, 2, 1, "_CPPv4N15FlirtProxyModel15FlirtProxyModelEP10FlirtModelP7QObject", "FlirtProxyModel::FlirtProxyModel::sourceModel"], [237, 0, 1, "_CPPv411FlirtWidget", "FlirtWidget"], [237, 1, 1, "_CPPv4N11FlirtWidget11FlirtWidgetEP10MainWindow", "FlirtWidget::FlirtWidget"], [237, 2, 1, "_CPPv4N11FlirtWidget11FlirtWidgetEP10MainWindow", "FlirtWidget::FlirtWidget::main"], [237, 1, 1, "_CPPv4N11FlirtWidgetD0Ev", "FlirtWidget::~FlirtWidget"], [75, 0, 1, "_CPPv4I0_PFvP1TEE10FreeBinder", "FreeBinder"], [75, 4, 1, "_CPPv4I0_PFvP1TEE10FreeBinder", "FreeBinder::T"], [75, 4, 1, "_CPPv4I0_PFvP1TEE10FreeBinder", "FreeBinder::func"], [75, 1, 1, "_CPPv4N10FreeBinderclEP1T", "FreeBinder::operator()"], [75, 2, 1, "_CPPv4N10FreeBinderclEP1T", "FreeBinder::operator()::data"], [100, 0, 1, "_CPPv419FunctionDescription", "FunctionDescription"], [100, 3, 1, "_CPPv4N19FunctionDescription8calltypeE", "FunctionDescription::calltype"], [100, 1, 1, "_CPPv4NK19FunctionDescription8containsE3RVA", "FunctionDescription::contains"], [100, 2, 1, "_CPPv4NK19FunctionDescription8containsE3RVA", "FunctionDescription::contains::addr"], [100, 3, 1, "_CPPv4N19FunctionDescription5edgesE", "FunctionDescription::edges"], [100, 3, 1, "_CPPv4N19FunctionDescription10linearSizeE", "FunctionDescription::linearSize"], [100, 3, 1, "_CPPv4N19FunctionDescription4nameE", "FunctionDescription::name"], [100, 3, 1, "_CPPv4N19FunctionDescription5nargsE", "FunctionDescription::nargs"], [100, 3, 1, "_CPPv4N19FunctionDescription4nbbsE", "FunctionDescription::nbbs"], [100, 3, 1, "_CPPv4N19FunctionDescription7nlocalsE", "FunctionDescription::nlocals"], [100, 3, 1, "_CPPv4N19FunctionDescription6offsetE", "FunctionDescription::offset"], [100, 3, 1, "_CPPv4N19FunctionDescription10stackframeE", "FunctionDescription::stackframe"], [238, 0, 1, "_CPPv413FunctionModel", "FunctionModel"], [238, 6, 1, "_CPPv4N13FunctionModel6Column14CalltypeColumnE", "FunctionModel::CalltypeColumn"], [238, 5, 1, "_CPPv4N13FunctionModel6ColumnE", "FunctionModel::Column"], [238, 6, 1, "_CPPv4N13FunctionModel6Column14CalltypeColumnE", "FunctionModel::Column::CalltypeColumn"], [238, 6, 1, "_CPPv4N13FunctionModel6Column11ColumnCountE", "FunctionModel::Column::ColumnCount"], [238, 6, 1, "_CPPv4N13FunctionModel6Column13CommentColumnE", "FunctionModel::Column::CommentColumn"], [238, 6, 1, "_CPPv4N13FunctionModel6Column11EdgesColumnE", "FunctionModel::Column::EdgesColumn"], [238, 6, 1, "_CPPv4N13FunctionModel6Column11FrameColumnE", "FunctionModel::Column::FrameColumn"], [238, 6, 1, "_CPPv4N13FunctionModel6Column12ImportColumnE", "FunctionModel::Column::ImportColumn"], [238, 6, 1, "_CPPv4N13FunctionModel6Column10NameColumnE", "FunctionModel::Column::NameColumn"], [238, 6, 1, "_CPPv4N13FunctionModel6Column11NargsColumnE", "FunctionModel::Column::NargsColumn"], [238, 6, 1, "_CPPv4N13FunctionModel6Column10NbbsColumnE", "FunctionModel::Column::NbbsColumn"], [238, 6, 1, "_CPPv4N13FunctionModel6Column13NlocalsColumnE", "FunctionModel::Column::NlocalsColumn"], [238, 6, 1, "_CPPv4N13FunctionModel6Column12OffsetColumnE", "FunctionModel::Column::OffsetColumn"], [238, 6, 1, "_CPPv4N13FunctionModel6Column10SizeColumnE", "FunctionModel::Column::SizeColumn"], [238, 6, 1, "_CPPv4N13FunctionModel6Column11ColumnCountE", "FunctionModel::ColumnCount"], [238, 6, 1, "_CPPv4N13FunctionModel6Column13CommentColumnE", "FunctionModel::CommentColumn"], [238, 6, 1, "_CPPv4N13FunctionModel6Column11EdgesColumnE", "FunctionModel::EdgesColumn"], [238, 6, 1, "_CPPv4N13FunctionModel6Column11FrameColumnE", "FunctionModel::FrameColumn"], [238, 3, 1, "_CPPv4N13FunctionModel23FunctionDescriptionRoleE", "FunctionModel::FunctionDescriptionRole"], [238, 1, 1, "_CPPv4N13FunctionModel13FunctionModelEP5QListI19FunctionDescriptionEP4QSetI3RVAEP4ut64b5QFont5QFontP7QObject", "FunctionModel::FunctionModel"], [238, 2, 1, "_CPPv4N13FunctionModel13FunctionModelEP5QListI19FunctionDescriptionEP4QSetI3RVAEP4ut64b5QFont5QFontP7QObject", "FunctionModel::FunctionModel::defaultFont"], [238, 2, 1, "_CPPv4N13FunctionModel13FunctionModelEP5QListI19FunctionDescriptionEP4QSetI3RVAEP4ut64b5QFont5QFontP7QObject", "FunctionModel::FunctionModel::functions"], [238, 2, 1, "_CPPv4N13FunctionModel13FunctionModelEP5QListI19FunctionDescriptionEP4QSetI3RVAEP4ut64b5QFont5QFontP7QObject", "FunctionModel::FunctionModel::highlightFont"], [238, 2, 1, "_CPPv4N13FunctionModel13FunctionModelEP5QListI19FunctionDescriptionEP4QSetI3RVAEP4ut64b5QFont5QFontP7QObject", "FunctionModel::FunctionModel::importAddresses"], [238, 2, 1, "_CPPv4N13FunctionModel13FunctionModelEP5QListI19FunctionDescriptionEP4QSetI3RVAEP4ut64b5QFont5QFontP7QObject", "FunctionModel::FunctionModel::mainAdress"], [238, 2, 1, "_CPPv4N13FunctionModel13FunctionModelEP5QListI19FunctionDescriptionEP4QSetI3RVAEP4ut64b5QFont5QFontP7QObject", "FunctionModel::FunctionModel::nested"], [238, 2, 1, "_CPPv4N13FunctionModel13FunctionModelEP5QListI19FunctionDescriptionEP4QSetI3RVAEP4ut64b5QFont5QFontP7QObject", "FunctionModel::FunctionModel::parent"], [238, 6, 1, "_CPPv4N13FunctionModel6Column12ImportColumnE", "FunctionModel::ImportColumn"], [238, 3, 1, "_CPPv4N13FunctionModel12IsImportRoleE", "FunctionModel::IsImportRole"], [238, 6, 1, "_CPPv4N13FunctionModel6Column10NameColumnE", "FunctionModel::NameColumn"], [238, 6, 1, "_CPPv4N13FunctionModel6Column11NargsColumnE", "FunctionModel::NargsColumn"], [238, 6, 1, "_CPPv4N13FunctionModel6Column10NbbsColumnE", "FunctionModel::NbbsColumn"], [238, 6, 1, "_CPPv4N13FunctionModel6Column13NlocalsColumnE", "FunctionModel::NlocalsColumn"], [238, 6, 1, "_CPPv4N13FunctionModel6Column12OffsetColumnE", "FunctionModel::OffsetColumn"], [238, 6, 1, "_CPPv4N13FunctionModel6Column10SizeColumnE", "FunctionModel::SizeColumn"], [238, 1, 1, "_CPPv4NK13FunctionModel7addressERK11QModelIndex", "FunctionModel::address"], [238, 2, 1, "_CPPv4NK13FunctionModel7addressERK11QModelIndex", "FunctionModel::address::index"], [238, 1, 1, "_CPPv4NK13FunctionModel11columnCountERK11QModelIndex", "FunctionModel::columnCount"], [238, 2, 1, "_CPPv4NK13FunctionModel11columnCountERK11QModelIndex", "FunctionModel::columnCount::parent"], [238, 1, 1, "_CPPv4NK13FunctionModel4dataERK11QModelIndexi", "FunctionModel::data"], [238, 2, 1, "_CPPv4NK13FunctionModel4dataERK11QModelIndexi", "FunctionModel::data::index"], [238, 2, 1, "_CPPv4NK13FunctionModel4dataERK11QModelIndexi", "FunctionModel::data::role"], [238, 1, 1, "_CPPv4NK13FunctionModel10headerDataEiN2Qt11OrientationEi", "FunctionModel::headerData"], [238, 2, 1, "_CPPv4NK13FunctionModel10headerDataEiN2Qt11OrientationEi", "FunctionModel::headerData::orientation"], [238, 2, 1, "_CPPv4NK13FunctionModel10headerDataEiN2Qt11OrientationEi", "FunctionModel::headerData::role"], [238, 2, 1, "_CPPv4NK13FunctionModel10headerDataEiN2Qt11OrientationEi", "FunctionModel::headerData::section"], [238, 1, 1, "_CPPv4NK13FunctionModel5indexEiiRK11QModelIndex", "FunctionModel::index"], [238, 2, 1, "_CPPv4NK13FunctionModel5indexEiiRK11QModelIndex", "FunctionModel::index::column"], [238, 2, 1, "_CPPv4NK13FunctionModel5indexEiiRK11QModelIndex", "FunctionModel::index::parent"], [238, 2, 1, "_CPPv4NK13FunctionModel5indexEiiRK11QModelIndex", "FunctionModel::index::row"], [238, 1, 1, "_CPPv4N13FunctionModel8isNestedEv", "FunctionModel::isNested"], [238, 1, 1, "_CPPv4NK13FunctionModel4nameERK11QModelIndex", "FunctionModel::name"], [238, 2, 1, "_CPPv4NK13FunctionModel4nameERK11QModelIndex", "FunctionModel::name::index"], [238, 1, 1, "_CPPv4NK13FunctionModel6parentERK11QModelIndex", "FunctionModel::parent"], [238, 2, 1, "_CPPv4NK13FunctionModel6parentERK11QModelIndex", "FunctionModel::parent::index"], [238, 1, 1, "_CPPv4NK13FunctionModel8rowCountERK11QModelIndex", "FunctionModel::rowCount"], [238, 2, 1, "_CPPv4NK13FunctionModel8rowCountERK11QModelIndex", "FunctionModel::rowCount::parent"], [238, 1, 1, "_CPPv4N13FunctionModel9setNestedEb", "FunctionModel::setNested"], [238, 2, 1, "_CPPv4N13FunctionModel9setNestedEb", "FunctionModel::setNested::nested"], [238, 1, 1, "_CPPv4N13FunctionModel18updateCurrentIndexEv", "FunctionModel::updateCurrentIndex"], [239, 0, 1, "_CPPv428FunctionSortFilterProxyModel", "FunctionSortFilterProxyModel"], [239, 1, 1, "_CPPv4N28FunctionSortFilterProxyModel28FunctionSortFilterProxyModelEP13FunctionModelP7QObject", "FunctionSortFilterProxyModel::FunctionSortFilterProxyModel"], [239, 2, 1, "_CPPv4N28FunctionSortFilterProxyModel28FunctionSortFilterProxyModelEP13FunctionModelP7QObject", "FunctionSortFilterProxyModel::FunctionSortFilterProxyModel::parent"], [239, 2, 1, "_CPPv4N28FunctionSortFilterProxyModel28FunctionSortFilterProxyModelEP13FunctionModelP7QObject", "FunctionSortFilterProxyModel::FunctionSortFilterProxyModel::source_model"], [20, 0, 1, "_CPPv413FunctionsTask", "FunctionsTask"], [20, 1, 1, "_CPPv4N13FunctionsTask13fetchFinishedERK5QListI19FunctionDescriptionE", "FunctionsTask::fetchFinished"], [20, 2, 1, "_CPPv4N13FunctionsTask13fetchFinishedERK5QListI19FunctionDescriptionE", "FunctionsTask::fetchFinished::strings"], [20, 1, 1, "_CPPv4N13FunctionsTask8getTitleEv", "FunctionsTask::getTitle"], [240, 0, 1, "_CPPv415FunctionsWidget", "FunctionsWidget"], [240, 1, 1, "_CPPv4N15FunctionsWidget15FunctionsWidgetEP10MainWindow", "FunctionsWidget::FunctionsWidget"], [240, 2, 1, "_CPPv4N15FunctionsWidget15FunctionsWidgetEP10MainWindow", "FunctionsWidget::FunctionsWidget::main"], [240, 1, 1, "_CPPv4N15FunctionsWidget16changeSizePolicyEN11QSizePolicy6PolicyEN11QSizePolicy6PolicyE", "FunctionsWidget::changeSizePolicy"], [240, 2, 1, "_CPPv4N15FunctionsWidget16changeSizePolicyEN11QSizePolicy6PolicyEN11QSizePolicy6PolicyE", "FunctionsWidget::changeSizePolicy::hor"], [240, 2, 1, "_CPPv4N15FunctionsWidget16changeSizePolicyEN11QSizePolicy6PolicyEN11QSizePolicy6PolicyE", "FunctionsWidget::changeSizePolicy::ver"], [240, 1, 1, "_CPPv4N15FunctionsWidgetD0Ev", "FunctionsWidget::~FunctionsWidget"], [241, 0, 1, "_CPPv421GenericRizinGraphView", "GenericRizinGraphView"], [241, 1, 1, "_CPPv4N21GenericRizinGraphView21GenericRizinGraphViewEP16RizinGraphWidgetP10MainWindow", "GenericRizinGraphView::GenericRizinGraphView"], [241, 2, 1, "_CPPv4N21GenericRizinGraphView21GenericRizinGraphViewEP16RizinGraphWidgetP10MainWindow", "GenericRizinGraphView::GenericRizinGraphView::main"], [241, 2, 1, "_CPPv4N21GenericRizinGraphView21GenericRizinGraphViewEP16RizinGraphWidgetP10MainWindow", "GenericRizinGraphView::GenericRizinGraphView::parent"], [241, 1, 1, "_CPPv4N21GenericRizinGraphView11refreshViewEv", "GenericRizinGraphView::refreshView"], [241, 1, 1, "_CPPv4N21GenericRizinGraphView15setGraphCommandE7QString", "GenericRizinGraphView::setGraphCommand"], [241, 2, 1, "_CPPv4N21GenericRizinGraphView15setGraphCommandE7QString", "GenericRizinGraphView::setGraphCommand::cmd"], [140, 0, 1, "_CPPv419GlibcHeapBinsDialog", "GlibcHeapBinsDialog"], [140, 1, 1, "_CPPv4N19GlibcHeapBinsDialog19GlibcHeapBinsDialogE3RVAP10MainWindowP7QWidget", "GlibcHeapBinsDialog::GlibcHeapBinsDialog"], [140, 2, 1, "_CPPv4N19GlibcHeapBinsDialog19GlibcHeapBinsDialogE3RVAP10MainWindowP7QWidget", "GlibcHeapBinsDialog::GlibcHeapBinsDialog::i"], [140, 2, 1, "_CPPv4N19GlibcHeapBinsDialog19GlibcHeapBinsDialogE3RVAP10MainWindowP7QWidget", "GlibcHeapBinsDialog::GlibcHeapBinsDialog::main"], [140, 2, 1, "_CPPv4N19GlibcHeapBinsDialog19GlibcHeapBinsDialogE3RVAP10MainWindowP7QWidget", "GlibcHeapBinsDialog::GlibcHeapBinsDialog::parent"], [140, 1, 1, "_CPPv4N19GlibcHeapBinsDialog16onCurrentChangedERK11QModelIndexRK11QModelIndex", "GlibcHeapBinsDialog::onCurrentChanged"], [140, 2, 1, "_CPPv4N19GlibcHeapBinsDialog16onCurrentChangedERK11QModelIndexRK11QModelIndex", "GlibcHeapBinsDialog::onCurrentChanged::current"], [140, 2, 1, "_CPPv4N19GlibcHeapBinsDialog16onCurrentChangedERK11QModelIndexRK11QModelIndex", "GlibcHeapBinsDialog::onCurrentChanged::prev"], [140, 1, 1, "_CPPv4N19GlibcHeapBinsDialog12setChainInfoEi", "GlibcHeapBinsDialog::setChainInfo"], [140, 2, 1, "_CPPv4N19GlibcHeapBinsDialog12setChainInfoEi", "GlibcHeapBinsDialog::setChainInfo::index"], [140, 1, 1, "_CPPv4N19GlibcHeapBinsDialog12setGraphViewEi", "GlibcHeapBinsDialog::setGraphView"], [140, 2, 1, "_CPPv4N19GlibcHeapBinsDialog12setGraphViewEi", "GlibcHeapBinsDialog::setGraphView::index"], [140, 1, 1, "_CPPv4N19GlibcHeapBinsDialogD0Ev", "GlibcHeapBinsDialog::~GlibcHeapBinsDialog"], [141, 0, 1, "_CPPv419GlibcHeapInfoDialog", "GlibcHeapInfoDialog"], [141, 1, 1, "_CPPv4N19GlibcHeapInfoDialog19GlibcHeapInfoDialogE3RVA7QStringP7QWidget", "GlibcHeapInfoDialog::GlibcHeapInfoDialog"], [141, 2, 1, "_CPPv4N19GlibcHeapInfoDialog19GlibcHeapInfoDialogE3RVA7QStringP7QWidget", "GlibcHeapInfoDialog::GlibcHeapInfoDialog::offset"], [141, 2, 1, "_CPPv4N19GlibcHeapInfoDialog19GlibcHeapInfoDialogE3RVA7QStringP7QWidget", "GlibcHeapInfoDialog::GlibcHeapInfoDialog::parent"], [141, 2, 1, "_CPPv4N19GlibcHeapInfoDialog19GlibcHeapInfoDialogE3RVA7QStringP7QWidget", "GlibcHeapInfoDialog::GlibcHeapInfoDialog::status"], [141, 1, 1, "_CPPv4N19GlibcHeapInfoDialogD0Ev", "GlibcHeapInfoDialog::~GlibcHeapInfoDialog"], [242, 0, 1, "_CPPv414GlibcHeapModel", "GlibcHeapModel"], [242, 5, 1, "_CPPv4N14GlibcHeapModel6ColumnE", "GlibcHeapModel::Column"], [242, 6, 1, "_CPPv4N14GlibcHeapModel6Column11ColumnCountE", "GlibcHeapModel::Column::ColumnCount"], [242, 6, 1, "_CPPv4N14GlibcHeapModel6Column12OffsetColumnE", "GlibcHeapModel::Column::OffsetColumn"], [242, 6, 1, "_CPPv4N14GlibcHeapModel6Column10SizeColumnE", "GlibcHeapModel::Column::SizeColumn"], [242, 6, 1, "_CPPv4N14GlibcHeapModel6Column12StatusColumnE", "GlibcHeapModel::Column::StatusColumn"], [242, 6, 1, "_CPPv4N14GlibcHeapModel6Column11ColumnCountE", "GlibcHeapModel::ColumnCount"], [242, 1, 1, "_CPPv4N14GlibcHeapModel14GlibcHeapModelEP7QObject", "GlibcHeapModel::GlibcHeapModel"], [242, 2, 1, "_CPPv4N14GlibcHeapModel14GlibcHeapModelEP7QObject", "GlibcHeapModel::GlibcHeapModel::parent"], [242, 6, 1, "_CPPv4N14GlibcHeapModel6Column12OffsetColumnE", "GlibcHeapModel::OffsetColumn"], [242, 6, 1, "_CPPv4N14GlibcHeapModel6Column10SizeColumnE", "GlibcHeapModel::SizeColumn"], [242, 6, 1, "_CPPv4N14GlibcHeapModel6Column12StatusColumnE", "GlibcHeapModel::StatusColumn"], [242, 3, 1, "_CPPv4N14GlibcHeapModel10arena_addrE", "GlibcHeapModel::arena_addr"], [242, 1, 1, "_CPPv4NK14GlibcHeapModel11columnCountERK11QModelIndex", "GlibcHeapModel::columnCount"], [242, 2, 1, "_CPPv4NK14GlibcHeapModel11columnCountERK11QModelIndex", "GlibcHeapModel::columnCount::parent"], [242, 1, 1, "_CPPv4NK14GlibcHeapModel4dataERK11QModelIndexi", "GlibcHeapModel::data"], [242, 2, 1, "_CPPv4NK14GlibcHeapModel4dataERK11QModelIndexi", "GlibcHeapModel::data::index"], [242, 2, 1, "_CPPv4NK14GlibcHeapModel4dataERK11QModelIndexi", "GlibcHeapModel::data::role"], [242, 1, 1, "_CPPv4NK14GlibcHeapModel10headerDataEiN2Qt11OrientationEi", "GlibcHeapModel::headerData"], [242, 2, 1, "_CPPv4NK14GlibcHeapModel10headerDataEiN2Qt11OrientationEi", "GlibcHeapModel::headerData::orientation"], [242, 2, 1, "_CPPv4NK14GlibcHeapModel10headerDataEiN2Qt11OrientationEi", "GlibcHeapModel::headerData::role"], [242, 2, 1, "_CPPv4NK14GlibcHeapModel10headerDataEiN2Qt11OrientationEi", "GlibcHeapModel::headerData::section"], [242, 1, 1, "_CPPv4N14GlibcHeapModel6reloadEv", "GlibcHeapModel::reload"], [242, 1, 1, "_CPPv4NK14GlibcHeapModel8rowCountERK11QModelIndex", "GlibcHeapModel::rowCount"], [242, 2, 1, "_CPPv4NK14GlibcHeapModel8rowCountERK11QModelIndex", "GlibcHeapModel::rowCount::parent"], [243, 0, 1, "_CPPv415GlibcHeapWidget", "GlibcHeapWidget"], [243, 1, 1, "_CPPv4N15GlibcHeapWidget15GlibcHeapWidgetEP10MainWindowP7QWidget", "GlibcHeapWidget::GlibcHeapWidget"], [243, 2, 1, "_CPPv4N15GlibcHeapWidget15GlibcHeapWidgetEP10MainWindowP7QWidget", "GlibcHeapWidget::GlibcHeapWidget::main"], [243, 2, 1, "_CPPv4N15GlibcHeapWidget15GlibcHeapWidgetEP10MainWindowP7QWidget", "GlibcHeapWidget::GlibcHeapWidget::parent"], [243, 1, 1, "_CPPv4N15GlibcHeapWidgetD0Ev", "GlibcHeapWidget::~GlibcHeapWidget"], [101, 0, 1, "_CPPv417GlobalDescription", "GlobalDescription"], [101, 3, 1, "_CPPv4N17GlobalDescription4addrE", "GlobalDescription::addr"], [101, 3, 1, "_CPPv4N17GlobalDescription4nameE", "GlobalDescription::name"], [101, 3, 1, "_CPPv4N17GlobalDescription4typeE", "GlobalDescription::type"], [142, 0, 1, "_CPPv420GlobalVariableDialog", "GlobalVariableDialog"], [142, 1, 1, "_CPPv4N20GlobalVariableDialog20GlobalVariableDialogE3RVAP7QWidget", "GlobalVariableDialog::GlobalVariableDialog"], [142, 2, 1, "_CPPv4N20GlobalVariableDialog20GlobalVariableDialogE3RVAP7QWidget", "GlobalVariableDialog::GlobalVariableDialog::offset"], [142, 2, 1, "_CPPv4N20GlobalVariableDialog20GlobalVariableDialogE3RVAP7QWidget", "GlobalVariableDialog::GlobalVariableDialog::parent"], [142, 1, 1, "_CPPv4N20GlobalVariableDialogD0Ev", "GlobalVariableDialog::~GlobalVariableDialog"], [244, 0, 1, "_CPPv412GlobalsModel", "GlobalsModel"], [244, 6, 1, "_CPPv4N12GlobalsModel6Column13AddressColumnE", "GlobalsModel::AddressColumn"], [244, 5, 1, "_CPPv4N12GlobalsModel6ColumnE", "GlobalsModel::Column"], [244, 6, 1, "_CPPv4N12GlobalsModel6Column13AddressColumnE", "GlobalsModel::Column::AddressColumn"], [244, 6, 1, "_CPPv4N12GlobalsModel6Column11ColumnCountE", "GlobalsModel::Column::ColumnCount"], [244, 6, 1, "_CPPv4N12GlobalsModel6Column13CommentColumnE", "GlobalsModel::Column::CommentColumn"], [244, 6, 1, "_CPPv4N12GlobalsModel6Column10NameColumnE", "GlobalsModel::Column::NameColumn"], [244, 6, 1, "_CPPv4N12GlobalsModel6Column10TypeColumnE", "GlobalsModel::Column::TypeColumn"], [244, 6, 1, "_CPPv4N12GlobalsModel6Column11ColumnCountE", "GlobalsModel::ColumnCount"], [244, 6, 1, "_CPPv4N12GlobalsModel6Column13CommentColumnE", "GlobalsModel::CommentColumn"], [244, 6, 1, "_CPPv4N12GlobalsModel4Role21GlobalDescriptionRoleE", "GlobalsModel::GlobalDescriptionRole"], [244, 1, 1, "_CPPv4N12GlobalsModel12GlobalsModelEP5QListI17GlobalDescriptionEP7QObject", "GlobalsModel::GlobalsModel"], [244, 2, 1, "_CPPv4N12GlobalsModel12GlobalsModelEP5QListI17GlobalDescriptionEP7QObject", "GlobalsModel::GlobalsModel::exports"], [244, 2, 1, "_CPPv4N12GlobalsModel12GlobalsModelEP5QListI17GlobalDescriptionEP7QObject", "GlobalsModel::GlobalsModel::parent"], [244, 6, 1, "_CPPv4N12GlobalsModel6Column10NameColumnE", "GlobalsModel::NameColumn"], [244, 5, 1, "_CPPv4N12GlobalsModel4RoleE", "GlobalsModel::Role"], [244, 6, 1, "_CPPv4N12GlobalsModel4Role21GlobalDescriptionRoleE", "GlobalsModel::Role::GlobalDescriptionRole"], [244, 6, 1, "_CPPv4N12GlobalsModel6Column10TypeColumnE", "GlobalsModel::TypeColumn"], [244, 1, 1, "_CPPv4NK12GlobalsModel7addressERK11QModelIndex", "GlobalsModel::address"], [244, 2, 1, "_CPPv4NK12GlobalsModel7addressERK11QModelIndex", "GlobalsModel::address::index"], [244, 1, 1, "_CPPv4NK12GlobalsModel11columnCountERK11QModelIndex", "GlobalsModel::columnCount"], [244, 2, 1, "_CPPv4NK12GlobalsModel11columnCountERK11QModelIndex", "GlobalsModel::columnCount::parent"], [244, 1, 1, "_CPPv4NK12GlobalsModel4dataERK11QModelIndexi", "GlobalsModel::data"], [244, 2, 1, "_CPPv4NK12GlobalsModel4dataERK11QModelIndexi", "GlobalsModel::data::index"], [244, 2, 1, "_CPPv4NK12GlobalsModel4dataERK11QModelIndexi", "GlobalsModel::data::role"], [244, 1, 1, "_CPPv4NK12GlobalsModel10headerDataEiN2Qt11OrientationEi", "GlobalsModel::headerData"], [244, 2, 1, "_CPPv4NK12GlobalsModel10headerDataEiN2Qt11OrientationEi", "GlobalsModel::headerData::orientation"], [244, 2, 1, "_CPPv4NK12GlobalsModel10headerDataEiN2Qt11OrientationEi", "GlobalsModel::headerData::role"], [244, 2, 1, "_CPPv4NK12GlobalsModel10headerDataEiN2Qt11OrientationEi", "GlobalsModel::headerData::section"], [244, 1, 1, "_CPPv4NK12GlobalsModel4nameERK11QModelIndex", "GlobalsModel::name"], [244, 2, 1, "_CPPv4NK12GlobalsModel4nameERK11QModelIndex", "GlobalsModel::name::index"], [244, 1, 1, "_CPPv4NK12GlobalsModel8rowCountERK11QModelIndex", "GlobalsModel::rowCount"], [244, 2, 1, "_CPPv4NK12GlobalsModel8rowCountERK11QModelIndex", "GlobalsModel::rowCount::parent"], [245, 0, 1, "_CPPv417GlobalsProxyModel", "GlobalsProxyModel"], [245, 1, 1, "_CPPv4N17GlobalsProxyModel17GlobalsProxyModelEP12GlobalsModelP7QObject", "GlobalsProxyModel::GlobalsProxyModel"], [245, 2, 1, "_CPPv4N17GlobalsProxyModel17GlobalsProxyModelEP12GlobalsModelP7QObject", "GlobalsProxyModel::GlobalsProxyModel::parent"], [245, 2, 1, "_CPPv4N17GlobalsProxyModel17GlobalsProxyModelEP12GlobalsModelP7QObject", "GlobalsProxyModel::GlobalsProxyModel::sourceModel"], [246, 0, 1, "_CPPv413GlobalsWidget", "GlobalsWidget"], [246, 1, 1, "_CPPv4N13GlobalsWidget13GlobalsWidgetEP10MainWindow", "GlobalsWidget::GlobalsWidget"], [246, 2, 1, "_CPPv4N13GlobalsWidget13GlobalsWidgetEP10MainWindow", "GlobalsWidget::GlobalsWidget::main"], [246, 1, 1, "_CPPv4N13GlobalsWidgetD0Ev", "GlobalsWidget::~GlobalsWidget"], [247, 0, 1, "_CPPv415GraphGridLayout", "GraphGridLayout"], [247, 1, 1, "_CPPv4NK15GraphGridLayout15CalculateLayoutER5Graph4ut64RiRi", "GraphGridLayout::CalculateLayout"], [247, 2, 1, "_CPPv4NK15GraphGridLayout15CalculateLayoutER5Graph4ut64RiRi", "GraphGridLayout::CalculateLayout::blocks"], [247, 2, 1, "_CPPv4NK15GraphGridLayout15CalculateLayoutER5Graph4ut64RiRi", "GraphGridLayout::CalculateLayout::entry"], [247, 2, 1, "_CPPv4NK15GraphGridLayout15CalculateLayoutER5Graph4ut64RiRi", "GraphGridLayout::CalculateLayout::height"], [247, 2, 1, "_CPPv4NK15GraphGridLayout15CalculateLayoutER5Graph4ut64RiRi", "GraphGridLayout::CalculateLayout::width"], [247, 1, 1, "_CPPv4N15GraphGridLayout15GraphGridLayoutE10LayoutType", "GraphGridLayout::GraphGridLayout"], [247, 2, 1, "_CPPv4N15GraphGridLayout15GraphGridLayoutE10LayoutType", "GraphGridLayout::GraphGridLayout::layoutType"], [325, 0, 1, "_CPPv4N15GraphGridLayout9GridBlockE", "GraphGridLayout::GridBlock"], [325, 3, 1, "_CPPv4N15GraphGridLayout9GridBlock3colE", "GraphGridLayout::GridBlock::col"], [325, 3, 1, "_CPPv4N15GraphGridLayout9GridBlock8dag_edgeE", "GraphGridLayout::GridBlock::dag_edge"], [325, 3, 1, "_CPPv4N15GraphGridLayout9GridBlock10has_parentE", "GraphGridLayout::GridBlock::has_parent"], [325, 3, 1, "_CPPv4N15GraphGridLayout9GridBlock2idE", "GraphGridLayout::GridBlock::id"], [325, 3, 1, "_CPPv4N15GraphGridLayout9GridBlock10inputCountE", "GraphGridLayout::GridBlock::inputCount"], [325, 3, 1, "_CPPv4N15GraphGridLayout9GridBlock11lastRowLeftE", "GraphGridLayout::GridBlock::lastRowLeft"], [325, 3, 1, "_CPPv4N15GraphGridLayout9GridBlock12lastRowRightE", "GraphGridLayout::GridBlock::lastRowRight"], [325, 3, 1, "_CPPv4N15GraphGridLayout9GridBlock12leftPositionE", "GraphGridLayout::GridBlock::leftPosition"], [325, 3, 1, "_CPPv4N15GraphGridLayout9GridBlock13leftSideShapeE", "GraphGridLayout::GridBlock::leftSideShape"], [325, 3, 1, "_CPPv4N15GraphGridLayout9GridBlock10mergeBlockE", "GraphGridLayout::GridBlock::mergeBlock"], [325, 3, 1, "_CPPv4N15GraphGridLayout9GridBlock11outputCountE", "GraphGridLayout::GridBlock::outputCount"], [325, 3, 1, "_CPPv4N15GraphGridLayout9GridBlock13rightPositionE", "GraphGridLayout::GridBlock::rightPosition"], [325, 3, 1, "_CPPv4N15GraphGridLayout9GridBlock14rightSideShapeE", "GraphGridLayout::GridBlock::rightSideShape"], [325, 3, 1, "_CPPv4N15GraphGridLayout9GridBlock3rowE", "GraphGridLayout::GridBlock::row"], [325, 3, 1, "_CPPv4N15GraphGridLayout9GridBlock9row_countE", "GraphGridLayout::GridBlock::row_count"], [325, 3, 1, "_CPPv4N15GraphGridLayout9GridBlock9tree_edgeE", "GraphGridLayout::GridBlock::tree_edge"], [326, 0, 1, "_CPPv4N15GraphGridLayout8GridEdgeE", "GraphGridLayout::GridEdge"], [326, 1, 1, "_CPPv4N15GraphGridLayout8GridEdge8addPointEii7int16_t", "GraphGridLayout::GridEdge::addPoint"], [326, 2, 1, "_CPPv4N15GraphGridLayout8GridEdge8addPointEii7int16_t", "GraphGridLayout::GridEdge::addPoint::col"], [326, 2, 1, "_CPPv4N15GraphGridLayout8GridEdge8addPointEii7int16_t", "GraphGridLayout::GridEdge::addPoint::kind"], [326, 2, 1, "_CPPv4N15GraphGridLayout8GridEdge8addPointEii7int16_t", "GraphGridLayout::GridEdge::addPoint::row"], [326, 3, 1, "_CPPv4N15GraphGridLayout8GridEdge4destE", "GraphGridLayout::GridEdge::dest"], [326, 3, 1, "_CPPv4N15GraphGridLayout8GridEdge10mainColumnE", "GraphGridLayout::GridEdge::mainColumn"], [326, 3, 1, "_CPPv4N15GraphGridLayout8GridEdge6pointsE", "GraphGridLayout::GridEdge::points"], [326, 3, 1, "_CPPv4N15GraphGridLayout8GridEdge17secondaryPriorityE", "GraphGridLayout::GridEdge::secondaryPriority"], [327, 0, 1, "_CPPv4N15GraphGridLayout11LayoutStateE", "GraphGridLayout::LayoutState"], [327, 3, 1, "_CPPv4N15GraphGridLayout11LayoutState6blocksE", "GraphGridLayout::LayoutState::blocks"], [327, 3, 1, "_CPPv4N15GraphGridLayout11LayoutState12columnOffsetE", "GraphGridLayout::LayoutState::columnOffset"], [327, 3, 1, "_CPPv4N15GraphGridLayout11LayoutState11columnWidthE", "GraphGridLayout::LayoutState::columnWidth"], [327, 3, 1, "_CPPv4N15GraphGridLayout11LayoutState7columnsE", "GraphGridLayout::LayoutState::columns"], [327, 3, 1, "_CPPv4N15GraphGridLayout11LayoutState4edgeE", "GraphGridLayout::LayoutState::edge"], [327, 3, 1, "_CPPv4N15GraphGridLayout11LayoutState16edgeColumnOffsetE", "GraphGridLayout::LayoutState::edgeColumnOffset"], [327, 3, 1, "_CPPv4N15GraphGridLayout11LayoutState15edgeColumnWidthE", "GraphGridLayout::LayoutState::edgeColumnWidth"], [327, 3, 1, "_CPPv4N15GraphGridLayout11LayoutState13edgeRowHeightE", "GraphGridLayout::LayoutState::edgeRowHeight"], [327, 3, 1, "_CPPv4N15GraphGridLayout11LayoutState13edgeRowOffsetE", "GraphGridLayout::LayoutState::edgeRowOffset"], [327, 3, 1, "_CPPv4N15GraphGridLayout11LayoutState11grid_blocksE", "GraphGridLayout::LayoutState::grid_blocks"], [327, 3, 1, "_CPPv4N15GraphGridLayout11LayoutState9rowHeightE", "GraphGridLayout::LayoutState::rowHeight"], [327, 3, 1, "_CPPv4N15GraphGridLayout11LayoutState9rowOffsetE", "GraphGridLayout::LayoutState::rowOffset"], [327, 3, 1, "_CPPv4N15GraphGridLayout11LayoutState4rowsE", "GraphGridLayout::LayoutState::rows"], [247, 5, 1, "_CPPv4N15GraphGridLayout10LayoutTypeE", "GraphGridLayout::LayoutType"], [247, 6, 1, "_CPPv4N15GraphGridLayout10LayoutType6MediumE", "GraphGridLayout::LayoutType::Medium"], [247, 6, 1, "_CPPv4N15GraphGridLayout10LayoutType6NarrowE", "GraphGridLayout::LayoutType::Narrow"], [247, 6, 1, "_CPPv4N15GraphGridLayout10LayoutType4WideE", "GraphGridLayout::LayoutType::Wide"], [328, 0, 1, "_CPPv4N15GraphGridLayout5PointE", "GraphGridLayout::Point"], [328, 3, 1, "_CPPv4N15GraphGridLayout5Point3colE", "GraphGridLayout::Point::col"], [328, 3, 1, "_CPPv4N15GraphGridLayout5Point4kindE", "GraphGridLayout::Point::kind"], [328, 3, 1, "_CPPv4N15GraphGridLayout5Point6offsetE", "GraphGridLayout::Point::offset"], [328, 3, 1, "_CPPv4N15GraphGridLayout5Point3rowE", "GraphGridLayout::Point::row"], [328, 3, 1, "_CPPv4N15GraphGridLayout5Point15spacingOverrideE", "GraphGridLayout::Point::spacingOverride"], [247, 1, 1, "_CPPv4N15GraphGridLayout21setLayoutOptimizationEb", "GraphGridLayout::setLayoutOptimization"], [247, 2, 1, "_CPPv4N15GraphGridLayout21setLayoutOptimizationEb", "GraphGridLayout::setLayoutOptimization::enabled"], [247, 1, 1, "_CPPv4N15GraphGridLayout27setParentBetweenDirectChildEb", "GraphGridLayout::setParentBetweenDirectChild"], [247, 2, 1, "_CPPv4N15GraphGridLayout27setParentBetweenDirectChildEb", "GraphGridLayout::setParentBetweenDirectChild::enabled"], [247, 1, 1, "_CPPv4N15GraphGridLayout24setTightSubtreePlacementEb", "GraphGridLayout::setTightSubtreePlacement"], [247, 2, 1, "_CPPv4N15GraphGridLayout24setTightSubtreePlacementEb", "GraphGridLayout::setTightSubtreePlacement::enabled"], [247, 1, 1, "_CPPv4N15GraphGridLayout31setverticalBlockAlignmentMiddleEb", "GraphGridLayout::setverticalBlockAlignmentMiddle"], [247, 2, 1, "_CPPv4N15GraphGridLayout31setverticalBlockAlignmentMiddleEb", "GraphGridLayout::setverticalBlockAlignmentMiddle::enabled"], [248, 0, 1, "_CPPv422GraphHorizontalAdapter", "GraphHorizontalAdapter"], [248, 1, 1, "_CPPv4NK22GraphHorizontalAdapter15CalculateLayoutERN11GraphLayout5GraphE4ut64RiRi", "GraphHorizontalAdapter::CalculateLayout"], [248, 2, 1, "_CPPv4NK22GraphHorizontalAdapter15CalculateLayoutERN11GraphLayout5GraphE4ut64RiRi", "GraphHorizontalAdapter::CalculateLayout::blocks"], [248, 2, 1, "_CPPv4NK22GraphHorizontalAdapter15CalculateLayoutERN11GraphLayout5GraphE4ut64RiRi", "GraphHorizontalAdapter::CalculateLayout::entry"], [248, 2, 1, "_CPPv4NK22GraphHorizontalAdapter15CalculateLayoutERN11GraphLayout5GraphE4ut64RiRi", "GraphHorizontalAdapter::CalculateLayout::height"], [248, 2, 1, "_CPPv4NK22GraphHorizontalAdapter15CalculateLayoutERN11GraphLayout5GraphE4ut64RiRi", "GraphHorizontalAdapter::CalculateLayout::width"], [248, 1, 1, "_CPPv4N22GraphHorizontalAdapter22GraphHorizontalAdapterENSt10unique_ptrI11GraphLayoutEE", "GraphHorizontalAdapter::GraphHorizontalAdapter"], [248, 2, 1, "_CPPv4N22GraphHorizontalAdapter22GraphHorizontalAdapterENSt10unique_ptrI11GraphLayoutEE", "GraphHorizontalAdapter::GraphHorizontalAdapter::layout"], [248, 1, 1, "_CPPv4N22GraphHorizontalAdapter15setLayoutConfigERK12LayoutConfig", "GraphHorizontalAdapter::setLayoutConfig"], [248, 2, 1, "_CPPv4N22GraphHorizontalAdapter15setLayoutConfigERK12LayoutConfig", "GraphHorizontalAdapter::setLayoutConfig::config"], [249, 0, 1, "_CPPv411GraphLayout", "GraphLayout"], [249, 1, 1, "_CPPv4NK11GraphLayout15CalculateLayoutER5Graph4ut64RiRi", "GraphLayout::CalculateLayout"], [249, 2, 1, "_CPPv4NK11GraphLayout15CalculateLayoutER5Graph4ut64RiRi", "GraphLayout::CalculateLayout::blocks"], [249, 2, 1, "_CPPv4NK11GraphLayout15CalculateLayoutER5Graph4ut64RiRi", "GraphLayout::CalculateLayout::entry"], [249, 2, 1, "_CPPv4NK11GraphLayout15CalculateLayoutER5Graph4ut64RiRi", "GraphLayout::CalculateLayout::height"], [249, 2, 1, "_CPPv4NK11GraphLayout15CalculateLayoutER5Graph4ut64RiRi", "GraphLayout::CalculateLayout::width"], [249, 7, 1, "_CPPv4N11GraphLayout5GraphE", "GraphLayout::Graph"], [249, 0, 1, "_CPPv4N11GraphLayout10GraphBlockE", "GraphLayout::GraphBlock"], [329, 0, 1, "_CPPv4N11GraphLayout10GraphBlockE", "GraphLayout::GraphBlock"], [249, 3, 1, "_CPPv4N11GraphLayout10GraphBlock5edgesE", "GraphLayout::GraphBlock::edges"], [329, 3, 1, "_CPPv4N11GraphLayout10GraphBlock5edgesE", "GraphLayout::GraphBlock::edges"], [249, 3, 1, "_CPPv4N11GraphLayout10GraphBlock5entryE", "GraphLayout::GraphBlock::entry"], [329, 3, 1, "_CPPv4N11GraphLayout10GraphBlock5entryE", "GraphLayout::GraphBlock::entry"], [249, 3, 1, "_CPPv4N11GraphLayout10GraphBlock6heightE", "GraphLayout::GraphBlock::height"], [329, 3, 1, "_CPPv4N11GraphLayout10GraphBlock6heightE", "GraphLayout::GraphBlock::height"], [249, 3, 1, "_CPPv4N11GraphLayout10GraphBlock5widthE", "GraphLayout::GraphBlock::width"], [329, 3, 1, "_CPPv4N11GraphLayout10GraphBlock5widthE", "GraphLayout::GraphBlock::width"], [249, 3, 1, "_CPPv4N11GraphLayout10GraphBlock1xE", "GraphLayout::GraphBlock::x"], [329, 3, 1, "_CPPv4N11GraphLayout10GraphBlock1xE", "GraphLayout::GraphBlock::x"], [249, 3, 1, "_CPPv4N11GraphLayout10GraphBlock1yE", "GraphLayout::GraphBlock::y"], [329, 3, 1, "_CPPv4N11GraphLayout10GraphBlock1yE", "GraphLayout::GraphBlock::y"], [249, 0, 1, "_CPPv4N11GraphLayout9GraphEdgeE", "GraphLayout::GraphEdge"], [330, 0, 1, "_CPPv4N11GraphLayout9GraphEdgeE", "GraphLayout::GraphEdge"], [249, 5, 1, "_CPPv4N11GraphLayout9GraphEdge14ArrowDirectionE", "GraphLayout::GraphEdge::ArrowDirection"], [330, 5, 1, "_CPPv4N11GraphLayout9GraphEdge14ArrowDirectionE", "GraphLayout::GraphEdge::ArrowDirection"], [249, 6, 1, "_CPPv4N11GraphLayout9GraphEdge14ArrowDirection4DownE", "GraphLayout::GraphEdge::ArrowDirection::Down"], [330, 6, 1, "_CPPv4N11GraphLayout9GraphEdge14ArrowDirection4DownE", "GraphLayout::GraphEdge::ArrowDirection::Down"], [249, 6, 1, "_CPPv4N11GraphLayout9GraphEdge14ArrowDirection4LeftE", "GraphLayout::GraphEdge::ArrowDirection::Left"], [330, 6, 1, "_CPPv4N11GraphLayout9GraphEdge14ArrowDirection4LeftE", "GraphLayout::GraphEdge::ArrowDirection::Left"], [249, 6, 1, "_CPPv4N11GraphLayout9GraphEdge14ArrowDirection4NoneE", "GraphLayout::GraphEdge::ArrowDirection::None"], [330, 6, 1, "_CPPv4N11GraphLayout9GraphEdge14ArrowDirection4NoneE", "GraphLayout::GraphEdge::ArrowDirection::None"], [249, 6, 1, "_CPPv4N11GraphLayout9GraphEdge14ArrowDirection5RightE", "GraphLayout::GraphEdge::ArrowDirection::Right"], [330, 6, 1, "_CPPv4N11GraphLayout9GraphEdge14ArrowDirection5RightE", "GraphLayout::GraphEdge::ArrowDirection::Right"], [249, 6, 1, "_CPPv4N11GraphLayout9GraphEdge14ArrowDirection2UpE", "GraphLayout::GraphEdge::ArrowDirection::Up"], [330, 6, 1, "_CPPv4N11GraphLayout9GraphEdge14ArrowDirection2UpE", "GraphLayout::GraphEdge::ArrowDirection::Up"], [249, 6, 1, "_CPPv4N11GraphLayout9GraphEdge14ArrowDirection4DownE", "GraphLayout::GraphEdge::Down"], [249, 1, 1, "_CPPv4N11GraphLayout9GraphEdge9GraphEdgeE4ut64", "GraphLayout::GraphEdge::GraphEdge"], [330, 1, 1, "_CPPv4N11GraphLayout9GraphEdge9GraphEdgeE4ut64", "GraphLayout::GraphEdge::GraphEdge"], [249, 2, 1, "_CPPv4N11GraphLayout9GraphEdge9GraphEdgeE4ut64", "GraphLayout::GraphEdge::GraphEdge::target"], [330, 2, 1, "_CPPv4N11GraphLayout9GraphEdge9GraphEdgeE4ut64", "GraphLayout::GraphEdge::GraphEdge::target"], [249, 6, 1, "_CPPv4N11GraphLayout9GraphEdge14ArrowDirection4LeftE", "GraphLayout::GraphEdge::Left"], [249, 6, 1, "_CPPv4N11GraphLayout9GraphEdge14ArrowDirection4NoneE", "GraphLayout::GraphEdge::None"], [249, 6, 1, "_CPPv4N11GraphLayout9GraphEdge14ArrowDirection5RightE", "GraphLayout::GraphEdge::Right"], [249, 6, 1, "_CPPv4N11GraphLayout9GraphEdge14ArrowDirection2UpE", "GraphLayout::GraphEdge::Up"], [249, 3, 1, "_CPPv4N11GraphLayout9GraphEdge5arrowE", "GraphLayout::GraphEdge::arrow"], [330, 3, 1, "_CPPv4N11GraphLayout9GraphEdge5arrowE", "GraphLayout::GraphEdge::arrow"], [249, 3, 1, "_CPPv4N11GraphLayout9GraphEdge8polylineE", "GraphLayout::GraphEdge::polyline"], [330, 3, 1, "_CPPv4N11GraphLayout9GraphEdge8polylineE", "GraphLayout::GraphEdge::polyline"], [249, 3, 1, "_CPPv4N11GraphLayout9GraphEdge6targetE", "GraphLayout::GraphEdge::target"], [330, 3, 1, "_CPPv4N11GraphLayout9GraphEdge6targetE", "GraphLayout::GraphEdge::target"], [249, 1, 1, "_CPPv4N11GraphLayout11GraphLayoutERK12LayoutConfig", "GraphLayout::GraphLayout"], [249, 2, 1, "_CPPv4N11GraphLayout11GraphLayoutERK12LayoutConfig", "GraphLayout::GraphLayout::layout_config"], [249, 0, 1, "_CPPv4N11GraphLayout12LayoutConfigE", "GraphLayout::LayoutConfig"], [331, 0, 1, "_CPPv4N11GraphLayout12LayoutConfigE", "GraphLayout::LayoutConfig"], [249, 3, 1, "_CPPv4N11GraphLayout12LayoutConfig22blockHorizontalSpacingE", "GraphLayout::LayoutConfig::blockHorizontalSpacing"], [331, 3, 1, "_CPPv4N11GraphLayout12LayoutConfig22blockHorizontalSpacingE", "GraphLayout::LayoutConfig::blockHorizontalSpacing"], [249, 3, 1, "_CPPv4N11GraphLayout12LayoutConfig20blockVerticalSpacingE", "GraphLayout::LayoutConfig::blockVerticalSpacing"], [331, 3, 1, "_CPPv4N11GraphLayout12LayoutConfig20blockVerticalSpacingE", "GraphLayout::LayoutConfig::blockVerticalSpacing"], [249, 3, 1, "_CPPv4N11GraphLayout12LayoutConfig21edgeHorizontalSpacingE", "GraphLayout::LayoutConfig::edgeHorizontalSpacing"], [331, 3, 1, "_CPPv4N11GraphLayout12LayoutConfig21edgeHorizontalSpacingE", "GraphLayout::LayoutConfig::edgeHorizontalSpacing"], [249, 3, 1, "_CPPv4N11GraphLayout12LayoutConfig19edgeVerticalSpacingE", "GraphLayout::LayoutConfig::edgeVerticalSpacing"], [331, 3, 1, "_CPPv4N11GraphLayout12LayoutConfig19edgeVerticalSpacingE", "GraphLayout::LayoutConfig::edgeVerticalSpacing"], [249, 1, 1, "_CPPv4N11GraphLayout15setLayoutConfigERK12LayoutConfig", "GraphLayout::setLayoutConfig"], [249, 2, 1, "_CPPv4N11GraphLayout15setLayoutConfigERK12LayoutConfig", "GraphLayout::setLayoutConfig::config"], [249, 1, 1, "_CPPv4N11GraphLayoutD0Ev", "GraphLayout::~GraphLayout"], [250, 0, 1, "_CPPv49GraphView", "GraphView"], [250, 0, 1, "_CPPv4N9GraphView17EdgeConfigurationE", "GraphView::EdgeConfiguration"], [332, 0, 1, "_CPPv4N9GraphView17EdgeConfigurationE", "GraphView::EdgeConfiguration"], [250, 3, 1, "_CPPv4N9GraphView17EdgeConfiguration5colorE", "GraphView::EdgeConfiguration::color"], [332, 3, 1, "_CPPv4N9GraphView17EdgeConfiguration5colorE", "GraphView::EdgeConfiguration::color"], [250, 3, 1, "_CPPv4N9GraphView17EdgeConfiguration9end_arrowE", "GraphView::EdgeConfiguration::end_arrow"], [332, 3, 1, "_CPPv4N9GraphView17EdgeConfiguration9end_arrowE", "GraphView::EdgeConfiguration::end_arrow"], [250, 3, 1, "_CPPv4N9GraphView17EdgeConfiguration9lineStyleE", "GraphView::EdgeConfiguration::lineStyle"], [332, 3, 1, "_CPPv4N9GraphView17EdgeConfiguration9lineStyleE", "GraphView::EdgeConfiguration::lineStyle"], [250, 3, 1, "_CPPv4N9GraphView17EdgeConfiguration11start_arrowE", "GraphView::EdgeConfiguration::start_arrow"], [332, 3, 1, "_CPPv4N9GraphView17EdgeConfiguration11start_arrowE", "GraphView::EdgeConfiguration::start_arrow"], [250, 3, 1, "_CPPv4N9GraphView17EdgeConfiguration11width_scaleE", "GraphView::EdgeConfiguration::width_scale"], [332, 3, 1, "_CPPv4N9GraphView17EdgeConfiguration11width_scaleE", "GraphView::EdgeConfiguration::width_scale"], [250, 7, 1, "_CPPv4N9GraphView10GraphBlockE", "GraphView::GraphBlock"], [250, 7, 1, "_CPPv4N9GraphView9GraphEdgeE", "GraphView::GraphEdge"], [250, 1, 1, "_CPPv4N9GraphView9GraphViewEP7QWidget", "GraphView::GraphView"], [250, 2, 1, "_CPPv4N9GraphView9GraphViewEP7QWidget", "GraphView::GraphView::parent"], [250, 5, 1, "_CPPv4N9GraphView6LayoutE", "GraphView::Layout"], [250, 6, 1, "_CPPv4N9GraphView6Layout7GridAAAE", "GraphView::Layout::GridAAA"], [250, 6, 1, "_CPPv4N9GraphView6Layout7GridAABE", "GraphView::Layout::GridAAB"], [250, 6, 1, "_CPPv4N9GraphView6Layout7GridABAE", "GraphView::Layout::GridABA"], [250, 6, 1, "_CPPv4N9GraphView6Layout7GridABBE", "GraphView::Layout::GridABB"], [250, 6, 1, "_CPPv4N9GraphView6Layout7GridBAAE", "GraphView::Layout::GridBAA"], [250, 6, 1, "_CPPv4N9GraphView6Layout7GridBABE", "GraphView::Layout::GridBAB"], [250, 6, 1, "_CPPv4N9GraphView6Layout7GridBBAE", "GraphView::Layout::GridBBA"], [250, 6, 1, "_CPPv4N9GraphView6Layout7GridBBBE", "GraphView::Layout::GridBBB"], [250, 6, 1, "_CPPv4N9GraphView6Layout10GridMediumE", "GraphView::Layout::GridMedium"], [250, 6, 1, "_CPPv4N9GraphView6Layout10GridNarrowE", "GraphView::Layout::GridNarrow"], [250, 6, 1, "_CPPv4N9GraphView6Layout8GridWideE", "GraphView::Layout::GridWide"], [250, 1, 1, "_CPPv4N9GraphView6centerEv", "GraphView::center"], [250, 1, 1, "_CPPv4N9GraphView7centerXEv", "GraphView::centerX"], [250, 1, 1, "_CPPv4N9GraphView7centerYEv", "GraphView::centerY"], [250, 1, 1, "_CPPv4N9GraphView12cleanupEdgesERN11GraphLayout5GraphE", "GraphView::cleanupEdges"], [250, 2, 1, "_CPPv4N9GraphView12cleanupEdgesERN11GraphLayout5GraphE", "GraphView::cleanupEdges::graph"], [250, 1, 1, "_CPPv4N9GraphView21computeGraphPlacementEv", "GraphView::computeGraphPlacement"], [250, 1, 1, "_CPPv4N9GraphView18getBlockContainingE6QPoint", "GraphView::getBlockContaining"], [250, 2, 1, "_CPPv4N9GraphView18getBlockContainingE6QPoint", "GraphView::getBlockContaining::p"], [250, 1, 1, "_CPPv4NK9GraphView14getGraphLayoutEv", "GraphView::getGraphLayout"], [250, 1, 1, "_CPPv4NK9GraphView13getViewOffsetEv", "GraphView::getViewOffset"], [250, 1, 1, "_CPPv4NK9GraphView12getViewScaleEv", "GraphView::getViewScale"], [250, 1, 1, "_CPPv4N9GraphView24logicalToViewCoordinatesE6QPoint", "GraphView::logicalToViewCoordinates"], [250, 2, 1, "_CPPv4N9GraphView24logicalToViewCoordinatesE6QPoint", "GraphView::logicalToViewCoordinates::p"], [250, 1, 1, "_CPPv4N9GraphView15makeGraphLayoutE6Layoutb", "GraphView::makeGraphLayout"], [250, 2, 1, "_CPPv4N9GraphView15makeGraphLayoutE6Layoutb", "GraphView::makeGraphLayout::horizontal"], [250, 2, 1, "_CPPv4N9GraphView15makeGraphLayoutE6Layoutb", "GraphView::makeGraphLayout::layout"], [250, 1, 1, "_CPPv4N9GraphView5paintER8QPainter6QPoint5QRect5qrealb", "GraphView::paint"], [250, 2, 1, "_CPPv4N9GraphView5paintER8QPainter6QPoint5QRect5qrealb", "GraphView::paint::area"], [250, 2, 1, "_CPPv4N9GraphView5paintER8QPainter6QPoint5QRect5qrealb", "GraphView::paint::interactive"], [250, 2, 1, "_CPPv4N9GraphView5paintER8QPainter6QPoint5QRect5qrealb", "GraphView::paint::offset"], [250, 2, 1, "_CPPv4N9GraphView5paintER8QPainter6QPoint5QRect5qrealb", "GraphView::paint::p"], [250, 2, 1, "_CPPv4N9GraphView5paintER8QPainter6QPoint5QRect5qrealb", "GraphView::paint::scale"], [250, 1, 1, "_CPPv4N9GraphView12saveAsBitmapE7QStringPKcdb", "GraphView::saveAsBitmap"], [250, 2, 1, "_CPPv4N9GraphView12saveAsBitmapE7QStringPKcdb", "GraphView::saveAsBitmap::format"], [250, 2, 1, "_CPPv4N9GraphView12saveAsBitmapE7QStringPKcdb", "GraphView::saveAsBitmap::path"], [250, 2, 1, "_CPPv4N9GraphView12saveAsBitmapE7QStringPKcdb", "GraphView::saveAsBitmap::scaler"], [250, 2, 1, "_CPPv4N9GraphView12saveAsBitmapE7QStringPKcdb", "GraphView::saveAsBitmap::transparent"], [250, 1, 1, "_CPPv4N9GraphView9saveAsSvgE7QString", "GraphView::saveAsSvg"], [250, 2, 1, "_CPPv4N9GraphView9saveAsSvgE7QString", "GraphView::saveAsSvg::path"], [250, 1, 1, "_CPPv4N9GraphView14setGraphLayoutENSt10unique_ptrI11GraphLayoutEE", "GraphView::setGraphLayout"], [250, 2, 1, "_CPPv4N9GraphView14setGraphLayoutENSt10unique_ptrI11GraphLayoutEE", "GraphView::setGraphLayout::layout"], [250, 1, 1, "_CPPv4N9GraphView15setLayoutConfigERKN11GraphLayout12LayoutConfigE", "GraphView::setLayoutConfig"], [250, 2, 1, "_CPPv4N9GraphView15setLayoutConfigERKN11GraphLayout12LayoutConfigE", "GraphView::setLayoutConfig::config"], [250, 1, 1, "_CPPv4N9GraphView13setViewOffsetE6QPoint", "GraphView::setViewOffset"], [250, 2, 1, "_CPPv4N9GraphView13setViewOffsetE6QPoint", "GraphView::setViewOffset::offset"], [250, 1, 1, "_CPPv4N9GraphView12setViewScaleE5qreal", "GraphView::setViewScale"], [250, 2, 1, "_CPPv4N9GraphView12setViewScaleE5qreal", "GraphView::setViewScale::scale"], [250, 1, 1, "_CPPv4N9GraphView9showBlockER10GraphBlockb", "GraphView::showBlock"], [250, 2, 1, "_CPPv4N9GraphView9showBlockER10GraphBlockb", "GraphView::showBlock::anywhere"], [250, 2, 1, "_CPPv4N9GraphView9showBlockER10GraphBlockb", "GraphView::showBlock::block"], [250, 1, 1, "_CPPv4N9GraphView13showRectangleERK5QRectb", "GraphView::showRectangle"], [250, 2, 1, "_CPPv4N9GraphView13showRectangleERK5QRectb", "GraphView::showRectangle::anywhere"], [250, 2, 1, "_CPPv4N9GraphView13showRectangleERK5QRectb", "GraphView::showRectangle::rect"], [250, 1, 1, "_CPPv4N9GraphView17viewOffsetChangedE6QPoint", "GraphView::viewOffsetChanged"], [250, 2, 1, "_CPPv4N9GraphView17viewOffsetChangedE6QPoint", "GraphView::viewOffsetChanged::offset"], [250, 1, 1, "_CPPv4N9GraphView16viewScaleChangedE5qreal", "GraphView::viewScaleChanged"], [250, 2, 1, "_CPPv4N9GraphView16viewScaleChangedE5qreal", "GraphView::viewScaleChanged::scale"], [250, 1, 1, "_CPPv4N9GraphView24viewToLogicalCoordinatesE6QPoint", "GraphView::viewToLogicalCoordinates"], [250, 2, 1, "_CPPv4N9GraphView24viewToLogicalCoordinatesE6QPoint", "GraphView::viewToLogicalCoordinates::p"], [250, 1, 1, "_CPPv4N9GraphViewD0Ev", "GraphView::~GraphView"], [251, 0, 1, "_CPPv411GraphWidget", "GraphWidget"], [251, 1, 1, "_CPPv4N11GraphWidget11GraphWidgetEP10MainWindow", "GraphWidget::GraphWidget"], [251, 2, 1, "_CPPv4N11GraphWidget11GraphWidgetEP10MainWindow", "GraphWidget::GraphWidget::main"], [251, 1, 1, "_CPPv4NK11GraphWidget12getGraphViewEv", "GraphWidget::getGraphView"], [251, 1, 1, "_CPPv4N11GraphWidget13getWidgetTypeEv", "GraphWidget::getWidgetType"], [251, 1, 1, "_CPPv4N11GraphWidget11graphClosedEv", "GraphWidget::graphClosed"], [251, 1, 1, "_CPPv4N11GraphWidgetD0Ev", "GraphWidget::~GraphWidget"], [252, 0, 1, "_CPPv414GraphvizLayout", "GraphvizLayout"], [252, 1, 1, "_CPPv4NK14GraphvizLayout15CalculateLayoutERNSt13unordered_mapI4ut6410GraphBlockEE4ut64RiRi", "GraphvizLayout::CalculateLayout"], [252, 2, 1, "_CPPv4NK14GraphvizLayout15CalculateLayoutERNSt13unordered_mapI4ut6410GraphBlockEE4ut64RiRi", "GraphvizLayout::CalculateLayout::blocks"], [252, 2, 1, "_CPPv4NK14GraphvizLayout15CalculateLayoutERNSt13unordered_mapI4ut6410GraphBlockEE4ut64RiRi", "GraphvizLayout::CalculateLayout::entry"], [252, 2, 1, "_CPPv4NK14GraphvizLayout15CalculateLayoutERNSt13unordered_mapI4ut6410GraphBlockEE4ut64RiRi", "GraphvizLayout::CalculateLayout::height"], [252, 2, 1, "_CPPv4NK14GraphvizLayout15CalculateLayoutERNSt13unordered_mapI4ut6410GraphBlockEE4ut64RiRi", "GraphvizLayout::CalculateLayout::width"], [252, 5, 1, "_CPPv4N14GraphvizLayout9DirectionE", "GraphvizLayout::Direction"], [252, 6, 1, "_CPPv4N14GraphvizLayout9Direction2LRE", "GraphvizLayout::Direction::LR"], [252, 6, 1, "_CPPv4N14GraphvizLayout9Direction2TBE", "GraphvizLayout::Direction::TB"], [252, 1, 1, "_CPPv4N14GraphvizLayout14GraphvizLayoutE10LayoutType9Direction", "GraphvizLayout::GraphvizLayout"], [252, 2, 1, "_CPPv4N14GraphvizLayout14GraphvizLayoutE10LayoutType9Direction", "GraphvizLayout::GraphvizLayout::direction"], [252, 2, 1, "_CPPv4N14GraphvizLayout14GraphvizLayoutE10LayoutType9Direction", "GraphvizLayout::GraphvizLayout::layoutType"], [252, 5, 1, "_CPPv4N14GraphvizLayout10LayoutTypeE", "GraphvizLayout::LayoutType"], [252, 6, 1, "_CPPv4N14GraphvizLayout10LayoutType5CircoE", "GraphvizLayout::LayoutType::Circo"], [252, 6, 1, "_CPPv4N14GraphvizLayout10LayoutType8DotOrthoE", "GraphvizLayout::LayoutType::DotOrtho"], [252, 6, 1, "_CPPv4N14GraphvizLayout10LayoutType11DotPolylineE", "GraphvizLayout::LayoutType::DotPolyline"], [252, 6, 1, "_CPPv4N14GraphvizLayout10LayoutType5NeatoE", "GraphvizLayout::LayoutType::Neato"], [252, 6, 1, "_CPPv4N14GraphvizLayout10LayoutType4SfdpE", "GraphvizLayout::LayoutType::Sfdp"], [252, 6, 1, "_CPPv4N14GraphvizLayout10LayoutType5TwoPiE", "GraphvizLayout::LayoutType::TwoPi"], [102, 0, 1, "_CPPv417HeaderDescription", "HeaderDescription"], [102, 3, 1, "_CPPv4N17HeaderDescription4nameE", "HeaderDescription::name"], [102, 3, 1, "_CPPv4N17HeaderDescription5paddrE", "HeaderDescription::paddr"], [102, 3, 1, "_CPPv4N17HeaderDescription5vaddrE", "HeaderDescription::vaddr"], [102, 3, 1, "_CPPv4N17HeaderDescription5valueE", "HeaderDescription::value"], [253, 0, 1, "_CPPv412HeadersModel", "HeadersModel"], [253, 5, 1, "_CPPv4N12HeadersModel6ColumnE", "HeadersModel::Column"], [253, 6, 1, "_CPPv4N12HeadersModel6Column11ColumnCountE", "HeadersModel::Column::ColumnCount"], [253, 6, 1, "_CPPv4N12HeadersModel6Column13CommentColumnE", "HeadersModel::Column::CommentColumn"], [253, 6, 1, "_CPPv4N12HeadersModel6Column10NameColumnE", "HeadersModel::Column::NameColumn"], [253, 6, 1, "_CPPv4N12HeadersModel6Column12OffsetColumnE", "HeadersModel::Column::OffsetColumn"], [253, 6, 1, "_CPPv4N12HeadersModel6Column11ValueColumnE", "HeadersModel::Column::ValueColumn"], [253, 6, 1, "_CPPv4N12HeadersModel6Column11ColumnCountE", "HeadersModel::ColumnCount"], [253, 6, 1, "_CPPv4N12HeadersModel6Column13CommentColumnE", "HeadersModel::CommentColumn"], [253, 6, 1, "_CPPv4N12HeadersModel4Role21HeaderDescriptionRoleE", "HeadersModel::HeaderDescriptionRole"], [253, 1, 1, "_CPPv4N12HeadersModel12HeadersModelEP5QListI17HeaderDescriptionEP7QObject", "HeadersModel::HeadersModel"], [253, 2, 1, "_CPPv4N12HeadersModel12HeadersModelEP5QListI17HeaderDescriptionEP7QObject", "HeadersModel::HeadersModel::headers"], [253, 2, 1, "_CPPv4N12HeadersModel12HeadersModelEP5QListI17HeaderDescriptionEP7QObject", "HeadersModel::HeadersModel::parent"], [253, 6, 1, "_CPPv4N12HeadersModel6Column10NameColumnE", "HeadersModel::NameColumn"], [253, 6, 1, "_CPPv4N12HeadersModel6Column12OffsetColumnE", "HeadersModel::OffsetColumn"], [253, 5, 1, "_CPPv4N12HeadersModel4RoleE", "HeadersModel::Role"], [253, 6, 1, "_CPPv4N12HeadersModel4Role21HeaderDescriptionRoleE", "HeadersModel::Role::HeaderDescriptionRole"], [253, 6, 1, "_CPPv4N12HeadersModel6Column11ValueColumnE", "HeadersModel::ValueColumn"], [253, 1, 1, "_CPPv4NK12HeadersModel7addressERK11QModelIndex", "HeadersModel::address"], [253, 2, 1, "_CPPv4NK12HeadersModel7addressERK11QModelIndex", "HeadersModel::address::index"], [253, 1, 1, "_CPPv4NK12HeadersModel11columnCountERK11QModelIndex", "HeadersModel::columnCount"], [253, 2, 1, "_CPPv4NK12HeadersModel11columnCountERK11QModelIndex", "HeadersModel::columnCount::parent"], [253, 1, 1, "_CPPv4NK12HeadersModel4dataERK11QModelIndexi", "HeadersModel::data"], [253, 2, 1, "_CPPv4NK12HeadersModel4dataERK11QModelIndexi", "HeadersModel::data::index"], [253, 2, 1, "_CPPv4NK12HeadersModel4dataERK11QModelIndexi", "HeadersModel::data::role"], [253, 1, 1, "_CPPv4NK12HeadersModel10headerDataEiN2Qt11OrientationEi", "HeadersModel::headerData"], [253, 2, 1, "_CPPv4NK12HeadersModel10headerDataEiN2Qt11OrientationEi", "HeadersModel::headerData::orientation"], [253, 2, 1, "_CPPv4NK12HeadersModel10headerDataEiN2Qt11OrientationEi", "HeadersModel::headerData::role"], [253, 2, 1, "_CPPv4NK12HeadersModel10headerDataEiN2Qt11OrientationEi", "HeadersModel::headerData::section"], [253, 1, 1, "_CPPv4NK12HeadersModel4nameERK11QModelIndex", "HeadersModel::name"], [253, 2, 1, "_CPPv4NK12HeadersModel4nameERK11QModelIndex", "HeadersModel::name::index"], [253, 1, 1, "_CPPv4NK12HeadersModel8rowCountERK11QModelIndex", "HeadersModel::rowCount"], [253, 2, 1, "_CPPv4NK12HeadersModel8rowCountERK11QModelIndex", "HeadersModel::rowCount::parent"], [254, 0, 1, "_CPPv417HeadersProxyModel", "HeadersProxyModel"], [254, 1, 1, "_CPPv4N17HeadersProxyModel17HeadersProxyModelEP12HeadersModelP7QObject", "HeadersProxyModel::HeadersProxyModel"], [254, 2, 1, "_CPPv4N17HeadersProxyModel17HeadersProxyModelEP12HeadersModelP7QObject", "HeadersProxyModel::HeadersProxyModel::parent"], [254, 2, 1, "_CPPv4N17HeadersProxyModel17HeadersProxyModelEP12HeadersModelP7QObject", "HeadersProxyModel::HeadersProxyModel::sourceModel"], [255, 0, 1, "_CPPv413HeadersWidget", "HeadersWidget"], [255, 1, 1, "_CPPv4N13HeadersWidget13HeadersWidgetEP10MainWindow", "HeadersWidget::HeadersWidget"], [255, 2, 1, "_CPPv4N13HeadersWidget13HeadersWidgetEP10MainWindow", "HeadersWidget::HeadersWidget::main"], [255, 1, 1, "_CPPv4N13HeadersWidgetD0Ev", "HeadersWidget::~HeadersWidget"], [256, 0, 1, "_CPPv417HeapBinsGraphView", "HeapBinsGraphView"], [333, 0, 1, "_CPPv4N17HeapBinsGraphView14GraphHeapChunkE", "HeapBinsGraphView::GraphHeapChunk"], [333, 3, 1, "_CPPv4N17HeapBinsGraphView14GraphHeapChunk4addrE", "HeapBinsGraphView::GraphHeapChunk::addr"], [333, 3, 1, "_CPPv4N17HeapBinsGraphView14GraphHeapChunk2bkE", "HeapBinsGraphView::GraphHeapChunk::bk"], [333, 3, 1, "_CPPv4N17HeapBinsGraphView14GraphHeapChunk7contentE", "HeapBinsGraphView::GraphHeapChunk::content"], [333, 3, 1, "_CPPv4N17HeapBinsGraphView14GraphHeapChunk2fdE", "HeapBinsGraphView::GraphHeapChunk::fd"], [256, 1, 1, "_CPPv4N17HeapBinsGraphView17HeapBinsGraphViewEP7QWidgetP9RzHeapBinP10MainWindow", "HeapBinsGraphView::HeapBinsGraphView"], [256, 2, 1, "_CPPv4N17HeapBinsGraphView17HeapBinsGraphViewEP7QWidgetP9RzHeapBinP10MainWindow", "HeapBinsGraphView::HeapBinsGraphView::bin"], [256, 2, 1, "_CPPv4N17HeapBinsGraphView17HeapBinsGraphViewEP7QWidgetP9RzHeapBinP10MainWindow", "HeapBinsGraphView::HeapBinsGraphView::main"], [256, 2, 1, "_CPPv4N17HeapBinsGraphView17HeapBinsGraphViewEP7QWidgetP9RzHeapBinP10MainWindow", "HeapBinsGraphView::HeapBinsGraphView::parent"], [257, 0, 1, "_CPPv414HeapDockWidget", "HeapDockWidget"], [257, 1, 1, "_CPPv4N14HeapDockWidget14HeapDockWidgetEP10MainWindow", "HeapDockWidget::HeapDockWidget"], [257, 2, 1, "_CPPv4N14HeapDockWidget14HeapDockWidgetEP10MainWindow", "HeapDockWidget::HeapDockWidget::main"], [257, 1, 1, "_CPPv4N14HeapDockWidgetD0Ev", "HeapDockWidget::~HeapDockWidget"], [334, 0, 1, "_CPPv49HexCursor", "HexCursor"], [334, 1, 1, "_CPPv4N9HexCursor9HexCursorEv", "HexCursor::HexCursor"], [334, 3, 1, "_CPPv4N9HexCursor7addressE", "HexCursor::address"], [334, 1, 1, "_CPPv4N9HexCursor5blinkEv", "HexCursor::blink"], [334, 3, 1, "_CPPv4N9HexCursor10blinkTimerE", "HexCursor::blinkTimer"], [334, 3, 1, "_CPPv4N9HexCursor10cachedCharE", "HexCursor::cachedChar"], [334, 3, 1, "_CPPv4N9HexCursor11cachedColorE", "HexCursor::cachedColor"], [334, 3, 1, "_CPPv4N9HexCursor9isVisibleE", "HexCursor::isVisible"], [334, 3, 1, "_CPPv4N9HexCursor11onAsciiAreaE", "HexCursor::onAsciiArea"], [334, 3, 1, "_CPPv4N9HexCursor9screenPosE", "HexCursor::screenPos"], [334, 1, 1, "_CPPv4N9HexCursor14setBlinkPeriodEi", "HexCursor::setBlinkPeriod"], [334, 2, 1, "_CPPv4N9HexCursor14setBlinkPeriodEi", "HexCursor::setBlinkPeriod::msec"], [334, 1, 1, "_CPPv4N9HexCursor13startBlinkingEv", "HexCursor::startBlinking"], [334, 1, 1, "_CPPv4N9HexCursor12stopBlinkingEv", "HexCursor::stopBlinking"], [258, 0, 1, "_CPPv412HexSelection", "HexSelection"], [258, 1, 1, "_CPPv4N12HexSelection12HexSelectionEv", "HexSelection::HexSelection"], [258, 1, 1, "_CPPv4NK12HexSelection8containsE8uint64_t", "HexSelection::contains"], [258, 2, 1, "_CPPv4NK12HexSelection8containsE8uint64_t", "HexSelection::contains::pos"], [258, 1, 1, "_CPPv4NK12HexSelection3endEv", "HexSelection::end"], [258, 1, 1, "_CPPv4N12HexSelection4initE11BasicCursor", "HexSelection::init"], [258, 2, 1, "_CPPv4N12HexSelection4initE11BasicCursor", "HexSelection::init::addr"], [258, 1, 1, "_CPPv4N12HexSelection10intersectsE8uint64_t8uint64_t", "HexSelection::intersects"], [258, 2, 1, "_CPPv4N12HexSelection10intersectsE8uint64_t8uint64_t", "HexSelection::intersects::end"], [258, 2, 1, "_CPPv4N12HexSelection10intersectsE8uint64_t8uint64_t", "HexSelection::intersects::start"], [258, 1, 1, "_CPPv4NK12HexSelection7isEmptyEv", "HexSelection::isEmpty"], [258, 1, 1, "_CPPv4N12HexSelection3setE8uint64_t8uint64_t", "HexSelection::set"], [258, 2, 1, "_CPPv4N12HexSelection3setE8uint64_t8uint64_t", "HexSelection::set::end"], [258, 2, 1, "_CPPv4N12HexSelection3setE8uint64_t8uint64_t", "HexSelection::set::start"], [258, 1, 1, "_CPPv4NK12HexSelection4sizeEv", "HexSelection::size"], [258, 1, 1, "_CPPv4NK12HexSelection5startEv", "HexSelection::start"], [258, 1, 1, "_CPPv4N12HexSelection6updateE11BasicCursor", "HexSelection::update"], [258, 2, 1, "_CPPv4N12HexSelection6updateE11BasicCursor", "HexSelection::update::addr"], [259, 0, 1, "_CPPv49HexWidget", "HexWidget"], [259, 5, 1, "_CPPv4N9HexWidget9AddrWidthE", "HexWidget::AddrWidth"], [259, 6, 1, "_CPPv4N9HexWidget9AddrWidth11AddrWidth32E", "HexWidget::AddrWidth32"], [259, 6, 1, "_CPPv4N9HexWidget9AddrWidth11AddrWidth64E", "HexWidget::AddrWidth64"], [259, 6, 1, "_CPPv4N9HexWidget9AddrWidth11AddrWidth32E", "HexWidget::AddrWidth::AddrWidth32"], [259, 6, 1, "_CPPv4N9HexWidget9AddrWidth11AddrWidth64E", "HexWidget::AddrWidth::AddrWidth64"], [259, 5, 1, "_CPPv4N9HexWidget10ColumnModeE", "HexWidget::ColumnMode"], [259, 6, 1, "_CPPv4N9HexWidget10ColumnMode5FixedE", "HexWidget::ColumnMode::Fixed"], [259, 6, 1, "_CPPv4N9HexWidget10ColumnMode8PowerOf2E", "HexWidget::ColumnMode::PowerOf2"], [259, 5, 1, "_CPPv4N9HexWidget13EditWordStateE", "HexWidget::EditWordState"], [259, 6, 1, "_CPPv4N9HexWidget13EditWordState4ReadE", "HexWidget::EditWordState::Read"], [259, 6, 1, "_CPPv4N9HexWidget13EditWordState11WriteEditedE", "HexWidget::EditWordState::WriteEdited"], [259, 6, 1, "_CPPv4N9HexWidget13EditWordState14WriteNotEditedE", "HexWidget::EditWordState::WriteNotEdited"], [259, 6, 1, "_CPPv4N9HexWidget13EditWordState15WriteNotStartedE", "HexWidget::EditWordState::WriteNotStarted"], [259, 5, 1, "_CPPv4N9HexWidget17HexNavigationModeE", "HexWidget::HexNavigationMode"], [259, 6, 1, "_CPPv4N9HexWidget17HexNavigationMode7AnyCharE", "HexWidget::HexNavigationMode::AnyChar"], [259, 6, 1, "_CPPv4N9HexWidget17HexNavigationMode8WordCharE", "HexWidget::HexNavigationMode::WordChar"], [259, 6, 1, "_CPPv4N9HexWidget17HexNavigationMode5WordsE", "HexWidget::HexNavigationMode::Words"], [259, 1, 1, "_CPPv4N9HexWidget9HexWidgetEP7QWidget", "HexWidget::HexWidget"], [259, 2, 1, "_CPPv4N9HexWidget9HexWidgetEP7QWidget", "HexWidget::HexWidget::parent"], [259, 5, 1, "_CPPv4N9HexWidget10ItemFormatE", "HexWidget::ItemFormat"], [259, 6, 1, "_CPPv4N9HexWidget10ItemFormat13ItemFormatDecE", "HexWidget::ItemFormat::ItemFormatDec"], [259, 6, 1, "_CPPv4N9HexWidget10ItemFormat15ItemFormatFloatE", "HexWidget::ItemFormat::ItemFormatFloat"], [259, 6, 1, "_CPPv4N9HexWidget10ItemFormat13ItemFormatHexE", "HexWidget::ItemFormat::ItemFormatHex"], [259, 6, 1, "_CPPv4N9HexWidget10ItemFormat13ItemFormatOctE", "HexWidget::ItemFormat::ItemFormatOct"], [259, 6, 1, "_CPPv4N9HexWidget10ItemFormat19ItemFormatSignedDecE", "HexWidget::ItemFormat::ItemFormatSignedDec"], [259, 6, 1, "_CPPv4N9HexWidget10ItemFormat13ItemFormatDecE", "HexWidget::ItemFormatDec"], [259, 6, 1, "_CPPv4N9HexWidget10ItemFormat15ItemFormatFloatE", "HexWidget::ItemFormatFloat"], [259, 6, 1, "_CPPv4N9HexWidget10ItemFormat13ItemFormatHexE", "HexWidget::ItemFormatHex"], [259, 6, 1, "_CPPv4N9HexWidget10ItemFormat13ItemFormatOctE", "HexWidget::ItemFormatOct"], [259, 6, 1, "_CPPv4N9HexWidget10ItemFormat19ItemFormatSignedDecE", "HexWidget::ItemFormatSignedDec"], [259, 5, 1, "_CPPv4N9HexWidget8ItemSizeE", "HexWidget::ItemSize"], [259, 6, 1, "_CPPv4N9HexWidget8ItemSize12ItemSizeByteE", "HexWidget::ItemSize::ItemSizeByte"], [259, 6, 1, "_CPPv4N9HexWidget8ItemSize13ItemSizeDwordE", "HexWidget::ItemSize::ItemSizeDword"], [259, 6, 1, "_CPPv4N9HexWidget8ItemSize13ItemSizeQwordE", "HexWidget::ItemSize::ItemSizeQword"], [259, 6, 1, "_CPPv4N9HexWidget8ItemSize12ItemSizeWordE", "HexWidget::ItemSize::ItemSizeWord"], [259, 6, 1, "_CPPv4N9HexWidget8ItemSize12ItemSizeByteE", "HexWidget::ItemSizeByte"], [259, 6, 1, "_CPPv4N9HexWidget8ItemSize13ItemSizeDwordE", "HexWidget::ItemSizeDword"], [259, 6, 1, "_CPPv4N9HexWidget8ItemSize13ItemSizeQwordE", "HexWidget::ItemSizeQword"], [259, 6, 1, "_CPPv4N9HexWidget8ItemSize12ItemSizeWordE", "HexWidget::ItemSizeWord"], [259, 0, 1, "_CPPv4N9HexWidget9SelectionE", "HexWidget::Selection"], [335, 0, 1, "_CPPv4N9HexWidget9SelectionE", "HexWidget::Selection"], [259, 3, 1, "_CPPv4N9HexWidget9Selection5emptyE", "HexWidget::Selection::empty"], [335, 3, 1, "_CPPv4N9HexWidget9Selection5emptyE", "HexWidget::Selection::empty"], [259, 3, 1, "_CPPv4N9HexWidget9Selection10endAddressE", "HexWidget::Selection::endAddress"], [335, 3, 1, "_CPPv4N9HexWidget9Selection10endAddressE", "HexWidget::Selection::endAddress"], [259, 3, 1, "_CPPv4N9HexWidget9Selection12startAddressE", "HexWidget::Selection::startAddress"], [335, 3, 1, "_CPPv4N9HexWidget9Selection12startAddressE", "HexWidget::Selection::startAddress"], [259, 1, 1, "_CPPv4N9HexWidget14clearSelectionEv", "HexWidget::clearSelection"], [259, 1, 1, "_CPPv4N9HexWidget12getSelectionEv", "HexWidget::getSelection"], [259, 1, 1, "_CPPv4N9HexWidget15positionChangedE3RVA", "HexWidget::positionChanged"], [259, 2, 1, "_CPPv4N9HexWidget15positionChangedE3RVA", "HexWidget::positionChanged::start"], [259, 1, 1, "_CPPv4N9HexWidget7refreshEv", "HexWidget::refresh"], [259, 1, 1, "_CPPv4N9HexWidget4seekE8uint64_t", "HexWidget::seek"], [259, 2, 1, "_CPPv4N9HexWidget4seekE8uint64_t", "HexWidget::seek::address"], [259, 1, 1, "_CPPv4N9HexWidget11selectRangeE3RVA3RVA", "HexWidget::selectRange"], [259, 2, 1, "_CPPv4N9HexWidget11selectRangeE3RVA3RVA", "HexWidget::selectRange::end"], [259, 2, 1, "_CPPv4N9HexWidget11selectRangeE3RVA3RVA", "HexWidget::selectRange::start"], [259, 1, 1, "_CPPv4N9HexWidget16selectionChangedEN9HexWidget9SelectionE", "HexWidget::selectionChanged"], [259, 2, 1, "_CPPv4N9HexWidget16selectionChangedEN9HexWidget9SelectionE", "HexWidget::selectionChanged::selection"], [259, 1, 1, "_CPPv4N9HexWidget13setColumnModeE10ColumnMode", "HexWidget::setColumnMode"], [259, 2, 1, "_CPPv4N9HexWidget13setColumnModeE10ColumnMode", "HexWidget::setColumnMode::mode"], [259, 1, 1, "_CPPv4N9HexWidget16setFixedLineSizeEi", "HexWidget::setFixedLineSize"], [259, 2, 1, "_CPPv4N9HexWidget16setFixedLineSizeEi", "HexWidget::setFixedLineSize::bytes"], [259, 1, 1, "_CPPv4N9HexWidget17setItemEndiannessEb", "HexWidget::setItemEndianness"], [259, 2, 1, "_CPPv4N9HexWidget17setItemEndiannessEb", "HexWidget::setItemEndianness::bigEndian"], [259, 1, 1, "_CPPv4N9HexWidget13setItemFormatE10ItemFormat", "HexWidget::setItemFormat"], [259, 2, 1, "_CPPv4N9HexWidget13setItemFormatE10ItemFormat", "HexWidget::setItemFormat::format"], [259, 1, 1, "_CPPv4N9HexWidget16setItemGroupSizeEi", "HexWidget::setItemGroupSize"], [259, 2, 1, "_CPPv4N9HexWidget16setItemGroupSizeEi", "HexWidget::setItemGroupSize::size"], [259, 1, 1, "_CPPv4N9HexWidget11setItemSizeEi", "HexWidget::setItemSize"], [259, 2, 1, "_CPPv4N9HexWidget11setItemSizeEi", "HexWidget::setItemSize::nbytes"], [259, 1, 1, "_CPPv4N9HexWidget16setMonospaceFontERK5QFont", "HexWidget::setMonospaceFont"], [259, 2, 1, "_CPPv4N9HexWidget16setMonospaceFontERK5QFont", "HexWidget::setMonospaceFont::font"], [259, 1, 1, "_CPPv4N9HexWidget12updateColorsEv", "HexWidget::updateColors"], [259, 1, 1, "_CPPv4N9HexWidgetD0Ev", "HexWidget::~HexWidget"], [143, 0, 1, "_CPPv418HexdumpRangeDialog", "HexdumpRangeDialog"], [143, 1, 1, "_CPPv4N18HexdumpRangeDialog18HexdumpRangeDialogEP7QWidgetb", "HexdumpRangeDialog::HexdumpRangeDialog"], [143, 2, 1, "_CPPv4N18HexdumpRangeDialog18HexdumpRangeDialogEP7QWidgetb", "HexdumpRangeDialog::HexdumpRangeDialog::allowEmpty"], [143, 2, 1, "_CPPv4N18HexdumpRangeDialog18HexdumpRangeDialogEP7QWidgetb", "HexdumpRangeDialog::HexdumpRangeDialog::parent"], [143, 1, 1, "_CPPv4N18HexdumpRangeDialog5emptyEv", "HexdumpRangeDialog::empty"], [143, 1, 1, "_CPPv4NK18HexdumpRangeDialog13getEndAddressEv", "HexdumpRangeDialog::getEndAddress"], [143, 1, 1, "_CPPv4NK18HexdumpRangeDialog15getStartAddressEv", "HexdumpRangeDialog::getStartAddress"], [143, 1, 1, "_CPPv4N18HexdumpRangeDialog4openE4ut64", "HexdumpRangeDialog::open"], [143, 2, 1, "_CPPv4N18HexdumpRangeDialog4openE4ut64", "HexdumpRangeDialog::open::start"], [143, 1, 1, "_CPPv4N18HexdumpRangeDialog15setStartAddressE4ut64", "HexdumpRangeDialog::setStartAddress"], [143, 2, 1, "_CPPv4N18HexdumpRangeDialog15setStartAddressE4ut64", "HexdumpRangeDialog::setStartAddress::start"], [143, 1, 1, "_CPPv4N18HexdumpRangeDialog10textEditedEv", "HexdumpRangeDialog::textEdited"], [143, 1, 1, "_CPPv4N18HexdumpRangeDialogD0Ev", "HexdumpRangeDialog::~HexdumpRangeDialog"], [260, 0, 1, "_CPPv413HexdumpWidget", "HexdumpWidget"], [260, 1, 1, "_CPPv4N13HexdumpWidget13HexdumpWidgetEP10MainWindow", "HexdumpWidget::HexdumpWidget"], [260, 2, 1, "_CPPv4N13HexdumpWidget13HexdumpWidgetEP10MainWindow", "HexdumpWidget::HexdumpWidget::main"], [260, 1, 1, "_CPPv4N13HexdumpWidget13getWidgetTypeEv", "HexdumpWidget::getWidgetType"], [260, 3, 1, "_CPPv4N13HexdumpWidget11highlighterE", "HexdumpWidget::highlighter"], [260, 1, 1, "_CPPv4N13HexdumpWidget11initParsingEv", "HexdumpWidget::initParsing"], [260, 1, 1, "_CPPv4N13HexdumpWidgetD0Ev", "HexdumpWidget::~HexdumpWidget"], [21, 0, 1, "_CPPv413HighDpiPixmap", "HighDpiPixmap"], [21, 1, 1, "_CPPv4N13HighDpiPixmap13HighDpiPixmapEii5qreal", "HighDpiPixmap::HighDpiPixmap"], [21, 2, 1, "_CPPv4N13HighDpiPixmap13HighDpiPixmapEii5qreal", "HighDpiPixmap::HighDpiPixmap::devicePixelRatio"], [21, 2, 1, "_CPPv4N13HighDpiPixmap13HighDpiPixmapEii5qreal", "HighDpiPixmap::HighDpiPixmap::height"], [21, 2, 1, "_CPPv4N13HighDpiPixmap13HighDpiPixmapEii5qreal", "HighDpiPixmap::HighDpiPixmap::width"], [22, 0, 1, "_CPPv411Highlighter", "Highlighter"], [22, 1, 1, "_CPPv4N11Highlighter11HighlighterEP13QTextDocument", "Highlighter::Highlighter"], [22, 2, 1, "_CPPv4N11Highlighter11HighlighterEP13QTextDocument", "Highlighter::Highlighter::parent"], [53, 0, 1, "_CPPv4N11Highlighter16HighlightingRuleE", "Highlighter::HighlightingRule"], [53, 3, 1, "_CPPv4N11Highlighter16HighlightingRule6formatE", "Highlighter::HighlightingRule::format"], [53, 3, 1, "_CPPv4N11Highlighter16HighlightingRule7patternE", "Highlighter::HighlightingRule::pattern"], [23, 0, 1, "_CPPv417IOModesController", "IOModesController"], [23, 1, 1, "_CPPv4N17IOModesController17IOModesControllerEP7QWidget", "IOModesController::IOModesController"], [23, 2, 1, "_CPPv4N17IOModesController17IOModesControllerEP7QWidget", "IOModesController::IOModesController::parent"], [23, 5, 1, "_CPPv4N17IOModesController4ModeE", "IOModesController::Mode"], [23, 6, 1, "_CPPv4N17IOModesController4Mode5CACHEE", "IOModesController::Mode::CACHE"], [23, 6, 1, "_CPPv4N17IOModesController4Mode9READ_ONLYE", "IOModesController::Mode::READ_ONLY"], [23, 6, 1, "_CPPv4N17IOModesController4Mode5WRITEE", "IOModesController::Mode::WRITE"], [23, 1, 1, "_CPPv4N17IOModesController18allChangesComittedEv", "IOModesController::allChangesComitted"], [23, 1, 1, "_CPPv4N17IOModesController23askCommitUnsavedChangesEv", "IOModesController::askCommitUnsavedChanges"], [23, 1, 1, "_CPPv4N17IOModesController8canWriteEv", "IOModesController::canWrite"], [23, 1, 1, "_CPPv4N17IOModesController9getIOModeEv", "IOModesController::getIOMode"], [23, 1, 1, "_CPPv4N17IOModesController17prepareForWritingEv", "IOModesController::prepareForWriting"], [23, 1, 1, "_CPPv4N17IOModesController9setIOModeE4Mode", "IOModesController::setIOMode"], [23, 2, 1, "_CPPv4N17IOModesController9setIOModeE4Mode", "IOModesController::setIOMode::mode"], [103, 0, 1, "_CPPv417ImportDescription", "ImportDescription"], [103, 3, 1, "_CPPv4N17ImportDescription4bindE", "ImportDescription::bind"], [103, 3, 1, "_CPPv4N17ImportDescription7libnameE", "ImportDescription::libname"], [103, 3, 1, "_CPPv4N17ImportDescription4nameE", "ImportDescription::name"], [103, 3, 1, "_CPPv4N17ImportDescription7ordinalE", "ImportDescription::ordinal"], [103, 3, 1, "_CPPv4N17ImportDescription3pltE", "ImportDescription::plt"], [103, 3, 1, "_CPPv4N17ImportDescription4typeE", "ImportDescription::type"], [261, 0, 1, "_CPPv412ImportsModel", "ImportsModel"], [261, 6, 1, "_CPPv4N12ImportsModel6Column13AddressColumnE", "ImportsModel::AddressColumn"], [261, 6, 1, "_CPPv4N12ImportsModel4Role11AddressRoleE", "ImportsModel::AddressRole"], [261, 5, 1, "_CPPv4N12ImportsModel6ColumnE", "ImportsModel::Column"], [261, 6, 1, "_CPPv4N12ImportsModel6Column13AddressColumnE", "ImportsModel::Column::AddressColumn"], [261, 6, 1, "_CPPv4N12ImportsModel6Column11ColumnCountE", "ImportsModel::Column::ColumnCount"], [261, 6, 1, "_CPPv4N12ImportsModel6Column13CommentColumnE", "ImportsModel::Column::CommentColumn"], [261, 6, 1, "_CPPv4N12ImportsModel6Column13LibraryColumnE", "ImportsModel::Column::LibraryColumn"], [261, 6, 1, "_CPPv4N12ImportsModel6Column10NameColumnE", "ImportsModel::Column::NameColumn"], [261, 6, 1, "_CPPv4N12ImportsModel6Column12SafetyColumnE", "ImportsModel::Column::SafetyColumn"], [261, 6, 1, "_CPPv4N12ImportsModel6Column10TypeColumnE", "ImportsModel::Column::TypeColumn"], [261, 6, 1, "_CPPv4N12ImportsModel6Column11ColumnCountE", "ImportsModel::ColumnCount"], [261, 6, 1, "_CPPv4N12ImportsModel6Column13CommentColumnE", "ImportsModel::CommentColumn"], [261, 6, 1, "_CPPv4N12ImportsModel4Role21ImportDescriptionRoleE", "ImportsModel::ImportDescriptionRole"], [261, 1, 1, "_CPPv4N12ImportsModel12ImportsModelEP7QObject", "ImportsModel::ImportsModel"], [261, 2, 1, "_CPPv4N12ImportsModel12ImportsModelEP7QObject", "ImportsModel::ImportsModel::parent"], [261, 6, 1, "_CPPv4N12ImportsModel6Column13LibraryColumnE", "ImportsModel::LibraryColumn"], [261, 6, 1, "_CPPv4N12ImportsModel6Column10NameColumnE", "ImportsModel::NameColumn"], [261, 5, 1, "_CPPv4N12ImportsModel4RoleE", "ImportsModel::Role"], [261, 6, 1, "_CPPv4N12ImportsModel4Role11AddressRoleE", "ImportsModel::Role::AddressRole"], [261, 6, 1, "_CPPv4N12ImportsModel4Role21ImportDescriptionRoleE", "ImportsModel::Role::ImportDescriptionRole"], [261, 6, 1, "_CPPv4N12ImportsModel6Column12SafetyColumnE", "ImportsModel::SafetyColumn"], [261, 6, 1, "_CPPv4N12ImportsModel6Column10TypeColumnE", "ImportsModel::TypeColumn"], [261, 1, 1, "_CPPv4NK12ImportsModel7addressERK11QModelIndex", "ImportsModel::address"], [261, 2, 1, "_CPPv4NK12ImportsModel7addressERK11QModelIndex", "ImportsModel::address::index"], [261, 1, 1, "_CPPv4NK12ImportsModel11columnCountERK11QModelIndex", "ImportsModel::columnCount"], [261, 2, 1, "_CPPv4NK12ImportsModel11columnCountERK11QModelIndex", "ImportsModel::columnCount::parent"], [261, 1, 1, "_CPPv4NK12ImportsModel4dataERK11QModelIndexi", "ImportsModel::data"], [261, 2, 1, "_CPPv4NK12ImportsModel4dataERK11QModelIndexi", "ImportsModel::data::index"], [261, 2, 1, "_CPPv4NK12ImportsModel4dataERK11QModelIndexi", "ImportsModel::data::role"], [261, 1, 1, "_CPPv4NK12ImportsModel10headerDataEiN2Qt11OrientationEi", "ImportsModel::headerData"], [261, 2, 1, "_CPPv4NK12ImportsModel10headerDataEiN2Qt11OrientationEi", "ImportsModel::headerData::orientation"], [261, 2, 1, "_CPPv4NK12ImportsModel10headerDataEiN2Qt11OrientationEi", "ImportsModel::headerData::role"], [261, 2, 1, "_CPPv4NK12ImportsModel10headerDataEiN2Qt11OrientationEi", "ImportsModel::headerData::section"], [261, 1, 1, "_CPPv4NK12ImportsModel7libnameERK11QModelIndex", "ImportsModel::libname"], [261, 2, 1, "_CPPv4NK12ImportsModel7libnameERK11QModelIndex", "ImportsModel::libname::index"], [261, 1, 1, "_CPPv4NK12ImportsModel4nameERK11QModelIndex", "ImportsModel::name"], [261, 2, 1, "_CPPv4NK12ImportsModel4nameERK11QModelIndex", "ImportsModel::name::index"], [261, 1, 1, "_CPPv4N12ImportsModel6reloadEv", "ImportsModel::reload"], [261, 1, 1, "_CPPv4NK12ImportsModel8rowCountERK11QModelIndex", "ImportsModel::rowCount"], [261, 2, 1, "_CPPv4NK12ImportsModel8rowCountERK11QModelIndex", "ImportsModel::rowCount::parent"], [262, 0, 1, "_CPPv417ImportsProxyModel", "ImportsProxyModel"], [262, 1, 1, "_CPPv4N17ImportsProxyModel17ImportsProxyModelEP12ImportsModelP7QObject", "ImportsProxyModel::ImportsProxyModel"], [262, 2, 1, "_CPPv4N17ImportsProxyModel17ImportsProxyModelEP12ImportsModelP7QObject", "ImportsProxyModel::ImportsProxyModel::parent"], [262, 2, 1, "_CPPv4N17ImportsProxyModel17ImportsProxyModelEP12ImportsModelP7QObject", "ImportsProxyModel::ImportsProxyModel::sourceModel"], [263, 0, 1, "_CPPv413ImportsWidget", "ImportsWidget"], [263, 1, 1, "_CPPv4N13ImportsWidget13ImportsWidgetEP10MainWindow", "ImportsWidget::ImportsWidget"], [263, 2, 1, "_CPPv4N13ImportsWidget13ImportsWidgetEP10MainWindow", "ImportsWidget::ImportsWidget::main"], [263, 1, 1, "_CPPv4N13ImportsWidgetD0Ev", "ImportsWidget::~ImportsWidget"], [144, 0, 1, "_CPPv424IncrementDecrementDialog", "IncrementDecrementDialog"], [144, 6, 1, "_CPPv4N24IncrementDecrementDialog4Mode8DecreaseE", "IncrementDecrementDialog::Decrease"], [144, 6, 1, "_CPPv4N24IncrementDecrementDialog4Mode8IncreaseE", "IncrementDecrementDialog::Increase"], [144, 1, 1, "_CPPv4N24IncrementDecrementDialog24IncrementDecrementDialogEP7QWidget", "IncrementDecrementDialog::IncrementDecrementDialog"], [144, 2, 1, "_CPPv4N24IncrementDecrementDialog24IncrementDecrementDialogEP7QWidget", "IncrementDecrementDialog::IncrementDecrementDialog::parent"], [144, 5, 1, "_CPPv4N24IncrementDecrementDialog4ModeE", "IncrementDecrementDialog::Mode"], [144, 6, 1, "_CPPv4N24IncrementDecrementDialog4Mode8DecreaseE", "IncrementDecrementDialog::Mode::Decrease"], [144, 6, 1, "_CPPv4N24IncrementDecrementDialog4Mode8IncreaseE", "IncrementDecrementDialog::Mode::Increase"], [144, 1, 1, "_CPPv4NK24IncrementDecrementDialog7getModeEv", "IncrementDecrementDialog::getMode"], [144, 1, 1, "_CPPv4NK24IncrementDecrementDialog9getNBytesEv", "IncrementDecrementDialog::getNBytes"], [144, 1, 1, "_CPPv4NK24IncrementDecrementDialog8getValueEv", "IncrementDecrementDialog::getValue"], [54, 0, 1, "_CPPv414InitialOptions", "InitialOptions"], [54, 5, 1, "_CPPv4N14InitialOptions10EndiannessE", "InitialOptions::Endianness"], [54, 6, 1, "_CPPv4N14InitialOptions10Endianness4AutoE", "InitialOptions::Endianness::Auto"], [54, 6, 1, "_CPPv4N14InitialOptions10Endianness3BigE", "InitialOptions::Endianness::Big"], [54, 6, 1, "_CPPv4N14InitialOptions10Endianness6LittleE", "InitialOptions::Endianness::Little"], [54, 3, 1, "_CPPv4N14InitialOptions11analysisCmdE", "InitialOptions::analysisCmd"], [54, 3, 1, "_CPPv4N14InitialOptions4archE", "InitialOptions::arch"], [54, 3, 1, "_CPPv4N14InitialOptions11binLoadAddrE", "InitialOptions::binLoadAddr"], [54, 3, 1, "_CPPv4N14InitialOptions4bitsE", "InitialOptions::bits"], [54, 3, 1, "_CPPv4N14InitialOptions3cpuE", "InitialOptions::cpu"], [54, 3, 1, "_CPPv4N14InitialOptions8demangleE", "InitialOptions::demangle"], [54, 3, 1, "_CPPv4N14InitialOptions6endianE", "InitialOptions::endian"], [54, 3, 1, "_CPPv4N14InitialOptions8filenameE", "InitialOptions::filename"], [54, 3, 1, "_CPPv4N14InitialOptions14forceBinPluginE", "InitialOptions::forceBinPlugin"], [54, 3, 1, "_CPPv4N14InitialOptions11loadBinInfoE", "InitialOptions::loadBinInfo"], [54, 3, 1, "_CPPv4N14InitialOptions7mapAddrE", "InitialOptions::mapAddr"], [54, 3, 1, "_CPPv4N14InitialOptions2osE", "InitialOptions::os"], [54, 3, 1, "_CPPv4N14InitialOptions7pdbFileE", "InitialOptions::pdbFile"], [54, 3, 1, "_CPPv4N14InitialOptions11projectFileE", "InitialOptions::projectFile"], [54, 3, 1, "_CPPv4N14InitialOptions6scriptE", "InitialOptions::script"], [54, 3, 1, "_CPPv4N14InitialOptions9shellcodeE", "InitialOptions::shellcode"], [54, 3, 1, "_CPPv4N14InitialOptions5useVAE", "InitialOptions::useVA"], [54, 3, 1, "_CPPv4N14InitialOptions12writeEnabledE", "InitialOptions::writeEnabled"], [145, 0, 1, "_CPPv420InitialOptionsDialog", "InitialOptionsDialog"], [164, 0, 1, "_CPPv4N20InitialOptionsDialog16AnalysisCommandsE", "InitialOptionsDialog::AnalysisCommands"], [164, 3, 1, "_CPPv4N20InitialOptionsDialog16AnalysisCommands8checkboxE", "InitialOptionsDialog::AnalysisCommands::checkbox"], [164, 3, 1, "_CPPv4N20InitialOptionsDialog16AnalysisCommands7checkedE", "InitialOptionsDialog::AnalysisCommands::checked"], [164, 3, 1, "_CPPv4N20InitialOptionsDialog16AnalysisCommands11commandDescE", "InitialOptionsDialog::AnalysisCommands::commandDesc"], [145, 1, 1, "_CPPv4N20InitialOptionsDialog20InitialOptionsDialogEP10MainWindow", "InitialOptionsDialog::InitialOptionsDialog"], [145, 2, 1, "_CPPv4N20InitialOptionsDialog20InitialOptionsDialogEP10MainWindow", "InitialOptionsDialog::InitialOptionsDialog::main"], [145, 1, 1, "_CPPv4N20InitialOptionsDialog11loadOptionsERK14InitialOptions", "InitialOptionsDialog::loadOptions"], [145, 2, 1, "_CPPv4N20InitialOptionsDialog11loadOptionsERK14InitialOptions", "InitialOptionsDialog::loadOptions::options"], [145, 1, 1, "_CPPv4N20InitialOptionsDialog6rejectEv", "InitialOptionsDialog::reject"], [145, 1, 1, "_CPPv4N20InitialOptionsDialog21setupAndStartAnalysisEv", "InitialOptionsDialog::setupAndStartAnalysis"], [145, 1, 1, "_CPPv4N20InitialOptionsDialogD0Ev", "InitialOptionsDialog::~InitialOptionsDialog"], [146, 0, 1, "_CPPv413LayoutManager", "LayoutManager"], [146, 1, 1, "_CPPv4N13LayoutManager13LayoutManagerER4QMapI7QStringN6Cutter12CutterLayoutEEP7QWidget", "LayoutManager::LayoutManager"], [146, 2, 1, "_CPPv4N13LayoutManager13LayoutManagerER4QMapI7QStringN6Cutter12CutterLayoutEEP7QWidget", "LayoutManager::LayoutManager::layouts"], [146, 2, 1, "_CPPv4N13LayoutManager13LayoutManagerER4QMapI7QStringN6Cutter12CutterLayoutEEP7QWidget", "LayoutManager::LayoutManager::parent"], [146, 1, 1, "_CPPv4N13LayoutManagerD0Ev", "LayoutManager::~LayoutManager"], [24, 0, 1, "_CPPv4I000E19LazySegmentTreeBase", "LazySegmentTreeBase"], [24, 4, 1, "_CPPv4I000E19LazySegmentTreeBase", "LazySegmentTreeBase::FinalType"], [24, 1, 1, "_CPPv4N19LazySegmentTreeBase19LazySegmentTreeBaseE6size_t8NodeType11PromiseType", "LazySegmentTreeBase::LazySegmentTreeBase"], [24, 1, 1, "_CPPv4N19LazySegmentTreeBase19LazySegmentTreeBaseE6size_tRK11PromiseType", "LazySegmentTreeBase::LazySegmentTreeBase"], [24, 2, 1, "_CPPv4N19LazySegmentTreeBase19LazySegmentTreeBaseE6size_t8NodeType11PromiseType", "LazySegmentTreeBase::LazySegmentTreeBase::neutralPromise"], [24, 2, 1, "_CPPv4N19LazySegmentTreeBase19LazySegmentTreeBaseE6size_tRK11PromiseType", "LazySegmentTreeBase::LazySegmentTreeBase::neutralPromise"], [24, 2, 1, "_CPPv4N19LazySegmentTreeBase19LazySegmentTreeBaseE6size_t8NodeType11PromiseType", "LazySegmentTreeBase::LazySegmentTreeBase::size"], [24, 2, 1, "_CPPv4N19LazySegmentTreeBase19LazySegmentTreeBaseE6size_tRK11PromiseType", "LazySegmentTreeBase::LazySegmentTreeBase::size"], [24, 2, 1, "_CPPv4N19LazySegmentTreeBase19LazySegmentTreeBaseE6size_t8NodeType11PromiseType", "LazySegmentTreeBase::LazySegmentTreeBase::value"], [24, 4, 1, "_CPPv4I000E19LazySegmentTreeBase", "LazySegmentTreeBase::NodeType"], [24, 4, 1, "_CPPv4I000E19LazySegmentTreeBase", "LazySegmentTreeBase::PromiseType"], [24, 1, 1, "_CPPv4N19LazySegmentTreeBase14rangeOperationE6size_t6size_t8NodeType", "LazySegmentTreeBase::rangeOperation"], [24, 2, 1, "_CPPv4N19LazySegmentTreeBase14rangeOperationE6size_t6size_t8NodeType", "LazySegmentTreeBase::rangeOperation::initialValue"], [24, 2, 1, "_CPPv4N19LazySegmentTreeBase14rangeOperationE6size_t6size_t8NodeType", "LazySegmentTreeBase::rangeOperation::l"], [24, 2, 1, "_CPPv4N19LazySegmentTreeBase14rangeOperationE6size_t6size_t8NodeType", "LazySegmentTreeBase::rangeOperation::r"], [25, 0, 1, "_CPPv4I0E14LinkedListPool", "LinkedListPool"], [55, 0, 1, "_CPPv4N14LinkedListPool4ItemE", "LinkedListPool::Item"], [55, 3, 1, "_CPPv4N14LinkedListPool4Item4nextE", "LinkedListPool::Item::next"], [55, 3, 1, "_CPPv4N14LinkedListPool4Item5valueE", "LinkedListPool::Item::value"], [25, 1, 1, "_CPPv4N14LinkedListPool14LinkedListPoolE6size_t", "LinkedListPool::LinkedListPool"], [25, 2, 1, "_CPPv4N14LinkedListPool14LinkedListPoolE6size_t", "LinkedListPool::LinkedListPool::initialCapacity"], [25, 0, 1, "_CPPv4N14LinkedListPool4ListE", "LinkedListPool::List"], [26, 0, 1, "_CPPv4N14LinkedListPool4ListE", "LinkedListPool::List"], [25, 1, 1, "_CPPv4N14LinkedListPool4List4ListEv", "LinkedListPool::List::List"], [26, 1, 1, "_CPPv4N14LinkedListPool4List4ListEv", "LinkedListPool::List::List"], [25, 1, 1, "_CPPv4NK14LinkedListPool4List7isEmptyEv", "LinkedListPool::List::isEmpty"], [26, 1, 1, "_CPPv4NK14LinkedListPool4List7isEmptyEv", "LinkedListPool::List::isEmpty"], [25, 0, 1, "_CPPv4N14LinkedListPool12ListIteratorE", "LinkedListPool::ListIterator"], [27, 0, 1, "_CPPv4N14LinkedListPool12ListIteratorE", "LinkedListPool::ListIterator"], [25, 1, 1, "_CPPv4N14LinkedListPool12ListIterator12ListIteratorEv", "LinkedListPool::ListIterator::ListIterator"], [27, 1, 1, "_CPPv4N14LinkedListPool12ListIterator12ListIteratorEv", "LinkedListPool::ListIterator::ListIterator"], [25, 7, 1, "_CPPv4N14LinkedListPool12ListIterator15difference_typeE", "LinkedListPool::ListIterator::difference_type"], [27, 7, 1, "_CPPv4N14LinkedListPool12ListIterator15difference_typeE", "LinkedListPool::ListIterator::difference_type"], [25, 7, 1, "_CPPv4N14LinkedListPool12ListIterator17iterator_categoryE", "LinkedListPool::ListIterator::iterator_category"], [27, 7, 1, "_CPPv4N14LinkedListPool12ListIterator17iterator_categoryE", "LinkedListPool::ListIterator::iterator_category"], [25, 1, 1, "_CPPv4NK14LinkedListPool12ListIteratorcvbEv", "LinkedListPool::ListIterator::operator bool"], [27, 1, 1, "_CPPv4NK14LinkedListPool12ListIteratorcvbEv", "LinkedListPool::ListIterator::operator bool"], [25, 1, 1, "_CPPv4NK14LinkedListPool12ListIteratorneERK12ListIterator", "LinkedListPool::ListIterator::operator!="], [27, 1, 1, "_CPPv4NK14LinkedListPool12ListIteratorneERK12ListIterator", "LinkedListPool::ListIterator::operator!="], [25, 2, 1, "_CPPv4NK14LinkedListPool12ListIteratorneERK12ListIterator", "LinkedListPool::ListIterator::operator!=::b"], [27, 2, 1, "_CPPv4NK14LinkedListPool12ListIteratorneERK12ListIterator", "LinkedListPool::ListIterator::operator!=::b"], [25, 1, 1, "_CPPv4N14LinkedListPool12ListIteratormlEv", "LinkedListPool::ListIterator::operator*"], [27, 1, 1, "_CPPv4N14LinkedListPool12ListIteratormlEv", "LinkedListPool::ListIterator::operator*"], [25, 1, 1, "_CPPv4N14LinkedListPool12ListIteratorppEi", "LinkedListPool::ListIterator::operator++"], [25, 1, 1, "_CPPv4N14LinkedListPool12ListIteratorppEv", "LinkedListPool::ListIterator::operator++"], [27, 1, 1, "_CPPv4N14LinkedListPool12ListIteratorppEi", "LinkedListPool::ListIterator::operator++"], [27, 1, 1, "_CPPv4N14LinkedListPool12ListIteratorppEv", "LinkedListPool::ListIterator::operator++"], [25, 1, 1, "_CPPv4N14LinkedListPool12ListIteratorptEv", "LinkedListPool::ListIterator::operator->"], [27, 1, 1, "_CPPv4N14LinkedListPool12ListIteratorptEv", "LinkedListPool::ListIterator::operator->"], [25, 7, 1, "_CPPv4N14LinkedListPool12ListIterator7pointerE", "LinkedListPool::ListIterator::pointer"], [27, 7, 1, "_CPPv4N14LinkedListPool12ListIterator7pointerE", "LinkedListPool::ListIterator::pointer"], [25, 7, 1, "_CPPv4N14LinkedListPool12ListIterator9referenceE", "LinkedListPool::ListIterator::reference"], [27, 7, 1, "_CPPv4N14LinkedListPool12ListIterator9referenceE", "LinkedListPool::ListIterator::reference"], [25, 7, 1, "_CPPv4N14LinkedListPool12ListIterator10value_typeE", "LinkedListPool::ListIterator::value_type"], [27, 7, 1, "_CPPv4N14LinkedListPool12ListIterator10value_typeE", "LinkedListPool::ListIterator::value_type"], [25, 4, 1, "_CPPv4I0E14LinkedListPool", "LinkedListPool::T"], [25, 1, 1, "_CPPv4N14LinkedListPool6appendERK4ListRK4List", "LinkedListPool::append"], [25, 2, 1, "_CPPv4N14LinkedListPool6appendERK4ListRK4List", "LinkedListPool::append::head"], [25, 2, 1, "_CPPv4N14LinkedListPool6appendERK4ListRK4List", "LinkedListPool::append::tail"], [25, 1, 1, "_CPPv4N14LinkedListPool3endERK4List", "LinkedListPool::end"], [25, 2, 1, "_CPPv4N14LinkedListPool3endERK4List", "LinkedListPool::end::list"], [25, 1, 1, "_CPPv4N14LinkedListPool4headERK4List", "LinkedListPool::head"], [25, 2, 1, "_CPPv4N14LinkedListPool4headERK4List", "LinkedListPool::head::list"], [25, 1, 1, "_CPPv4N14LinkedListPool8makeListERK1T", "LinkedListPool::makeList"], [25, 2, 1, "_CPPv4N14LinkedListPool8makeListERK1T", "LinkedListPool::makeList::value"], [25, 1, 1, "_CPPv4N14LinkedListPool9splitHeadERK4ListRK12ListIterator", "LinkedListPool::splitHead"], [25, 2, 1, "_CPPv4N14LinkedListPool9splitHeadERK4ListRK12ListIterator", "LinkedListPool::splitHead::end"], [25, 2, 1, "_CPPv4N14LinkedListPool9splitHeadERK4ListRK12ListIterator", "LinkedListPool::splitHead::list"], [25, 1, 1, "_CPPv4N14LinkedListPool9splitTailERK4ListRK12ListIterator", "LinkedListPool::splitTail"], [25, 2, 1, "_CPPv4N14LinkedListPool9splitTailERK4ListRK12ListIterator", "LinkedListPool::splitTail::head"], [25, 2, 1, "_CPPv4N14LinkedListPool9splitTailERK4ListRK12ListIterator", "LinkedListPool::splitTail::list"], [264, 0, 1, "_CPPv414ListDockWidget", "ListDockWidget"], [264, 1, 1, "_CPPv4N14ListDockWidget14ListDockWidgetEP10MainWindow15SearchBarPolicy", "ListDockWidget::ListDockWidget"], [264, 2, 1, "_CPPv4N14ListDockWidget14ListDockWidgetEP10MainWindow15SearchBarPolicy", "ListDockWidget::ListDockWidget::main"], [264, 2, 1, "_CPPv4N14ListDockWidget14ListDockWidgetEP10MainWindow15SearchBarPolicy", "ListDockWidget::ListDockWidget::searchBarPolicy"], [264, 5, 1, "_CPPv4N14ListDockWidget15SearchBarPolicyE", "ListDockWidget::SearchBarPolicy"], [264, 6, 1, "_CPPv4N14ListDockWidget15SearchBarPolicy4HideE", "ListDockWidget::SearchBarPolicy::Hide"], [264, 6, 1, "_CPPv4N14ListDockWidget15SearchBarPolicy13HideByDefaultE", "ListDockWidget::SearchBarPolicy::HideByDefault"], [264, 6, 1, "_CPPv4N14ListDockWidget15SearchBarPolicy13ShowByDefaultE", "ListDockWidget::SearchBarPolicy::ShowByDefault"], [264, 1, 1, "_CPPv4N14ListDockWidget9showCountEb", "ListDockWidget::showCount"], [264, 2, 1, "_CPPv4N14ListDockWidget9showCountEb", "ListDockWidget::showCount::show"], [264, 1, 1, "_CPPv4N14ListDockWidgetD0Ev", "ListDockWidget::~ListDockWidget"], [76, 0, 1, "_CPPv410MainWindow", "MainWindow"], [76, 5, 1, "_CPPv4N10MainWindow15AddressTypeHintE", "MainWindow::AddressTypeHint"], [76, 6, 1, "_CPPv4N10MainWindow15AddressTypeHint4DataE", "MainWindow::AddressTypeHint::Data"], [76, 6, 1, "_CPPv4N10MainWindow15AddressTypeHint8FunctionE", "MainWindow::AddressTypeHint::Function"], [76, 6, 1, "_CPPv4N10MainWindow15AddressTypeHint7UnknownE", "MainWindow::AddressTypeHint::Unknown"], [76, 5, 1, "_CPPv4N10MainWindow15ContextMenuTypeE", "MainWindow::ContextMenuType"], [76, 6, 1, "_CPPv4N10MainWindow15ContextMenuType11AddressableE", "MainWindow::ContextMenuType::Addressable"], [76, 6, 1, "_CPPv4N10MainWindow15ContextMenuType11DisassemblyE", "MainWindow::ContextMenuType::Disassembly"], [76, 1, 1, "_CPPv4N10MainWindow10MainWindowEP7QWidget", "MainWindow::MainWindow"], [76, 2, 1, "_CPPv4N10MainWindow10MainWindowEP7QWidget", "MainWindow::MainWindow::parent"], [76, 5, 1, "_CPPv4N10MainWindow8MenuTypeE", "MainWindow::MenuType"], [76, 6, 1, "_CPPv4N10MainWindow8MenuType5DebugE", "MainWindow::MenuType::Debug"], [76, 6, 1, "_CPPv4N10MainWindow8MenuType4EditE", "MainWindow::MenuType::Edit"], [76, 6, 1, "_CPPv4N10MainWindow8MenuType4FileE", "MainWindow::MenuType::File"], [76, 6, 1, "_CPPv4N10MainWindow8MenuType4HelpE", "MainWindow::MenuType::Help"], [76, 6, 1, "_CPPv4N10MainWindow8MenuType7PluginsE", "MainWindow::MenuType::Plugins"], [76, 6, 1, "_CPPv4N10MainWindow8MenuType4ViewE", "MainWindow::MenuType::View"], [76, 6, 1, "_CPPv4N10MainWindow8MenuType7WindowsE", "MainWindow::MenuType::Windows"], [76, 1, 1, "_CPPv4N10MainWindow14addExtraWidgetEP16CutterDockWidget", "MainWindow::addExtraWidget"], [76, 2, 1, "_CPPv4N10MainWindow14addExtraWidgetEP16CutterDockWidget", "MainWindow::addExtraWidget::extraDock"], [76, 1, 1, "_CPPv4N10MainWindow19addMemoryDockWidgetEP16MemoryDockWidget", "MainWindow::addMemoryDockWidget"], [76, 2, 1, "_CPPv4N10MainWindow19addMemoryDockWidgetEP16MemoryDockWidget", "MainWindow::addMemoryDockWidget::widget"], [76, 1, 1, "_CPPv4N10MainWindow17addMenuFileActionEP7QAction", "MainWindow::addMenuFileAction"], [76, 2, 1, "_CPPv4N10MainWindow17addMenuFileActionEP7QAction", "MainWindow::addMenuFileAction::action"], [76, 1, 1, "_CPPv4N10MainWindow18addNewMemoryWidgetE16MemoryWidgetType3RVAb", "MainWindow::addNewMemoryWidget"], [76, 2, 1, "_CPPv4N10MainWindow18addNewMemoryWidgetE16MemoryWidgetType3RVAb", "MainWindow::addNewMemoryWidget::address"], [76, 2, 1, "_CPPv4N10MainWindow18addNewMemoryWidgetE16MemoryWidgetType3RVAb", "MainWindow::addNewMemoryWidget::synchronized"], [76, 2, 1, "_CPPv4N10MainWindow18addNewMemoryWidgetE16MemoryWidgetType3RVAb", "MainWindow::addNewMemoryWidget::type"], [76, 1, 1, "_CPPv4N10MainWindow19addPluginDockWidgetEP16CutterDockWidget", "MainWindow::addPluginDockWidget"], [76, 1, 1, "_CPPv4N10MainWindow19addPluginDockWidgetEP16CutterDockWidgetP7QAction", "MainWindow::addPluginDockWidget"], [76, 2, 1, "_CPPv4N10MainWindow19addPluginDockWidgetEP16CutterDockWidget", "MainWindow::addPluginDockWidget::dockWidget"], [76, 2, 1, "_CPPv4N10MainWindow19addPluginDockWidgetEP16CutterDockWidgetP7QAction", "MainWindow::addPluginDockWidget::dockWidget"], [76, 1, 1, "_CPPv4N10MainWindow9addWidgetEP16CutterDockWidget", "MainWindow::addWidget"], [76, 2, 1, "_CPPv4N10MainWindow9addWidgetEP16CutterDockWidget", "MainWindow::addWidget::widget"], [76, 1, 1, "_CPPv4N10MainWindow10closeEventEP11QCloseEvent", "MainWindow::closeEvent"], [76, 2, 1, "_CPPv4N10MainWindow10closeEventEP11QCloseEvent", "MainWindow::closeEvent::event"], [76, 1, 1, "_CPPv4N10MainWindow18closeNewFileDialogEv", "MainWindow::closeNewFileDialog"], [76, 1, 1, "_CPPv4N10MainWindow16createShowInMenuEP7QWidget3RVA15AddressTypeHint", "MainWindow::createShowInMenu"], [76, 2, 1, "_CPPv4N10MainWindow16createShowInMenuEP7QWidget3RVA15AddressTypeHint", "MainWindow::createShowInMenu::address"], [76, 2, 1, "_CPPv4N10MainWindow16createShowInMenuEP7QWidget3RVA15AddressTypeHint", "MainWindow::createShowInMenu::addressType"], [76, 2, 1, "_CPPv4N10MainWindow16createShowInMenuEP7QWidget3RVA15AddressTypeHint", "MainWindow::createShowInMenu::parent"], [76, 1, 1, "_CPPv4N10MainWindow20displayNewFileDialogEv", "MainWindow::displayNewFileDialog"], [76, 1, 1, "_CPPv4N10MainWindow20displayWelcomeDialogEv", "MainWindow::displayWelcomeDialog"], [76, 1, 1, "_CPPv4N10MainWindow12finalizeOpenEv", "MainWindow::finalizeOpen"], [76, 1, 1, "_CPPv4N10MainWindow24getContextMenuExtensionsE15ContextMenuType", "MainWindow::getContextMenuExtensions"], [76, 2, 1, "_CPPv4N10MainWindow24getContextMenuExtensionsE15ContextMenuType", "MainWindow::getContextMenuExtensions::type"], [76, 1, 1, "_CPPv4NK10MainWindow11getFilenameEv", "MainWindow::getFilename"], [76, 1, 1, "_CPPv4N10MainWindow19getLastMemoryWidgetEv", "MainWindow::getLastMemoryWidget"], [76, 1, 1, "_CPPv4N10MainWindow13getMenuByTypeE8MenuType", "MainWindow::getMenuByType"], [76, 2, 1, "_CPPv4N10MainWindow13getMenuByTypeE8MenuType", "MainWindow::getMenuByType::type"], [76, 1, 1, "_CPPv4NK10MainWindow19getUniqueObjectNameERK7QString", "MainWindow::getUniqueObjectName"], [76, 2, 1, "_CPPv4NK10MainWindow19getUniqueObjectNameERK7QString", "MainWindow::getUniqueObjectName::widgetType"], [76, 1, 1, "_CPPv4N10MainWindow9lockDocksEb", "MainWindow::lockDocks"], [76, 2, 1, "_CPPv4N10MainWindow9lockDocksEb", "MainWindow::lockDocks::lock"], [76, 1, 1, "_CPPv4N10MainWindow17messageBoxWarningE7QString7QString", "MainWindow::messageBoxWarning"], [76, 2, 1, "_CPPv4N10MainWindow17messageBoxWarningE7QString7QString", "MainWindow::messageBoxWarning::message"], [76, 2, 1, "_CPPv4N10MainWindow17messageBoxWarningE7QString7QString", "MainWindow::messageBoxWarning::title"], [76, 1, 1, "_CPPv4N10MainWindow26on_actionAnalyze_triggeredEv", "MainWindow::on_actionAnalyze_triggered"], [76, 1, 1, "_CPPv4N10MainWindow29on_actionRun_Script_triggeredEv", "MainWindow::on_actionRun_Script_triggered"], [76, 1, 1, "_CPPv4N10MainWindow23on_actionTabs_triggeredEv", "MainWindow::on_actionTabs_triggered"], [76, 1, 1, "_CPPv4N10MainWindow11openNewFileER14InitialOptionsb", "MainWindow::openNewFile"], [76, 2, 1, "_CPPv4N10MainWindow11openNewFileER14InitialOptionsb", "MainWindow::openNewFile::options"], [76, 2, 1, "_CPPv4N10MainWindow11openNewFileER14InitialOptionsb", "MainWindow::openNewFile::skipOptionsDialog"], [76, 1, 1, "_CPPv4N10MainWindow17openNewFileFailedEv", "MainWindow::openNewFileFailed"], [76, 1, 1, "_CPPv4N10MainWindow11openProjectERK7QString", "MainWindow::openProject"], [76, 2, 1, "_CPPv4N10MainWindow11openProjectERK7QString", "MainWindow::openProject::project_name"], [76, 1, 1, "_CPPv4N10MainWindow10paintEventEP11QPaintEvent", "MainWindow::paintEvent"], [76, 2, 1, "_CPPv4N10MainWindow10paintEventEP11QPaintEvent", "MainWindow::paintEvent::event"], [76, 1, 1, "_CPPv4N10MainWindow12readSettingsEv", "MainWindow::readSettings"], [76, 1, 1, "_CPPv4N10MainWindow10refreshAllEv", "MainWindow::refreshAll"], [76, 1, 1, "_CPPv4N10MainWindow14refreshOmniBarERK11QStringList", "MainWindow::refreshOmniBar"], [76, 2, 1, "_CPPv4N10MainWindow14refreshOmniBarERK11QStringList", "MainWindow::refreshOmniBar::flags"], [76, 1, 1, "_CPPv4N10MainWindow12removeWidgetEP16CutterDockWidget", "MainWindow::removeWidget"], [76, 2, 1, "_CPPv4N10MainWindow12removeWidgetEP16CutterDockWidget", "MainWindow::removeWidget::widget"], [76, 3, 1, "_CPPv4N10MainWindow10responsiveE", "MainWindow::responsive"], [76, 1, 1, "_CPPv4N10MainWindow11saveProjectEPb", "MainWindow::saveProject"], [76, 2, 1, "_CPPv4N10MainWindow11saveProjectEPb", "MainWindow::saveProject::canceled"], [76, 1, 1, "_CPPv4N10MainWindow13saveProjectAsEPb", "MainWindow::saveProjectAs"], [76, 2, 1, "_CPPv4N10MainWindow13saveProjectAsEPb", "MainWindow::saveProjectAs::canceled"], [76, 1, 1, "_CPPv4N10MainWindow12saveSettingsEv", "MainWindow::saveSettings"], [76, 1, 1, "_CPPv4N10MainWindow29seekToFunctionLastInstructionEv", "MainWindow::seekToFunctionLastInstruction"], [76, 1, 1, "_CPPv4N10MainWindow19seekToFunctionStartEv", "MainWindow::seekToFunctionStart"], [76, 1, 1, "_CPPv4N10MainWindow22setCurrentMemoryWidgetEP16MemoryDockWidget", "MainWindow::setCurrentMemoryWidget"], [76, 2, 1, "_CPPv4N10MainWindow22setCurrentMemoryWidgetEP16MemoryDockWidget", "MainWindow::setCurrentMemoryWidget::memoryWidget"], [76, 1, 1, "_CPPv4N10MainWindow11setFilenameERK7QString", "MainWindow::setFilename"], [76, 2, 1, "_CPPv4N10MainWindow11setFilenameERK7QString", "MainWindow::setFilename::fn"], [76, 1, 1, "_CPPv4N10MainWindow14setTabLocationEv", "MainWindow::setTabLocation"], [76, 1, 1, "_CPPv4N10MainWindow16showMemoryWidgetE16MemoryWidgetType", "MainWindow::showMemoryWidget"], [76, 1, 1, "_CPPv4N10MainWindow16showMemoryWidgetEv", "MainWindow::showMemoryWidget"], [76, 2, 1, "_CPPv4N10MainWindow16showMemoryWidgetE16MemoryWidgetType", "MainWindow::showMemoryWidget::type"], [76, 1, 1, "_CPPv4N10MainWindow20showProjectSaveErrorE12RzProjectErr", "MainWindow::showProjectSaveError"], [76, 2, 1, "_CPPv4N10MainWindow20showProjectSaveErrorE12RzProjectErr", "MainWindow::showProjectSaveError::err"], [76, 1, 1, "_CPPv4N10MainWindow14toggleOverviewEbP11GraphWidget", "MainWindow::toggleOverview"], [76, 2, 1, "_CPPv4N10MainWindow14toggleOverviewEbP11GraphWidget", "MainWindow::toggleOverview::targetGraph"], [76, 2, 1, "_CPPv4N10MainWindow14toggleOverviewEbP11GraphWidget", "MainWindow::toggleOverview::visibility"], [76, 1, 1, "_CPPv4N10MainWindow16toggleResponsiveEb", "MainWindow::toggleResponsive"], [76, 2, 1, "_CPPv4N10MainWindow16toggleResponsiveEb", "MainWindow::toggleResponsive::maybe"], [76, 1, 1, "_CPPv4N10MainWindowD0Ev", "MainWindow::~MainWindow"], [147, 0, 1, "_CPPv413MapFileDialog", "MapFileDialog"], [147, 1, 1, "_CPPv4N13MapFileDialog13MapFileDialogEP7QWidget", "MapFileDialog::MapFileDialog"], [147, 2, 1, "_CPPv4N13MapFileDialog13MapFileDialogEP7QWidget", "MapFileDialog::MapFileDialog::parent"], [147, 1, 1, "_CPPv4N13MapFileDialogD0Ev", "MapFileDialog::~MapFileDialog"], [28, 0, 1, "_CPPv413MdHighlighter", "MdHighlighter"], [56, 0, 1, "_CPPv4N13MdHighlighter16HighlightingRuleE", "MdHighlighter::HighlightingRule"], [56, 3, 1, "_CPPv4N13MdHighlighter16HighlightingRule6formatE", "MdHighlighter::HighlightingRule::format"], [56, 3, 1, "_CPPv4N13MdHighlighter16HighlightingRule7patternE", "MdHighlighter::HighlightingRule::pattern"], [28, 1, 1, "_CPPv4N13MdHighlighter13MdHighlighterEP13QTextDocument", "MdHighlighter::MdHighlighter"], [28, 2, 1, "_CPPv4N13MdHighlighter13MdHighlighterEP13QTextDocument", "MdHighlighter::MdHighlighter::parent"], [265, 0, 1, "_CPPv410MemoryData", "MemoryData"], [265, 3, 1, "_CPPv4N10MemoryData10BLOCK_SIZEE", "MemoryData::BLOCK_SIZE"], [265, 1, 1, "_CPPv4N10MemoryData10MemoryDataEv", "MemoryData::MemoryData"], [265, 1, 1, "_CPPv4N10MemoryData4copyEPv8uint64_t6size_t", "MemoryData::copy"], [265, 2, 1, "_CPPv4N10MemoryData4copyEPv8uint64_t6size_t", "MemoryData::copy::addr"], [265, 2, 1, "_CPPv4N10MemoryData4copyEPv8uint64_t6size_t", "MemoryData::copy::len"], [265, 2, 1, "_CPPv4N10MemoryData4copyEPv8uint64_t6size_t", "MemoryData::copy::out"], [265, 1, 1, "_CPPv4N10MemoryData5fetchE8uint64_ti", "MemoryData::fetch"], [265, 2, 1, "_CPPv4N10MemoryData5fetchE8uint64_ti", "MemoryData::fetch::address"], [265, 2, 1, "_CPPv4N10MemoryData5fetchE8uint64_ti", "MemoryData::fetch::length"], [265, 1, 1, "_CPPv4N10MemoryData8maxIndexEv", "MemoryData::maxIndex"], [265, 1, 1, "_CPPv4N10MemoryData8minIndexEv", "MemoryData::minIndex"], [265, 1, 1, "_CPPv4N10MemoryData5writeEPK7uint8_t8uint64_t6size_t", "MemoryData::write"], [265, 2, 1, "_CPPv4N10MemoryData5writeEPK7uint8_t8uint64_t6size_t", "MemoryData::write::adr"], [265, 2, 1, "_CPPv4N10MemoryData5writeEPK7uint8_t8uint64_t6size_t", "MemoryData::write::in"], [265, 2, 1, "_CPPv4N10MemoryData5writeEPK7uint8_t8uint64_t6size_t", "MemoryData::write::len"], [265, 1, 1, "_CPPv4N10MemoryData12writeToCacheEPK7uint8_t8uint64_t6size_t", "MemoryData::writeToCache"], [265, 2, 1, "_CPPv4N10MemoryData12writeToCacheEPK7uint8_t8uint64_t6size_t", "MemoryData::writeToCache::adr"], [265, 2, 1, "_CPPv4N10MemoryData12writeToCacheEPK7uint8_t8uint64_t6size_t", "MemoryData::writeToCache::in"], [265, 2, 1, "_CPPv4N10MemoryData12writeToCacheEPK7uint8_t8uint64_t6size_t", "MemoryData::writeToCache::len"], [265, 1, 1, "_CPPv4N10MemoryDataD0Ev", "MemoryData::~MemoryData"], [266, 0, 1, "_CPPv416MemoryDockWidget", "MemoryDockWidget"], [266, 1, 1, "_CPPv4N16MemoryDockWidget16MemoryDockWidgetE16MemoryWidgetTypeP10MainWindow", "MemoryDockWidget::MemoryDockWidget"], [266, 2, 1, "_CPPv4N16MemoryDockWidget16MemoryDockWidgetE16MemoryWidgetTypeP10MainWindow", "MemoryDockWidget::MemoryDockWidget::parent"], [266, 2, 1, "_CPPv4N16MemoryDockWidget16MemoryDockWidgetE16MemoryWidgetTypeP10MainWindow", "MemoryDockWidget::MemoryDockWidget::type"], [266, 1, 1, "_CPPv4N16MemoryDockWidget11eventFilterEP7QObjectP6QEvent", "MemoryDockWidget::eventFilter"], [266, 2, 1, "_CPPv4N16MemoryDockWidget11eventFilterEP7QObjectP6QEvent", "MemoryDockWidget::eventFilter::event"], [266, 2, 1, "_CPPv4N16MemoryDockWidget11eventFilterEP7QObjectP6QEvent", "MemoryDockWidget::eventFilter::object"], [266, 1, 1, "_CPPv4NK16MemoryDockWidget7getTypeEv", "MemoryDockWidget::getType"], [266, 1, 1, "_CPPv4N16MemoryDockWidget20tryRaiseMemoryWidgetEv", "MemoryDockWidget::tryRaiseMemoryWidget"], [266, 1, 1, "_CPPv4N16MemoryDockWidgetD0Ev", "MemoryDockWidget::~MemoryDockWidget"], [104, 0, 1, "_CPPv420MemoryMapDescription", "MemoryMapDescription"], [104, 3, 1, "_CPPv4N20MemoryMapDescription7addrEndE", "MemoryMapDescription::addrEnd"], [104, 3, 1, "_CPPv4N20MemoryMapDescription9addrStartE", "MemoryMapDescription::addrStart"], [104, 3, 1, "_CPPv4N20MemoryMapDescription8fileNameE", "MemoryMapDescription::fileName"], [104, 3, 1, "_CPPv4N20MemoryMapDescription4nameE", "MemoryMapDescription::name"], [104, 3, 1, "_CPPv4N20MemoryMapDescription10permissionE", "MemoryMapDescription::permission"], [104, 3, 1, "_CPPv4N20MemoryMapDescription4typeE", "MemoryMapDescription::type"], [267, 0, 1, "_CPPv414MemoryMapModel", "MemoryMapModel"], [267, 6, 1, "_CPPv4N14MemoryMapModel6Column13AddrEndColumnE", "MemoryMapModel::AddrEndColumn"], [267, 6, 1, "_CPPv4N14MemoryMapModel6Column15AddrStartColumnE", "MemoryMapModel::AddrStartColumn"], [267, 5, 1, "_CPPv4N14MemoryMapModel6ColumnE", "MemoryMapModel::Column"], [267, 6, 1, "_CPPv4N14MemoryMapModel6Column13AddrEndColumnE", "MemoryMapModel::Column::AddrEndColumn"], [267, 6, 1, "_CPPv4N14MemoryMapModel6Column15AddrStartColumnE", "MemoryMapModel::Column::AddrStartColumn"], [267, 6, 1, "_CPPv4N14MemoryMapModel6Column11ColumnCountE", "MemoryMapModel::Column::ColumnCount"], [267, 6, 1, "_CPPv4N14MemoryMapModel6Column13CommentColumnE", "MemoryMapModel::Column::CommentColumn"], [267, 6, 1, "_CPPv4N14MemoryMapModel6Column10NameColumnE", "MemoryMapModel::Column::NameColumn"], [267, 6, 1, "_CPPv4N14MemoryMapModel6Column10PermColumnE", "MemoryMapModel::Column::PermColumn"], [267, 6, 1, "_CPPv4N14MemoryMapModel6Column11ColumnCountE", "MemoryMapModel::ColumnCount"], [267, 6, 1, "_CPPv4N14MemoryMapModel6Column13CommentColumnE", "MemoryMapModel::CommentColumn"], [267, 6, 1, "_CPPv4N14MemoryMapModel4Role21MemoryDescriptionRoleE", "MemoryMapModel::MemoryDescriptionRole"], [267, 1, 1, "_CPPv4N14MemoryMapModel14MemoryMapModelEP5QListI20MemoryMapDescriptionEP7QObject", "MemoryMapModel::MemoryMapModel"], [267, 2, 1, "_CPPv4N14MemoryMapModel14MemoryMapModelEP5QListI20MemoryMapDescriptionEP7QObject", "MemoryMapModel::MemoryMapModel::memoryMaps"], [267, 2, 1, "_CPPv4N14MemoryMapModel14MemoryMapModelEP5QListI20MemoryMapDescriptionEP7QObject", "MemoryMapModel::MemoryMapModel::parent"], [267, 6, 1, "_CPPv4N14MemoryMapModel6Column10NameColumnE", "MemoryMapModel::NameColumn"], [267, 6, 1, "_CPPv4N14MemoryMapModel6Column10PermColumnE", "MemoryMapModel::PermColumn"], [267, 5, 1, "_CPPv4N14MemoryMapModel4RoleE", "MemoryMapModel::Role"], [267, 6, 1, "_CPPv4N14MemoryMapModel4Role21MemoryDescriptionRoleE", "MemoryMapModel::Role::MemoryDescriptionRole"], [267, 1, 1, "_CPPv4NK14MemoryMapModel7addressERK11QModelIndex", "MemoryMapModel::address"], [267, 2, 1, "_CPPv4NK14MemoryMapModel7addressERK11QModelIndex", "MemoryMapModel::address::index"], [267, 1, 1, "_CPPv4NK14MemoryMapModel11columnCountERK11QModelIndex", "MemoryMapModel::columnCount"], [267, 2, 1, "_CPPv4NK14MemoryMapModel11columnCountERK11QModelIndex", "MemoryMapModel::columnCount::parent"], [267, 1, 1, "_CPPv4NK14MemoryMapModel4dataERK11QModelIndexi", "MemoryMapModel::data"], [267, 2, 1, "_CPPv4NK14MemoryMapModel4dataERK11QModelIndexi", "MemoryMapModel::data::index"], [267, 2, 1, "_CPPv4NK14MemoryMapModel4dataERK11QModelIndexi", "MemoryMapModel::data::role"], [267, 1, 1, "_CPPv4NK14MemoryMapModel10headerDataEiN2Qt11OrientationEi", "MemoryMapModel::headerData"], [267, 2, 1, "_CPPv4NK14MemoryMapModel10headerDataEiN2Qt11OrientationEi", "MemoryMapModel::headerData::orientation"], [267, 2, 1, "_CPPv4NK14MemoryMapModel10headerDataEiN2Qt11OrientationEi", "MemoryMapModel::headerData::role"], [267, 2, 1, "_CPPv4NK14MemoryMapModel10headerDataEiN2Qt11OrientationEi", "MemoryMapModel::headerData::section"], [267, 1, 1, "_CPPv4NK14MemoryMapModel8rowCountERK11QModelIndex", "MemoryMapModel::rowCount"], [267, 2, 1, "_CPPv4NK14MemoryMapModel8rowCountERK11QModelIndex", "MemoryMapModel::rowCount::parent"], [268, 0, 1, "_CPPv415MemoryMapWidget", "MemoryMapWidget"], [268, 1, 1, "_CPPv4N15MemoryMapWidget15MemoryMapWidgetEP10MainWindow", "MemoryMapWidget::MemoryMapWidget"], [268, 2, 1, "_CPPv4N15MemoryMapWidget15MemoryMapWidgetEP10MainWindow", "MemoryMapWidget::MemoryMapWidget::main"], [268, 1, 1, "_CPPv4N15MemoryMapWidgetD0Ev", "MemoryMapWidget::~MemoryMapWidget"], [269, 0, 1, "_CPPv416MemoryProxyModel", "MemoryProxyModel"], [269, 1, 1, "_CPPv4N16MemoryProxyModel16MemoryProxyModelEP14MemoryMapModelP7QObject", "MemoryProxyModel::MemoryProxyModel"], [269, 2, 1, "_CPPv4N16MemoryProxyModel16MemoryProxyModelEP14MemoryMapModelP7QObject", "MemoryProxyModel::MemoryProxyModel::parent"], [269, 2, 1, "_CPPv4N16MemoryProxyModel16MemoryProxyModelEP14MemoryMapModelP7QObject", "MemoryProxyModel::MemoryProxyModel::sourceModel"], [57, 0, 1, "_CPPv4I0E7Metrics", "Metrics"], [57, 4, 1, "_CPPv4I0E7Metrics", "Metrics::T"], [58, 0, 1, "_CPPv4IE7MetricsIiE", "Metrics<int>"], [58, 7, 1, "_CPPv4N7MetricsIiE11FontMetricsE", "Metrics<int>::FontMetrics"], [58, 7, 1, "_CPPv4N7MetricsIiE4RectE", "Metrics<int>::Rect"], [59, 0, 1, "_CPPv4IE7MetricsI5qrealE", "Metrics<qreal>"], [59, 7, 1, "_CPPv4N7MetricsI5qrealE11FontMetricsE", "Metrics<qreal>::FontMetrics"], [59, 7, 1, "_CPPv4N7MetricsI5qrealE4RectE", "Metrics<qreal>::Rect"], [29, 0, 1, "_CPPv4I0E20MinMaxAccumulateTree", "MinMaxAccumulateTree"], [29, 4, 1, "_CPPv4I0E20MinMaxAccumulateTree", "MinMaxAccumulateTree::IntegerType"], [29, 1, 1, "_CPPv4N20MinMaxAccumulateTree20MinMaxAccumulateTreeE6size_t9ValueType", "MinMaxAccumulateTree::MinMaxAccumulateTree"], [29, 2, 1, "_CPPv4N20MinMaxAccumulateTree20MinMaxAccumulateTreeE6size_t9ValueType", "MinMaxAccumulateTree::MinMaxAccumulateTree::initialValue"], [29, 2, 1, "_CPPv4N20MinMaxAccumulateTree20MinMaxAccumulateTreeE6size_t9ValueType", "MinMaxAccumulateTree::MinMaxAccumulateTree::size"], [29, 1, 1, "_CPPv4N20MinMaxAccumulateTree8pushDownE12NodePosition", "MinMaxAccumulateTree::pushDown"], [29, 2, 1, "_CPPv4N20MinMaxAccumulateTree8pushDownE12NodePosition", "MinMaxAccumulateTree::pushDown::parent"], [29, 1, 1, "_CPPv4N20MinMaxAccumulateTree11rangeMinMaxE6size_t6size_t", "MinMaxAccumulateTree::rangeMinMax"], [29, 2, 1, "_CPPv4N20MinMaxAccumulateTree11rangeMinMaxE6size_t6size_t", "MinMaxAccumulateTree::rangeMinMax::l"], [29, 2, 1, "_CPPv4N20MinMaxAccumulateTree11rangeMinMaxE6size_t6size_t", "MinMaxAccumulateTree::rangeMinMax::r"], [29, 1, 1, "_CPPv4N20MinMaxAccumulateTree18updateFromChildrenER8NodeTypeRK8NodeTypeRK8NodeType", "MinMaxAccumulateTree::updateFromChildren"], [29, 2, 1, "_CPPv4N20MinMaxAccumulateTree18updateFromChildrenER8NodeTypeRK8NodeTypeRK8NodeType", "MinMaxAccumulateTree::updateFromChildren::left"], [29, 2, 1, "_CPPv4N20MinMaxAccumulateTree18updateFromChildrenER8NodeTypeRK8NodeTypeRK8NodeType", "MinMaxAccumulateTree::updateFromChildren::parent"], [29, 2, 1, "_CPPv4N20MinMaxAccumulateTree18updateFromChildrenER8NodeTypeRK8NodeTypeRK8NodeType", "MinMaxAccumulateTree::updateFromChildren::right"], [29, 1, 1, "_CPPv4N20MinMaxAccumulateTree11updateRangeE6size_t6size_t11IntegerType", "MinMaxAccumulateTree::updateRange"], [29, 2, 1, "_CPPv4N20MinMaxAccumulateTree11updateRangeE6size_t6size_t11IntegerType", "MinMaxAccumulateTree::updateRange::left"], [29, 2, 1, "_CPPv4N20MinMaxAccumulateTree11updateRangeE6size_t6size_t11IntegerType", "MinMaxAccumulateTree::updateRange::right"], [29, 2, 1, "_CPPv4N20MinMaxAccumulateTree11updateRangeE6size_t6size_t11IntegerType", "MinMaxAccumulateTree::updateRange::value"], [148, 0, 1, "_CPPv423MultitypeFileSaveDialog", "MultitypeFileSaveDialog"], [148, 1, 1, "_CPPv4N23MultitypeFileSaveDialog23MultitypeFileSaveDialogEP7QWidgetRK7QStringRK7QString", "MultitypeFileSaveDialog::MultitypeFileSaveDialog"], [148, 2, 1, "_CPPv4N23MultitypeFileSaveDialog23MultitypeFileSaveDialogEP7QWidgetRK7QStringRK7QString", "MultitypeFileSaveDialog::MultitypeFileSaveDialog::caption"], [148, 2, 1, "_CPPv4N23MultitypeFileSaveDialog23MultitypeFileSaveDialogEP7QWidgetRK7QStringRK7QString", "MultitypeFileSaveDialog::MultitypeFileSaveDialog::directory"], [148, 2, 1, "_CPPv4N23MultitypeFileSaveDialog23MultitypeFileSaveDialogEP7QWidgetRK7QStringRK7QString", "MultitypeFileSaveDialog::MultitypeFileSaveDialog::parent"], [148, 0, 1, "_CPPv4N23MultitypeFileSaveDialog15TypeDescriptionE", "MultitypeFileSaveDialog::TypeDescription"], [165, 0, 1, "_CPPv4N23MultitypeFileSaveDialog15TypeDescriptionE", "MultitypeFileSaveDialog::TypeDescription"], [148, 3, 1, "_CPPv4N23MultitypeFileSaveDialog15TypeDescription4dataE", "MultitypeFileSaveDialog::TypeDescription::data"], [165, 3, 1, "_CPPv4N23MultitypeFileSaveDialog15TypeDescription4dataE", "MultitypeFileSaveDialog::TypeDescription::data"], [148, 3, 1, "_CPPv4N23MultitypeFileSaveDialog15TypeDescription11descriptionE", "MultitypeFileSaveDialog::TypeDescription::description"], [165, 3, 1, "_CPPv4N23MultitypeFileSaveDialog15TypeDescription11descriptionE", "MultitypeFileSaveDialog::TypeDescription::description"], [148, 3, 1, "_CPPv4N23MultitypeFileSaveDialog15TypeDescription9extensionE", "MultitypeFileSaveDialog::TypeDescription::extension"], [165, 3, 1, "_CPPv4N23MultitypeFileSaveDialog15TypeDescription9extensionE", "MultitypeFileSaveDialog::TypeDescription::extension"], [148, 1, 1, "_CPPv4NK23MultitypeFileSaveDialog12selectedTypeEv", "MultitypeFileSaveDialog::selectedType"], [148, 1, 1, "_CPPv4N23MultitypeFileSaveDialog8setTypesEK7QVectorI15TypeDescriptionEb", "MultitypeFileSaveDialog::setTypes"], [148, 2, 1, "_CPPv4N23MultitypeFileSaveDialog8setTypesEK7QVectorI15TypeDescriptionEb", "MultitypeFileSaveDialog::setTypes::types"], [148, 2, 1, "_CPPv4N23MultitypeFileSaveDialog8setTypesEK7QVectorI15TypeDescriptionEb", "MultitypeFileSaveDialog::setTypes::useDetection"], [149, 0, 1, "_CPPv417NativeDebugDialog", "NativeDebugDialog"], [149, 1, 1, "_CPPv4N17NativeDebugDialog17NativeDebugDialogEP7QWidget", "NativeDebugDialog::NativeDebugDialog"], [149, 2, 1, "_CPPv4N17NativeDebugDialog17NativeDebugDialogEP7QWidget", "NativeDebugDialog::NativeDebugDialog::parent"], [149, 1, 1, "_CPPv4NK17NativeDebugDialog7getArgsEv", "NativeDebugDialog::getArgs"], [149, 1, 1, "_CPPv4N17NativeDebugDialog7setArgsERK7QString", "NativeDebugDialog::setArgs"], [149, 2, 1, "_CPPv4N17NativeDebugDialog7setArgsERK7QString", "NativeDebugDialog::setArgs::args"], [149, 1, 1, "_CPPv4N17NativeDebugDialogD0Ev", "NativeDebugDialog::~NativeDebugDialog"], [150, 0, 1, "_CPPv413NewFileDialog", "NewFileDialog"], [150, 1, 1, "_CPPv4N13NewFileDialog13NewFileDialogEP10MainWindow", "NewFileDialog::NewFileDialog"], [150, 2, 1, "_CPPv4N13NewFileDialog13NewFileDialogEP10MainWindow", "NewFileDialog::NewFileDialog::main"], [150, 1, 1, "_CPPv4N13NewFileDialogD0Ev", "NewFileDialog::~NewFileDialog"], [270, 0, 1, "_CPPv47Omnibar", "Omnibar"], [270, 1, 1, "_CPPv4N7Omnibar7OmnibarEP10MainWindowP7QWidget", "Omnibar::Omnibar"], [270, 2, 1, "_CPPv4N7Omnibar7OmnibarEP10MainWindowP7QWidget", "Omnibar::Omnibar::main"], [270, 2, 1, "_CPPv4N7Omnibar7OmnibarEP10MainWindowP7QWidget", "Omnibar::Omnibar::parent"], [270, 1, 1, "_CPPv4N7Omnibar5clearEv", "Omnibar::clear"], [270, 1, 1, "_CPPv4N7Omnibar7refreshERK11QStringList", "Omnibar::refresh"], [270, 2, 1, "_CPPv4N7Omnibar7refreshERK11QStringList", "Omnibar::refresh::flagList"], [336, 0, 1, "_CPPv410OptionInfo", "OptionInfo"], [336, 3, 1, "_CPPv4N10OptionInfo14displayingtextE", "OptionInfo::displayingtext"], [336, 3, 1, "_CPPv4N10OptionInfo4infoE", "OptionInfo::info"], [271, 0, 1, "_CPPv412OverviewView", "OverviewView"], [271, 1, 1, "_CPPv4N12OverviewView12OverviewViewEP7QWidget", "OverviewView::OverviewView"], [271, 2, 1, "_CPPv4N12OverviewView12OverviewViewEP7QWidget", "OverviewView::OverviewView::parent"], [271, 1, 1, "_CPPv4N12OverviewView10centreRectEv", "OverviewView::centreRect"], [271, 3, 1, "_CPPv4N12OverviewView14currentFcnAddrE", "OverviewView::currentFcnAddr"], [271, 1, 1, "_CPPv4N12OverviewView12getRangeRectEv", "OverviewView::getRangeRect"], [271, 1, 1, "_CPPv4N12OverviewView10mouseMovedEv", "OverviewView::mouseMoved"], [271, 1, 1, "_CPPv4N12OverviewView11refreshViewEv", "OverviewView::refreshView"], [271, 1, 1, "_CPPv4N12OverviewView7setDataEiiNSt13unordered_mapI4ut6410GraphBlockEEN21DisassemblerGraphView24EdgeConfigurationMappingE", "OverviewView::setData"], [271, 2, 1, "_CPPv4N12OverviewView7setDataEiiNSt13unordered_mapI4ut6410GraphBlockEEN21DisassemblerGraphView24EdgeConfigurationMappingE", "OverviewView::setData::baseBlocks"], [271, 2, 1, "_CPPv4N12OverviewView7setDataEiiNSt13unordered_mapI4ut6410GraphBlockEEN21DisassemblerGraphView24EdgeConfigurationMappingE", "OverviewView::setData::baseEdgeConfigurations"], [271, 2, 1, "_CPPv4N12OverviewView7setDataEiiNSt13unordered_mapI4ut6410GraphBlockEEN21DisassemblerGraphView24EdgeConfigurationMappingE", "OverviewView::setData::baseHeight"], [271, 2, 1, "_CPPv4N12OverviewView7setDataEiiNSt13unordered_mapI4ut6410GraphBlockEEN21DisassemblerGraphView24EdgeConfigurationMappingE", "OverviewView::setData::baseWidth"], [271, 1, 1, "_CPPv4N12OverviewView12setRangeRectE6QRectF", "OverviewView::setRangeRect"], [271, 2, 1, "_CPPv4N12OverviewView12setRangeRectE6QRectF", "OverviewView::setRangeRect::rect"], [271, 1, 1, "_CPPv4N12OverviewViewD0Ev", "OverviewView::~OverviewView"], [272, 0, 1, "_CPPv414OverviewWidget", "OverviewWidget"], [272, 1, 1, "_CPPv4N14OverviewWidget14OverviewWidgetEP10MainWindow", "OverviewWidget::OverviewWidget"], [272, 2, 1, "_CPPv4N14OverviewWidget14OverviewWidgetEP10MainWindow", "OverviewWidget::OverviewWidget::main"], [272, 1, 1, "_CPPv4NK14OverviewWidget12getGraphViewEv", "OverviewWidget::getGraphView"], [272, 1, 1, "_CPPv4NK14OverviewWidget14getIsAvailableEv", "OverviewWidget::getIsAvailable"], [272, 1, 1, "_CPPv4N14OverviewWidget20getTargetGraphWidgetEv", "OverviewWidget::getTargetGraphWidget"], [272, 1, 1, "_CPPv4NK14OverviewWidget13getUserOpenedEv", "OverviewWidget::getUserOpened"], [272, 1, 1, "_CPPv4N14OverviewWidget18isAvailableChangedEb", "OverviewWidget::isAvailableChanged"], [272, 2, 1, "_CPPv4N14OverviewWidget18isAvailableChangedEb", "OverviewWidget::isAvailableChanged::isAvailable"], [272, 1, 1, "_CPPv4N14OverviewWidget7resizedEv", "OverviewWidget::resized"], [272, 1, 1, "_CPPv4N14OverviewWidget20setTargetGraphWidgetEP11GraphWidget", "OverviewWidget::setTargetGraphWidget"], [272, 2, 1, "_CPPv4N14OverviewWidget20setTargetGraphWidgetEP11GraphWidget", "OverviewWidget::setTargetGraphWidget::widget"], [272, 1, 1, "_CPPv4N14OverviewWidget17userOpenedChangedEb", "OverviewWidget::userOpenedChanged"], [272, 2, 1, "_CPPv4N14OverviewWidget17userOpenedChangedEb", "OverviewWidget::userOpenedChanged::userOpened"], [272, 1, 1, "_CPPv4N14OverviewWidget10wheelEventEP11QWheelEvent", "OverviewWidget::wheelEvent"], [272, 2, 1, "_CPPv4N14OverviewWidget10wheelEventEP11QWheelEvent", "OverviewWidget::wheelEvent::event"], [272, 1, 1, "_CPPv4N14OverviewWidgetD0Ev", "OverviewWidget::~OverviewWidget"], [175, 0, 1, "_CPPv413PluginManager", "PluginManager"], [175, 1, 1, "_CPPv4N13PluginManager13PluginManagerEv", "PluginManager::PluginManager"], [175, 7, 1, "_CPPv4N13PluginManager9PluginPtrE", "PluginManager::PluginPtr"], [175, 0, 1, "_CPPv4N13PluginManager16PluginTerminatorE", "PluginManager::PluginTerminator"], [176, 0, 1, "_CPPv4N13PluginManager16PluginTerminatorE", "PluginManager::PluginTerminator"], [175, 1, 1, "_CPPv4NK13PluginManager16PluginTerminatorclEP12CutterPlugin", "PluginManager::PluginTerminator::operator()"], [176, 1, 1, "_CPPv4NK13PluginManager16PluginTerminatorclEP12CutterPlugin", "PluginManager::PluginTerminator::operator()"], [175, 1, 1, "_CPPv4N13PluginManager14destroyPluginsEv", "PluginManager::destroyPlugins"], [175, 1, 1, "_CPPv4N13PluginManager11getInstanceEv", "PluginManager::getInstance"], [175, 1, 1, "_CPPv4NK13PluginManager20getPluginDirectoriesEv", "PluginManager::getPluginDirectories"], [175, 1, 1, "_CPPv4N13PluginManager10getPluginsEv", "PluginManager::getPlugins"], [175, 1, 1, "_CPPv4NK13PluginManager23getUserPluginsDirectoryEv", "PluginManager::getUserPluginsDirectory"], [175, 1, 1, "_CPPv4N13PluginManager11loadPluginsEb", "PluginManager::loadPlugins"], [175, 2, 1, "_CPPv4N13PluginManager11loadPluginsEb", "PluginManager::loadPlugins::enablePlugins"], [175, 1, 1, "_CPPv4N13PluginManagerD0Ev", "PluginManager::~PluginManager"], [30, 0, 1, "_CPPv415PointSetMinTree", "PointSetMinTree"], [30, 7, 1, "_CPPv4N15PointSetMinTree8NodeTypeE", "PointSetMinTree::NodeType"], [30, 1, 1, "_CPPv4N15PointSetMinTree16leftMostLessThanE6size_ti", "PointSetMinTree::leftMostLessThan"], [30, 2, 1, "_CPPv4N15PointSetMinTree16leftMostLessThanE6size_ti", "PointSetMinTree::leftMostLessThan::position"], [30, 2, 1, "_CPPv4N15PointSetMinTree16leftMostLessThanE6size_ti", "PointSetMinTree::leftMostLessThan::value"], [30, 1, 1, "_CPPv4N15PointSetMinTree17rightMostLessThanE6size_ti", "PointSetMinTree::rightMostLessThan"], [30, 2, 1, "_CPPv4N15PointSetMinTree17rightMostLessThanE6size_ti", "PointSetMinTree::rightMostLessThan::position"], [30, 2, 1, "_CPPv4N15PointSetMinTree17rightMostLessThanE6size_ti", "PointSetMinTree::rightMostLessThan::value"], [30, 1, 1, "_CPPv4N15PointSetMinTree18updateFromChildrenER8NodeTypeR8NodeTypeR8NodeType", "PointSetMinTree::updateFromChildren"], [30, 2, 1, "_CPPv4N15PointSetMinTree18updateFromChildrenER8NodeTypeR8NodeTypeR8NodeType", "PointSetMinTree::updateFromChildren::leftChild"], [30, 2, 1, "_CPPv4N15PointSetMinTree18updateFromChildrenER8NodeTypeR8NodeTypeR8NodeType", "PointSetMinTree::updateFromChildren::parent"], [30, 2, 1, "_CPPv4N15PointSetMinTree18updateFromChildrenER8NodeTypeR8NodeTypeR8NodeType", "PointSetMinTree::updateFromChildren::rightChild"], [31, 0, 1, "_CPPv4I00E19PointSetSegmentTree", "PointSetSegmentTree"], [31, 4, 1, "_CPPv4I00E19PointSetSegmentTree", "PointSetSegmentTree::FinalType"], [31, 4, 1, "_CPPv4I00E19PointSetSegmentTree", "PointSetSegmentTree::NodeType"], [31, 1, 1, "_CPPv4N19PointSetSegmentTree3setE6size_tRK8NodeType", "PointSetSegmentTree::set"], [31, 2, 1, "_CPPv4N19PointSetSegmentTree3setE6size_tRK8NodeType", "PointSetSegmentTree::set::index"], [31, 2, 1, "_CPPv4N19PointSetSegmentTree3setE6size_tRK8NodeType", "PointSetSegmentTree::set::value"], [31, 1, 1, "_CPPv4NK19PointSetSegmentTree12valueAtPointE6size_t", "PointSetSegmentTree::valueAtPoint"], [31, 2, 1, "_CPPv4NK19PointSetSegmentTree12valueAtPointE6size_t", "PointSetSegmentTree::valueAtPoint::index"], [151, 0, 1, "_CPPv430ProcessBeingAnalysedProxyModel", "ProcessBeingAnalysedProxyModel"], [151, 1, 1, "_CPPv4N30ProcessBeingAnalysedProxyModel30ProcessBeingAnalysedProxyModelEP12ProcessModelP7QObject", "ProcessBeingAnalysedProxyModel::ProcessBeingAnalysedProxyModel"], [151, 2, 1, "_CPPv4N30ProcessBeingAnalysedProxyModel30ProcessBeingAnalysedProxyModelEP12ProcessModelP7QObject", "ProcessBeingAnalysedProxyModel::ProcessBeingAnalysedProxyModel::parent"], [151, 2, 1, "_CPPv4N30ProcessBeingAnalysedProxyModel30ProcessBeingAnalysedProxyModelEP12ProcessModelP7QObject", "ProcessBeingAnalysedProxyModel::ProcessBeingAnalysedProxyModel::sourceModel"], [105, 0, 1, "_CPPv418ProcessDescription", "ProcessDescription"], [105, 3, 1, "_CPPv4N18ProcessDescription7currentE", "ProcessDescription::current"], [105, 3, 1, "_CPPv4N18ProcessDescription4pathE", "ProcessDescription::path"], [105, 3, 1, "_CPPv4N18ProcessDescription3pidE", "ProcessDescription::pid"], [105, 3, 1, "_CPPv4N18ProcessDescription4ppidE", "ProcessDescription::ppid"], [105, 3, 1, "_CPPv4N18ProcessDescription6statusE", "ProcessDescription::status"], [105, 3, 1, "_CPPv4N18ProcessDescription3uidE", "ProcessDescription::uid"], [152, 0, 1, "_CPPv412ProcessModel", "ProcessModel"], [152, 5, 1, "_CPPv4N12ProcessModel6ColumnE", "ProcessModel::Column"], [152, 6, 1, "_CPPv4N12ProcessModel6Column11ColumnCountE", "ProcessModel::Column::ColumnCount"], [152, 6, 1, "_CPPv4N12ProcessModel6Column10PathColumnE", "ProcessModel::Column::PathColumn"], [152, 6, 1, "_CPPv4N12ProcessModel6Column9PidColumnE", "ProcessModel::Column::PidColumn"], [152, 6, 1, "_CPPv4N12ProcessModel6Column12StatusColumnE", "ProcessModel::Column::StatusColumn"], [152, 6, 1, "_CPPv4N12ProcessModel6Column9UidColumnE", "ProcessModel::Column::UidColumn"], [152, 6, 1, "_CPPv4N12ProcessModel6Column11ColumnCountE", "ProcessModel::ColumnCount"], [152, 6, 1, "_CPPv4N12ProcessModel6Column10PathColumnE", "ProcessModel::PathColumn"], [152, 6, 1, "_CPPv4N12ProcessModel6Column9PidColumnE", "ProcessModel::PidColumn"], [152, 6, 1, "_CPPv4N12ProcessModel4Role19ProcDescriptionRoleE", "ProcessModel::ProcDescriptionRole"], [152, 1, 1, "_CPPv4N12ProcessModel12ProcessModelEP7QObject", "ProcessModel::ProcessModel"], [152, 2, 1, "_CPPv4N12ProcessModel12ProcessModelEP7QObject", "ProcessModel::ProcessModel::parent"], [152, 5, 1, "_CPPv4N12ProcessModel4RoleE", "ProcessModel::Role"], [152, 6, 1, "_CPPv4N12ProcessModel4Role19ProcDescriptionRoleE", "ProcessModel::Role::ProcDescriptionRole"], [152, 6, 1, "_CPPv4N12ProcessModel6Column12StatusColumnE", "ProcessModel::StatusColumn"], [152, 6, 1, "_CPPv4N12ProcessModel6Column9UidColumnE", "ProcessModel::UidColumn"], [152, 1, 1, "_CPPv4NK12ProcessModel11columnCountERK11QModelIndex", "ProcessModel::columnCount"], [152, 2, 1, "_CPPv4NK12ProcessModel11columnCountERK11QModelIndex", "ProcessModel::columnCount::parent"], [152, 1, 1, "_CPPv4NK12ProcessModel4dataERK11QModelIndexi", "ProcessModel::data"], [152, 2, 1, "_CPPv4NK12ProcessModel4dataERK11QModelIndexi", "ProcessModel::data::index"], [152, 2, 1, "_CPPv4NK12ProcessModel4dataERK11QModelIndexi", "ProcessModel::data::role"], [152, 1, 1, "_CPPv4NK12ProcessModel10headerDataEiN2Qt11OrientationEi", "ProcessModel::headerData"], [152, 2, 1, "_CPPv4NK12ProcessModel10headerDataEiN2Qt11OrientationEi", "ProcessModel::headerData::orientation"], [152, 2, 1, "_CPPv4NK12ProcessModel10headerDataEiN2Qt11OrientationEi", "ProcessModel::headerData::role"], [152, 2, 1, "_CPPv4NK12ProcessModel10headerDataEiN2Qt11OrientationEi", "ProcessModel::headerData::section"], [152, 1, 1, "_CPPv4N12ProcessModel8lessThanERK18ProcessDescriptionRK18ProcessDescriptioni", "ProcessModel::lessThan"], [152, 2, 1, "_CPPv4N12ProcessModel8lessThanERK18ProcessDescriptionRK18ProcessDescriptioni", "ProcessModel::lessThan::column"], [152, 2, 1, "_CPPv4N12ProcessModel8lessThanERK18ProcessDescriptionRK18ProcessDescriptioni", "ProcessModel::lessThan::left"], [152, 2, 1, "_CPPv4N12ProcessModel8lessThanERK18ProcessDescriptionRK18ProcessDescriptioni", "ProcessModel::lessThan::right"], [152, 1, 1, "_CPPv4NK12ProcessModel8rowCountERK11QModelIndex", "ProcessModel::rowCount"], [152, 2, 1, "_CPPv4NK12ProcessModel8rowCountERK11QModelIndex", "ProcessModel::rowCount::parent"], [152, 1, 1, "_CPPv4N12ProcessModel10updateDataEv", "ProcessModel::updateData"], [153, 0, 1, "_CPPv417ProcessProxyModel", "ProcessProxyModel"], [153, 1, 1, "_CPPv4N17ProcessProxyModel17ProcessProxyModelEP12ProcessModelP7QObject", "ProcessProxyModel::ProcessProxyModel"], [153, 2, 1, "_CPPv4N17ProcessProxyModel17ProcessProxyModelEP12ProcessModelP7QObject", "ProcessProxyModel::ProcessProxyModel::parent"], [153, 2, 1, "_CPPv4N17ProcessProxyModel17ProcessProxyModelEP12ProcessModelP7QObject", "ProcessProxyModel::ProcessProxyModel::sourceModel"], [273, 0, 1, "_CPPv420ProcessesFilterModel", "ProcessesFilterModel"], [273, 1, 1, "_CPPv4N20ProcessesFilterModel20ProcessesFilterModelEP7QObject", "ProcessesFilterModel::ProcessesFilterModel"], [273, 2, 1, "_CPPv4N20ProcessesFilterModel20ProcessesFilterModelEP7QObject", "ProcessesFilterModel::ProcessesFilterModel::parent"], [274, 0, 1, "_CPPv415ProcessesWidget", "ProcessesWidget"], [274, 6, 1, "_CPPv4N15ProcessesWidget11ColumnIndex11COLUMN_PATHE", "ProcessesWidget::COLUMN_PATH"], [274, 6, 1, "_CPPv4N15ProcessesWidget11ColumnIndex10COLUMN_PIDE", "ProcessesWidget::COLUMN_PID"], [274, 6, 1, "_CPPv4N15ProcessesWidget11ColumnIndex13COLUMN_STATUSE", "ProcessesWidget::COLUMN_STATUS"], [274, 6, 1, "_CPPv4N15ProcessesWidget11ColumnIndex10COLUMN_UIDE", "ProcessesWidget::COLUMN_UID"], [274, 5, 1, "_CPPv4N15ProcessesWidget11ColumnIndexE", "ProcessesWidget::ColumnIndex"], [274, 6, 1, "_CPPv4N15ProcessesWidget11ColumnIndex11COLUMN_PATHE", "ProcessesWidget::ColumnIndex::COLUMN_PATH"], [274, 6, 1, "_CPPv4N15ProcessesWidget11ColumnIndex10COLUMN_PIDE", "ProcessesWidget::ColumnIndex::COLUMN_PID"], [274, 6, 1, "_CPPv4N15ProcessesWidget11ColumnIndex13COLUMN_STATUSE", "ProcessesWidget::ColumnIndex::COLUMN_STATUS"], [274, 6, 1, "_CPPv4N15ProcessesWidget11ColumnIndex10COLUMN_UIDE", "ProcessesWidget::ColumnIndex::COLUMN_UID"], [274, 1, 1, "_CPPv4N15ProcessesWidget15ProcessesWidgetEP10MainWindow", "ProcessesWidget::ProcessesWidget"], [274, 2, 1, "_CPPv4N15ProcessesWidget15ProcessesWidgetEP10MainWindow", "ProcessesWidget::ProcessesWidget::main"], [274, 1, 1, "_CPPv4N15ProcessesWidgetD0Ev", "ProcessesWidget::~ProcessesWidget"], [32, 0, 1, "_CPPv417ProgressIndicator", "ProgressIndicator"], [32, 1, 1, "_CPPv4N17ProgressIndicator17ProgressIndicatorEP7QWidget", "ProgressIndicator::ProgressIndicator"], [32, 2, 1, "_CPPv4N17ProgressIndicator17ProgressIndicatorEP7QWidget", "ProgressIndicator::ProgressIndicator::parent"], [32, 1, 1, "_CPPv4NK17ProgressIndicator12getAnimatingEv", "ProgressIndicator::getAnimating"], [32, 1, 1, "_CPPv4NK17ProgressIndicator27getProgressIndicatorVisibleEv", "ProgressIndicator::getProgressIndicatorVisible"], [32, 1, 1, "_CPPv4NK17ProgressIndicator15minimumSizeHintEv", "ProgressIndicator::minimumSizeHint"], [32, 1, 1, "_CPPv4N17ProgressIndicator12setAnimatingEb", "ProgressIndicator::setAnimating"], [32, 2, 1, "_CPPv4N17ProgressIndicator12setAnimatingEb", "ProgressIndicator::setAnimating::animating"], [32, 1, 1, "_CPPv4N17ProgressIndicator27setProgressIndicatorVisibleEb", "ProgressIndicator::setProgressIndicatorVisible"], [32, 2, 1, "_CPPv4N17ProgressIndicator27setProgressIndicatorVisibleEb", "ProgressIndicator::setProgressIndicatorVisible::visible"], [32, 1, 1, "_CPPv4NK17ProgressIndicator8sizeHintEv", "ProgressIndicator::sizeHint"], [32, 1, 1, "_CPPv4N17ProgressIndicatorD0Ev", "ProgressIndicator::~ProgressIndicator"], [275, 0, 1, "_CPPv415QuickFilterView", "QuickFilterView"], [275, 1, 1, "_CPPv4N15QuickFilterView15QuickFilterViewEP7QWidgetb", "QuickFilterView::QuickFilterView"], [275, 2, 1, "_CPPv4N15QuickFilterView15QuickFilterViewEP7QWidgetb", "QuickFilterView::QuickFilterView::defaultOn"], [275, 2, 1, "_CPPv4N15QuickFilterView15QuickFilterViewEP7QWidgetb", "QuickFilterView::QuickFilterView::parent"], [275, 1, 1, "_CPPv4N15QuickFilterView11clearFilterEv", "QuickFilterView::clearFilter"], [275, 1, 1, "_CPPv4N15QuickFilterView11closeFilterEv", "QuickFilterView::closeFilter"], [275, 1, 1, "_CPPv4N15QuickFilterView12filterClosedEv", "QuickFilterView::filterClosed"], [275, 1, 1, "_CPPv4N15QuickFilterView17filterTextChangedERK7QString", "QuickFilterView::filterTextChanged"], [275, 2, 1, "_CPPv4N15QuickFilterView17filterTextChangedERK7QString", "QuickFilterView::filterTextChanged::text"], [275, 1, 1, "_CPPv4N15QuickFilterView10showFilterEv", "QuickFilterView::showFilter"], [275, 1, 1, "_CPPv4N15QuickFilterViewD0Ev", "QuickFilterView::~QuickFilterView"], [33, 0, 1, "_CPPv418RangeAssignMaxTree", "RangeAssignMaxTree"], [33, 1, 1, "_CPPv4N18RangeAssignMaxTree18RangeAssignMaxTreeE6size_t9ValueType", "RangeAssignMaxTree::RangeAssignMaxTree"], [33, 2, 1, "_CPPv4N18RangeAssignMaxTree18RangeAssignMaxTreeE6size_t9ValueType", "RangeAssignMaxTree::RangeAssignMaxTree::initialValue"], [33, 2, 1, "_CPPv4N18RangeAssignMaxTree18RangeAssignMaxTreeE6size_t9ValueType", "RangeAssignMaxTree::RangeAssignMaxTree::size"], [33, 7, 1, "_CPPv4N18RangeAssignMaxTree9ValueTypeE", "RangeAssignMaxTree::ValueType"], [33, 1, 1, "_CPPv4N18RangeAssignMaxTree8pushDownE6size_t", "RangeAssignMaxTree::pushDown"], [33, 2, 1, "_CPPv4N18RangeAssignMaxTree8pushDownE6size_t", "RangeAssignMaxTree::pushDown::parent"], [33, 1, 1, "_CPPv4N18RangeAssignMaxTree12rangeMaximumE6size_t6size_t", "RangeAssignMaxTree::rangeMaximum"], [33, 2, 1, "_CPPv4N18RangeAssignMaxTree12rangeMaximumE6size_t6size_t", "RangeAssignMaxTree::rangeMaximum::l"], [33, 2, 1, "_CPPv4N18RangeAssignMaxTree12rangeMaximumE6size_t6size_t", "RangeAssignMaxTree::rangeMaximum::r"], [33, 1, 1, "_CPPv4N18RangeAssignMaxTree8setRangeE6size_t6size_t8NodeType", "RangeAssignMaxTree::setRange"], [33, 2, 1, "_CPPv4N18RangeAssignMaxTree8setRangeE6size_t6size_t8NodeType", "RangeAssignMaxTree::setRange::left"], [33, 2, 1, "_CPPv4N18RangeAssignMaxTree8setRangeE6size_t6size_t8NodeType", "RangeAssignMaxTree::setRange::right"], [33, 2, 1, "_CPPv4N18RangeAssignMaxTree8setRangeE6size_t6size_t8NodeType", "RangeAssignMaxTree::setRange::value"], [33, 1, 1, "_CPPv4N18RangeAssignMaxTree18updateFromChildrenER8NodeTypeRK8NodeTypeRK8NodeType", "RangeAssignMaxTree::updateFromChildren"], [33, 2, 1, "_CPPv4N18RangeAssignMaxTree18updateFromChildrenER8NodeTypeRK8NodeTypeRK8NodeType", "RangeAssignMaxTree::updateFromChildren::left"], [33, 2, 1, "_CPPv4N18RangeAssignMaxTree18updateFromChildrenER8NodeTypeRK8NodeTypeRK8NodeType", "RangeAssignMaxTree::updateFromChildren::parent"], [33, 2, 1, "_CPPv4N18RangeAssignMaxTree18updateFromChildrenER8NodeTypeRK8NodeTypeRK8NodeType", "RangeAssignMaxTree::updateFromChildren::right"], [276, 0, 1, "_CPPv411RawAddrDock", "RawAddrDock"], [276, 1, 1, "_CPPv4N11RawAddrDock11RawAddrDockEP13SectionsModelP7QWidget", "RawAddrDock::RawAddrDock"], [276, 2, 1, "_CPPv4N11RawAddrDock11RawAddrDockEP13SectionsModelP7QWidget", "RawAddrDock::RawAddrDock::model"], [276, 2, 1, "_CPPv4N11RawAddrDock11RawAddrDockEP13SectionsModelP7QWidget", "RawAddrDock::RawAddrDock::parent"], [276, 1, 1, "_CPPv4N11RawAddrDock10updateDockEv", "RawAddrDock::updateDock"], [276, 1, 1, "_CPPv4N11RawAddrDockD0Ev", "RawAddrDock::~RawAddrDock"], [106, 0, 1, "_CPPv414RefDescription", "RefDescription"], [106, 3, 1, "_CPPv4N14RefDescription3refE", "RefDescription::ref"], [106, 3, 1, "_CPPv4N14RefDescription8refColorE", "RefDescription::refColor"], [34, 0, 1, "_CPPv415RefreshDeferrer", "RefreshDeferrer"], [34, 1, 1, "_CPPv4N15RefreshDeferrer15RefreshDeferrerEP26RefreshDeferrerAccumulatorP7QObject", "RefreshDeferrer::RefreshDeferrer"], [34, 2, 1, "_CPPv4N15RefreshDeferrer15RefreshDeferrerEP26RefreshDeferrerAccumulatorP7QObject", "RefreshDeferrer::RefreshDeferrer::acc"], [34, 2, 1, "_CPPv4N15RefreshDeferrer15RefreshDeferrerEP26RefreshDeferrerAccumulatorP7QObject", "RefreshDeferrer::RefreshDeferrer::parent"], [34, 1, 1, "_CPPv4N15RefreshDeferrer14attemptRefreshE21RefreshDeferrerParams", "RefreshDeferrer::attemptRefresh"], [34, 2, 1, "_CPPv4N15RefreshDeferrer14attemptRefreshE21RefreshDeferrerParams", "RefreshDeferrer::attemptRefresh::params"], [34, 1, 1, "_CPPv4N15RefreshDeferrer10refreshNowEK27RefreshDeferrerParamsResult", "RefreshDeferrer::refreshNow"], [34, 2, 1, "_CPPv4N15RefreshDeferrer10refreshNowEK27RefreshDeferrerParamsResult", "RefreshDeferrer::refreshNow::paramsResult"], [34, 1, 1, "_CPPv4N15RefreshDeferrer11registerForEP16CutterDockWidget", "RefreshDeferrer::registerFor"], [34, 2, 1, "_CPPv4N15RefreshDeferrer11registerForEP16CutterDockWidget", "RefreshDeferrer::registerFor::dockWidget"], [34, 1, 1, "_CPPv4N15RefreshDeferrerD0Ev", "RefreshDeferrer::~RefreshDeferrer"], [35, 0, 1, "_CPPv426RefreshDeferrerAccumulator", "RefreshDeferrerAccumulator"], [35, 1, 1, "_CPPv4N26RefreshDeferrerAccumulatorD0Ev", "RefreshDeferrerAccumulator::~RefreshDeferrerAccumulator"], [107, 0, 1, "_CPPv411RegisterRef", "RegisterRef"], [107, 3, 1, "_CPPv4N11RegisterRef4nameE", "RegisterRef::name"], [107, 3, 1, "_CPPv4N11RegisterRef3refE", "RegisterRef::ref"], [107, 3, 1, "_CPPv4N11RegisterRef5valueE", "RegisterRef::value"], [337, 0, 1, "_CPPv422RegisterRefDescription", "RegisterRefDescription"], [337, 3, 1, "_CPPv4N22RegisterRefDescription7refDescE", "RegisterRefDescription::refDesc"], [337, 3, 1, "_CPPv4N22RegisterRefDescription3regE", "RegisterRefDescription::reg"], [337, 3, 1, "_CPPv4N22RegisterRefDescription5valueE", "RegisterRefDescription::value"], [277, 0, 1, "_CPPv416RegisterRefModel", "RegisterRefModel"], [277, 5, 1, "_CPPv4N16RegisterRefModel6ColumnE", "RegisterRefModel::Column"], [277, 6, 1, "_CPPv4N16RegisterRefModel6Column11ColumnCountE", "RegisterRefModel::Column::ColumnCount"], [277, 6, 1, "_CPPv4N16RegisterRefModel6Column13CommentColumnE", "RegisterRefModel::Column::CommentColumn"], [277, 6, 1, "_CPPv4N16RegisterRefModel6Column9RefColumnE", "RegisterRefModel::Column::RefColumn"], [277, 6, 1, "_CPPv4N16RegisterRefModel6Column9RegColumnE", "RegisterRefModel::Column::RegColumn"], [277, 6, 1, "_CPPv4N16RegisterRefModel6Column11ValueColumnE", "RegisterRefModel::Column::ValueColumn"], [277, 6, 1, "_CPPv4N16RegisterRefModel6Column11ColumnCountE", "RegisterRefModel::ColumnCount"], [277, 6, 1, "_CPPv4N16RegisterRefModel6Column13CommentColumnE", "RegisterRefModel::CommentColumn"], [277, 6, 1, "_CPPv4N16RegisterRefModel6Column9RefColumnE", "RegisterRefModel::RefColumn"], [277, 6, 1, "_CPPv4N16RegisterRefModel6Column9RegColumnE", "RegisterRefModel::RegColumn"], [277, 6, 1, "_CPPv4N16RegisterRefModel4Role26RegisterRefDescriptionRoleE", "RegisterRefModel::RegisterRefDescriptionRole"], [277, 1, 1, "_CPPv4N16RegisterRefModel16RegisterRefModelEP5QListI22RegisterRefDescriptionEP7QObject", "RegisterRefModel::RegisterRefModel"], [277, 2, 1, "_CPPv4N16RegisterRefModel16RegisterRefModelEP5QListI22RegisterRefDescriptionEP7QObject", "RegisterRefModel::RegisterRefModel::parent"], [277, 2, 1, "_CPPv4N16RegisterRefModel16RegisterRefModelEP5QListI22RegisterRefDescriptionEP7QObject", "RegisterRefModel::RegisterRefModel::registerRefs"], [277, 5, 1, "_CPPv4N16RegisterRefModel4RoleE", "RegisterRefModel::Role"], [277, 6, 1, "_CPPv4N16RegisterRefModel4Role26RegisterRefDescriptionRoleE", "RegisterRefModel::Role::RegisterRefDescriptionRole"], [277, 6, 1, "_CPPv4N16RegisterRefModel6Column11ValueColumnE", "RegisterRefModel::ValueColumn"], [277, 1, 1, "_CPPv4NK16RegisterRefModel11columnCountERK11QModelIndex", "RegisterRefModel::columnCount"], [277, 2, 1, "_CPPv4NK16RegisterRefModel11columnCountERK11QModelIndex", "RegisterRefModel::columnCount::parent"], [277, 1, 1, "_CPPv4NK16RegisterRefModel4dataERK11QModelIndexi", "RegisterRefModel::data"], [277, 2, 1, "_CPPv4NK16RegisterRefModel4dataERK11QModelIndexi", "RegisterRefModel::data::index"], [277, 2, 1, "_CPPv4NK16RegisterRefModel4dataERK11QModelIndexi", "RegisterRefModel::data::role"], [277, 1, 1, "_CPPv4NK16RegisterRefModel10headerDataEiN2Qt11OrientationEi", "RegisterRefModel::headerData"], [277, 2, 1, "_CPPv4NK16RegisterRefModel10headerDataEiN2Qt11OrientationEi", "RegisterRefModel::headerData::orientation"], [277, 2, 1, "_CPPv4NK16RegisterRefModel10headerDataEiN2Qt11OrientationEi", "RegisterRefModel::headerData::role"], [277, 2, 1, "_CPPv4NK16RegisterRefModel10headerDataEiN2Qt11OrientationEi", "RegisterRefModel::headerData::section"], [277, 1, 1, "_CPPv4NK16RegisterRefModel8rowCountERK11QModelIndex", "RegisterRefModel::rowCount"], [277, 2, 1, "_CPPv4NK16RegisterRefModel8rowCountERK11QModelIndex", "RegisterRefModel::rowCount::parent"], [278, 0, 1, "_CPPv421RegisterRefProxyModel", "RegisterRefProxyModel"], [278, 1, 1, "_CPPv4N21RegisterRefProxyModel21RegisterRefProxyModelEP16RegisterRefModelP7QObject", "RegisterRefProxyModel::RegisterRefProxyModel"], [278, 2, 1, "_CPPv4N21RegisterRefProxyModel21RegisterRefProxyModelEP16RegisterRefModelP7QObject", "RegisterRefProxyModel::RegisterRefProxyModel::parent"], [278, 2, 1, "_CPPv4N21RegisterRefProxyModel21RegisterRefProxyModelEP16RegisterRefModelP7QObject", "RegisterRefProxyModel::RegisterRefProxyModel::sourceModel"], [108, 0, 1, "_CPPv427RegisterRefValueDescription", "RegisterRefValueDescription"], [108, 3, 1, "_CPPv4N27RegisterRefValueDescription4nameE", "RegisterRefValueDescription::name"], [108, 3, 1, "_CPPv4N27RegisterRefValueDescription3refE", "RegisterRefValueDescription::ref"], [108, 3, 1, "_CPPv4N27RegisterRefValueDescription5valueE", "RegisterRefValueDescription::value"], [279, 0, 1, "_CPPv418RegisterRefsWidget", "RegisterRefsWidget"], [279, 1, 1, "_CPPv4N18RegisterRefsWidget18RegisterRefsWidgetEP10MainWindow", "RegisterRefsWidget::RegisterRefsWidget"], [279, 2, 1, "_CPPv4N18RegisterRefsWidget18RegisterRefsWidgetEP10MainWindow", "RegisterRefsWidget::RegisterRefsWidget::main"], [279, 1, 1, "_CPPv4N18RegisterRefsWidgetD0Ev", "RegisterRefsWidget::~RegisterRefsWidget"], [280, 0, 1, "_CPPv415RegistersWidget", "RegistersWidget"], [280, 1, 1, "_CPPv4N15RegistersWidget15RegistersWidgetEP10MainWindow", "RegistersWidget::RegistersWidget"], [280, 2, 1, "_CPPv4N15RegistersWidget15RegistersWidgetEP10MainWindow", "RegistersWidget::RegistersWidget::main"], [280, 1, 1, "_CPPv4N15RegistersWidgetD0Ev", "RegistersWidget::~RegistersWidget"], [109, 0, 1, "_CPPv416RelocDescription", "RelocDescription"], [109, 3, 1, "_CPPv4N16RelocDescription4nameE", "RelocDescription::name"], [109, 3, 1, "_CPPv4N16RelocDescription5paddrE", "RelocDescription::paddr"], [109, 3, 1, "_CPPv4N16RelocDescription4typeE", "RelocDescription::type"], [109, 3, 1, "_CPPv4N16RelocDescription5vaddrE", "RelocDescription::vaddr"], [281, 0, 1, "_CPPv411RelocsModel", "RelocsModel"], [281, 6, 1, "_CPPv4N11RelocsModel4Role11AddressRoleE", "RelocsModel::AddressRole"], [281, 5, 1, "_CPPv4N11RelocsModel6ColumnE", "RelocsModel::Column"], [281, 6, 1, "_CPPv4N11RelocsModel6Column11ColumnCountE", "RelocsModel::Column::ColumnCount"], [281, 6, 1, "_CPPv4N11RelocsModel6Column13CommentColumnE", "RelocsModel::Column::CommentColumn"], [281, 6, 1, "_CPPv4N11RelocsModel6Column10NameColumnE", "RelocsModel::Column::NameColumn"], [281, 6, 1, "_CPPv4N11RelocsModel6Column10TypeColumnE", "RelocsModel::Column::TypeColumn"], [281, 6, 1, "_CPPv4N11RelocsModel6Column11VAddrColumnE", "RelocsModel::Column::VAddrColumn"], [281, 6, 1, "_CPPv4N11RelocsModel6Column11ColumnCountE", "RelocsModel::ColumnCount"], [281, 6, 1, "_CPPv4N11RelocsModel6Column13CommentColumnE", "RelocsModel::CommentColumn"], [281, 6, 1, "_CPPv4N11RelocsModel6Column10NameColumnE", "RelocsModel::NameColumn"], [281, 6, 1, "_CPPv4N11RelocsModel4Role20RelocDescriptionRoleE", "RelocsModel::RelocDescriptionRole"], [281, 1, 1, "_CPPv4N11RelocsModel11RelocsModelEP7QObject", "RelocsModel::RelocsModel"], [281, 2, 1, "_CPPv4N11RelocsModel11RelocsModelEP7QObject", "RelocsModel::RelocsModel::parent"], [281, 5, 1, "_CPPv4N11RelocsModel4RoleE", "RelocsModel::Role"], [281, 6, 1, "_CPPv4N11RelocsModel4Role11AddressRoleE", "RelocsModel::Role::AddressRole"], [281, 6, 1, "_CPPv4N11RelocsModel4Role20RelocDescriptionRoleE", "RelocsModel::Role::RelocDescriptionRole"], [281, 6, 1, "_CPPv4N11RelocsModel6Column10TypeColumnE", "RelocsModel::TypeColumn"], [281, 6, 1, "_CPPv4N11RelocsModel6Column11VAddrColumnE", "RelocsModel::VAddrColumn"], [281, 1, 1, "_CPPv4NK11RelocsModel7addressERK11QModelIndex", "RelocsModel::address"], [281, 2, 1, "_CPPv4NK11RelocsModel7addressERK11QModelIndex", "RelocsModel::address::index"], [281, 1, 1, "_CPPv4NK11RelocsModel11columnCountERK11QModelIndex", "RelocsModel::columnCount"], [281, 2, 1, "_CPPv4NK11RelocsModel11columnCountERK11QModelIndex", "RelocsModel::columnCount::parent"], [281, 1, 1, "_CPPv4NK11RelocsModel4dataERK11QModelIndexi", "RelocsModel::data"], [281, 2, 1, "_CPPv4NK11RelocsModel4dataERK11QModelIndexi", "RelocsModel::data::index"], [281, 2, 1, "_CPPv4NK11RelocsModel4dataERK11QModelIndexi", "RelocsModel::data::role"], [281, 1, 1, "_CPPv4NK11RelocsModel10headerDataEiN2Qt11OrientationEi", "RelocsModel::headerData"], [281, 2, 1, "_CPPv4NK11RelocsModel10headerDataEiN2Qt11OrientationEi", "RelocsModel::headerData::orientation"], [281, 2, 1, "_CPPv4NK11RelocsModel10headerDataEiN2Qt11OrientationEi", "RelocsModel::headerData::role"], [281, 2, 1, "_CPPv4NK11RelocsModel10headerDataEiN2Qt11OrientationEi", "RelocsModel::headerData::section"], [281, 1, 1, "_CPPv4NK11RelocsModel4nameERK11QModelIndex", "RelocsModel::name"], [281, 2, 1, "_CPPv4NK11RelocsModel4nameERK11QModelIndex", "RelocsModel::name::index"], [281, 1, 1, "_CPPv4N11RelocsModel6reloadEv", "RelocsModel::reload"], [281, 1, 1, "_CPPv4NK11RelocsModel8rowCountERK11QModelIndex", "RelocsModel::rowCount"], [281, 2, 1, "_CPPv4NK11RelocsModel8rowCountERK11QModelIndex", "RelocsModel::rowCount::parent"], [282, 0, 1, "_CPPv416RelocsProxyModel", "RelocsProxyModel"], [282, 1, 1, "_CPPv4N16RelocsProxyModel16RelocsProxyModelEP11RelocsModelP7QObject", "RelocsProxyModel::RelocsProxyModel"], [282, 2, 1, "_CPPv4N16RelocsProxyModel16RelocsProxyModelEP11RelocsModelP7QObject", "RelocsProxyModel::RelocsProxyModel::parent"], [282, 2, 1, "_CPPv4N16RelocsProxyModel16RelocsProxyModelEP11RelocsModelP7QObject", "RelocsProxyModel::RelocsProxyModel::sourceModel"], [283, 0, 1, "_CPPv412RelocsWidget", "RelocsWidget"], [283, 1, 1, "_CPPv4N12RelocsWidget12RelocsWidgetEP10MainWindow", "RelocsWidget::RelocsWidget"], [283, 2, 1, "_CPPv4N12RelocsWidget12RelocsWidgetEP10MainWindow", "RelocsWidget::RelocsWidget::main"], [283, 1, 1, "_CPPv4N12RelocsWidgetD0Ev", "RelocsWidget::~RelocsWidget"], [154, 0, 1, "_CPPv417RemoteDebugDialog", "RemoteDebugDialog"], [154, 1, 1, "_CPPv4N17RemoteDebugDialog17RemoteDebugDialogEP7QWidget", "RemoteDebugDialog::RemoteDebugDialog"], [154, 2, 1, "_CPPv4N17RemoteDebugDialog17RemoteDebugDialogEP7QWidget", "RemoteDebugDialog::RemoteDebugDialog::parent"], [154, 1, 1, "_CPPv4NK17RemoteDebugDialog6getUriEv", "RemoteDebugDialog::getUri"], [154, 1, 1, "_CPPv4N17RemoteDebugDialog8validateEv", "RemoteDebugDialog::validate"], [154, 1, 1, "_CPPv4N17RemoteDebugDialogD0Ev", "RemoteDebugDialog::~RemoteDebugDialog"], [36, 0, 1, "_CPPv4I0E35ReplacingRefreshDeferrerAccumulator", "ReplacingRefreshDeferrerAccumulator"], [36, 1, 1, "_CPPv4N35ReplacingRefreshDeferrerAccumulator35ReplacingRefreshDeferrerAccumulatorEb", "ReplacingRefreshDeferrerAccumulator::ReplacingRefreshDeferrerAccumulator"], [36, 2, 1, "_CPPv4N35ReplacingRefreshDeferrerAccumulator35ReplacingRefreshDeferrerAccumulatorEb", "ReplacingRefreshDeferrerAccumulator::ReplacingRefreshDeferrerAccumulator::replaceIfNull"], [36, 4, 1, "_CPPv4I0E35ReplacingRefreshDeferrerAccumulator", "ReplacingRefreshDeferrerAccumulator::T"], [36, 1, 1, "_CPPv4N35ReplacingRefreshDeferrerAccumulatorD0Ev", "ReplacingRefreshDeferrerAccumulator::~ReplacingRefreshDeferrerAccumulator"], [110, 0, 1, "_CPPv420ResourcesDescription", "ResourcesDescription"], [110, 3, 1, "_CPPv4N20ResourcesDescription5indexE", "ResourcesDescription::index"], [110, 3, 1, "_CPPv4N20ResourcesDescription4langE", "ResourcesDescription::lang"], [110, 3, 1, "_CPPv4N20ResourcesDescription4nameE", "ResourcesDescription::name"], [110, 3, 1, "_CPPv4N20ResourcesDescription4sizeE", "ResourcesDescription::size"], [110, 3, 1, "_CPPv4N20ResourcesDescription4typeE", "ResourcesDescription::type"], [110, 3, 1, "_CPPv4N20ResourcesDescription5vaddrE", "ResourcesDescription::vaddr"], [284, 0, 1, "_CPPv414ResourcesModel", "ResourcesModel"], [284, 6, 1, "_CPPv4N14ResourcesModel7Columns7COMMENTE", "ResourcesModel::COMMENT"], [284, 6, 1, "_CPPv4N14ResourcesModel7Columns5COUNTE", "ResourcesModel::COUNT"], [284, 5, 1, "_CPPv4N14ResourcesModel7ColumnsE", "ResourcesModel::Columns"], [284, 6, 1, "_CPPv4N14ResourcesModel7Columns7COMMENTE", "ResourcesModel::Columns::COMMENT"], [284, 6, 1, "_CPPv4N14ResourcesModel7Columns5COUNTE", "ResourcesModel::Columns::COUNT"], [284, 6, 1, "_CPPv4N14ResourcesModel7Columns5INDEXE", "ResourcesModel::Columns::INDEX"], [284, 6, 1, "_CPPv4N14ResourcesModel7Columns4LANGE", "ResourcesModel::Columns::LANG"], [284, 6, 1, "_CPPv4N14ResourcesModel7Columns4NAMEE", "ResourcesModel::Columns::NAME"], [284, 6, 1, "_CPPv4N14ResourcesModel7Columns4SIZEE", "ResourcesModel::Columns::SIZE"], [284, 6, 1, "_CPPv4N14ResourcesModel7Columns4TYPEE", "ResourcesModel::Columns::TYPE"], [284, 6, 1, "_CPPv4N14ResourcesModel7Columns5VADDRE", "ResourcesModel::Columns::VADDR"], [284, 6, 1, "_CPPv4N14ResourcesModel7Columns5INDEXE", "ResourcesModel::INDEX"], [284, 6, 1, "_CPPv4N14ResourcesModel7Columns4LANGE", "ResourcesModel::LANG"], [284, 6, 1, "_CPPv4N14ResourcesModel7Columns4NAMEE", "ResourcesModel::NAME"], [284, 1, 1, "_CPPv4N14ResourcesModel14ResourcesModelEP5QListI20ResourcesDescriptionEP7QObject", "ResourcesModel::ResourcesModel"], [284, 2, 1, "_CPPv4N14ResourcesModel14ResourcesModelEP5QListI20ResourcesDescriptionEP7QObject", "ResourcesModel::ResourcesModel::parent"], [284, 2, 1, "_CPPv4N14ResourcesModel14ResourcesModelEP5QListI20ResourcesDescriptionEP7QObject", "ResourcesModel::ResourcesModel::resources"], [284, 6, 1, "_CPPv4N14ResourcesModel7Columns4SIZEE", "ResourcesModel::SIZE"], [284, 6, 1, "_CPPv4N14ResourcesModel7Columns4TYPEE", "ResourcesModel::TYPE"], [284, 6, 1, "_CPPv4N14ResourcesModel7Columns5VADDRE", "ResourcesModel::VADDR"], [284, 1, 1, "_CPPv4NK14ResourcesModel7addressERK11QModelIndex", "ResourcesModel::address"], [284, 2, 1, "_CPPv4NK14ResourcesModel7addressERK11QModelIndex", "ResourcesModel::address::index"], [284, 1, 1, "_CPPv4NK14ResourcesModel11columnCountERK11QModelIndex", "ResourcesModel::columnCount"], [284, 2, 1, "_CPPv4NK14ResourcesModel11columnCountERK11QModelIndex", "ResourcesModel::columnCount::parent"], [284, 1, 1, "_CPPv4NK14ResourcesModel4dataERK11QModelIndexi", "ResourcesModel::data"], [284, 2, 1, "_CPPv4NK14ResourcesModel4dataERK11QModelIndexi", "ResourcesModel::data::index"], [284, 2, 1, "_CPPv4NK14ResourcesModel4dataERK11QModelIndexi", "ResourcesModel::data::role"], [284, 1, 1, "_CPPv4NK14ResourcesModel10headerDataEiN2Qt11OrientationEi", "ResourcesModel::headerData"], [284, 2, 1, "_CPPv4NK14ResourcesModel10headerDataEiN2Qt11OrientationEi", "ResourcesModel::headerData::orientation"], [284, 2, 1, "_CPPv4NK14ResourcesModel10headerDataEiN2Qt11OrientationEi", "ResourcesModel::headerData::role"], [284, 2, 1, "_CPPv4NK14ResourcesModel10headerDataEiN2Qt11OrientationEi", "ResourcesModel::headerData::section"], [284, 1, 1, "_CPPv4NK14ResourcesModel8rowCountERK11QModelIndex", "ResourcesModel::rowCount"], [284, 2, 1, "_CPPv4NK14ResourcesModel8rowCountERK11QModelIndex", "ResourcesModel::rowCount::parent"], [285, 0, 1, "_CPPv415ResourcesWidget", "ResourcesWidget"], [285, 1, 1, "_CPPv4N15ResourcesWidget15ResourcesWidgetEP10MainWindow", "ResourcesWidget::ResourcesWidget"], [285, 2, 1, "_CPPv4N15ResourcesWidget15ResourcesWidgetEP10MainWindow", "ResourcesWidget::ResourcesWidget::main"], [37, 0, 1, "_CPPv415RichTextPainter", "RichTextPainter"], [37, 5, 1, "_CPPv4N15RichTextPainter19CustomRichTextFlagsE", "RichTextPainter::CustomRichTextFlags"], [37, 6, 1, "_CPPv4N15RichTextPainter19CustomRichTextFlags7FlagAllE", "RichTextPainter::CustomRichTextFlags::FlagAll"], [37, 6, 1, "_CPPv4N15RichTextPainter19CustomRichTextFlags14FlagBackgroundE", "RichTextPainter::CustomRichTextFlags::FlagBackground"], [37, 6, 1, "_CPPv4N15RichTextPainter19CustomRichTextFlags9FlagColorE", "RichTextPainter::CustomRichTextFlags::FlagColor"], [37, 6, 1, "_CPPv4N15RichTextPainter19CustomRichTextFlags8FlagNoneE", "RichTextPainter::CustomRichTextFlags::FlagNone"], [37, 0, 1, "_CPPv4N15RichTextPainter16CustomRichText_tE", "RichTextPainter::CustomRichText_t"], [60, 0, 1, "_CPPv4N15RichTextPainter16CustomRichText_tE", "RichTextPainter::CustomRichText_t"], [37, 3, 1, "_CPPv4N15RichTextPainter16CustomRichText_t5flagsE", "RichTextPainter::CustomRichText_t::flags"], [60, 3, 1, "_CPPv4N15RichTextPainter16CustomRichText_t5flagsE", "RichTextPainter::CustomRichText_t::flags"], [37, 3, 1, "_CPPv4N15RichTextPainter16CustomRichText_t9highlightE", "RichTextPainter::CustomRichText_t::highlight"], [60, 3, 1, "_CPPv4N15RichTextPainter16CustomRichText_t9highlightE", "RichTextPainter::CustomRichText_t::highlight"], [37, 3, 1, "_CPPv4N15RichTextPainter16CustomRichText_t14highlightColorE", "RichTextPainter::CustomRichText_t::highlightColor"], [60, 3, 1, "_CPPv4N15RichTextPainter16CustomRichText_t14highlightColorE", "RichTextPainter::CustomRichText_t::highlightColor"], [37, 3, 1, "_CPPv4N15RichTextPainter16CustomRichText_t20highlightConnectPrevE", "RichTextPainter::CustomRichText_t::highlightConnectPrev"], [60, 3, 1, "_CPPv4N15RichTextPainter16CustomRichText_t20highlightConnectPrevE", "RichTextPainter::CustomRichText_t::highlightConnectPrev"], [37, 3, 1, "_CPPv4N15RichTextPainter16CustomRichText_t14highlightWidthE", "RichTextPainter::CustomRichText_t::highlightWidth"], [60, 3, 1, "_CPPv4N15RichTextPainter16CustomRichText_t14highlightWidthE", "RichTextPainter::CustomRichText_t::highlightWidth"], [37, 3, 1, "_CPPv4N15RichTextPainter16CustomRichText_t4textE", "RichTextPainter::CustomRichText_t::text"], [60, 3, 1, "_CPPv4N15RichTextPainter16CustomRichText_t4textE", "RichTextPainter::CustomRichText_t::text"], [37, 3, 1, "_CPPv4N15RichTextPainter16CustomRichText_t14textBackgroundE", "RichTextPainter::CustomRichText_t::textBackground"], [60, 3, 1, "_CPPv4N15RichTextPainter16CustomRichText_t14textBackgroundE", "RichTextPainter::CustomRichText_t::textBackground"], [37, 3, 1, "_CPPv4N15RichTextPainter16CustomRichText_t9textColorE", "RichTextPainter::CustomRichText_t::textColor"], [60, 3, 1, "_CPPv4N15RichTextPainter16CustomRichText_t9textColorE", "RichTextPainter::CustomRichText_t::textColor"], [37, 6, 1, "_CPPv4N15RichTextPainter19CustomRichTextFlags7FlagAllE", "RichTextPainter::FlagAll"], [37, 6, 1, "_CPPv4N15RichTextPainter19CustomRichTextFlags14FlagBackgroundE", "RichTextPainter::FlagBackground"], [37, 6, 1, "_CPPv4N15RichTextPainter19CustomRichTextFlags9FlagColorE", "RichTextPainter::FlagColor"], [37, 6, 1, "_CPPv4N15RichTextPainter19CustomRichTextFlags8FlagNoneE", "RichTextPainter::FlagNone"], [37, 7, 1, "_CPPv4N15RichTextPainter4ListE", "RichTextPainter::List"], [37, 1, 1, "_CPPv4N15RichTextPainter7croppedERK4ListiRK7QStringPb", "RichTextPainter::cropped"], [37, 2, 1, "_CPPv4N15RichTextPainter7croppedERK4ListiRK7QStringPb", "RichTextPainter::cropped::croppedOut"], [37, 2, 1, "_CPPv4N15RichTextPainter7croppedERK4ListiRK7QStringPb", "RichTextPainter::cropped::indicator"], [37, 2, 1, "_CPPv4N15RichTextPainter7croppedERK4ListiRK7QStringPb", "RichTextPainter::cropped::maxCols"], [37, 2, 1, "_CPPv4N15RichTextPainter7croppedERK4ListiRK7QStringPb", "RichTextPainter::cropped::richText"], [37, 1, 1, "_CPPv4N15RichTextPainter16fromTextDocumentERK13QTextDocument", "RichTextPainter::fromTextDocument"], [37, 2, 1, "_CPPv4N15RichTextPainter16fromTextDocumentERK13QTextDocument", "RichTextPainter::fromTextDocument::doc"], [37, 1, 1, "_CPPv4N15RichTextPainter12htmlRichTextERK4ListR7QStringR7QString", "RichTextPainter::htmlRichText"], [37, 2, 1, "_CPPv4N15RichTextPainter12htmlRichTextERK4ListR7QStringR7QString", "RichTextPainter::htmlRichText::richText"], [37, 2, 1, "_CPPv4N15RichTextPainter12htmlRichTextERK4ListR7QStringR7QString", "RichTextPainter::htmlRichText::textHtml"], [37, 2, 1, "_CPPv4N15RichTextPainter12htmlRichTextERK4ListR7QStringR7QString", "RichTextPainter::htmlRichText::textPlain"], [37, 1, 1, "_CPPv4I0EN15RichTextPainter13paintRichTextEvP8QPainter1T1T1T1T1TRK4ListP17CachedFontMetricsI1TE", "RichTextPainter::paintRichText"], [37, 4, 1, "_CPPv4I0EN15RichTextPainter13paintRichTextEvP8QPainter1T1T1T1T1TRK4ListP17CachedFontMetricsI1TE", "RichTextPainter::paintRichText::T"], [37, 2, 1, "_CPPv4I0EN15RichTextPainter13paintRichTextEvP8QPainter1T1T1T1T1TRK4ListP17CachedFontMetricsI1TE", "RichTextPainter::paintRichText::fontMetrics"], [37, 2, 1, "_CPPv4I0EN15RichTextPainter13paintRichTextEvP8QPainter1T1T1T1T1TRK4ListP17CachedFontMetricsI1TE", "RichTextPainter::paintRichText::h"], [37, 2, 1, "_CPPv4I0EN15RichTextPainter13paintRichTextEvP8QPainter1T1T1T1T1TRK4ListP17CachedFontMetricsI1TE", "RichTextPainter::paintRichText::painter"], [37, 2, 1, "_CPPv4I0EN15RichTextPainter13paintRichTextEvP8QPainter1T1T1T1T1TRK4ListP17CachedFontMetricsI1TE", "RichTextPainter::paintRichText::richText"], [37, 2, 1, "_CPPv4I0EN15RichTextPainter13paintRichTextEvP8QPainter1T1T1T1T1TRK4ListP17CachedFontMetricsI1TE", "RichTextPainter::paintRichText::w"], [37, 2, 1, "_CPPv4I0EN15RichTextPainter13paintRichTextEvP8QPainter1T1T1T1T1TRK4ListP17CachedFontMetricsI1TE", "RichTextPainter::paintRichText::x"], [37, 2, 1, "_CPPv4I0EN15RichTextPainter13paintRichTextEvP8QPainter1T1T1T1T1TRK4ListP17CachedFontMetricsI1TE", "RichTextPainter::paintRichText::xinc"], [37, 2, 1, "_CPPv4I0EN15RichTextPainter13paintRichTextEvP8QPainter1T1T1T1T1TRK4ListP17CachedFontMetricsI1TE", "RichTextPainter::paintRichText::y"], [38, 0, 1, "_CPPv412RizinCmdTask", "RizinCmdTask"], [38, 1, 1, "_CPPv4N12RizinCmdTask12RizinCmdTaskERK7QStringb", "RizinCmdTask::RizinCmdTask"], [38, 2, 1, "_CPPv4N12RizinCmdTask12RizinCmdTaskERK7QStringb", "RizinCmdTask::RizinCmdTask::cmd"], [38, 2, 1, "_CPPv4N12RizinCmdTask12RizinCmdTaskERK7QStringb", "RizinCmdTask::RizinCmdTask::transient"], [38, 1, 1, "_CPPv4N12RizinCmdTask9getResultEv", "RizinCmdTask::getResult"], [38, 1, 1, "_CPPv4N12RizinCmdTask13getResultJsonEv", "RizinCmdTask::getResultJson"], [38, 1, 1, "_CPPv4N12RizinCmdTask12getResultRawEv", "RizinCmdTask::getResultRaw"], [39, 0, 1, "_CPPv417RizinFunctionTask", "RizinFunctionTask"], [39, 1, 1, "_CPPv4N17RizinFunctionTask17RizinFunctionTaskENSt8functionIFPvP6RzCoreEEEb", "RizinFunctionTask::RizinFunctionTask"], [39, 2, 1, "_CPPv4N17RizinFunctionTask17RizinFunctionTaskENSt8functionIFPvP6RzCoreEEEb", "RizinFunctionTask::RizinFunctionTask::fcn"], [39, 2, 1, "_CPPv4N17RizinFunctionTask17RizinFunctionTaskENSt8functionIFPvP6RzCoreEEEb", "RizinFunctionTask::RizinFunctionTask::transient"], [39, 1, 1, "_CPPv4N17RizinFunctionTask9getResultEv", "RizinFunctionTask::getResult"], [286, 0, 1, "_CPPv416RizinGraphWidget", "RizinGraphWidget"], [286, 1, 1, "_CPPv4N16RizinGraphWidget16RizinGraphWidgetEP10MainWindow", "RizinGraphWidget::RizinGraphWidget"], [286, 2, 1, "_CPPv4N16RizinGraphWidget16RizinGraphWidgetEP10MainWindow", "RizinGraphWidget::RizinGraphWidget::main"], [286, 1, 1, "_CPPv4N16RizinGraphWidgetD0Ev", "RizinGraphWidget::~RizinGraphWidget"], [155, 0, 1, "_CPPv418RizinPluginsDialog", "RizinPluginsDialog"], [155, 1, 1, "_CPPv4N18RizinPluginsDialog18RizinPluginsDialogEP7QWidget", "RizinPluginsDialog::RizinPluginsDialog"], [155, 2, 1, "_CPPv4N18RizinPluginsDialog18RizinPluginsDialogEP7QWidget", "RizinPluginsDialog::RizinPluginsDialog::parent"], [155, 1, 1, "_CPPv4N18RizinPluginsDialogD0Ev", "RizinPluginsDialog::~RizinPluginsDialog"], [40, 0, 1, "_CPPv49RizinTask", "RizinTask"], [40, 7, 1, "_CPPv4N9RizinTask3PtrE", "RizinTask::Ptr"], [40, 1, 1, "_CPPv4N9RizinTask9breakTaskEv", "RizinTask::breakTask"], [40, 1, 1, "_CPPv4N9RizinTask8finishedEv", "RizinTask::finished"], [40, 1, 1, "_CPPv4N9RizinTask8joinTaskEv", "RizinTask::joinTask"], [40, 1, 1, "_CPPv4N9RizinTask9startTaskEv", "RizinTask::startTask"], [40, 1, 1, "_CPPv4N9RizinTaskD0Ev", "RizinTask::~RizinTask"], [156, 0, 1, "_CPPv415RizinTaskDialog", "RizinTaskDialog"], [156, 7, 1, "_CPPv4N15RizinTaskDialog3PtrE", "RizinTaskDialog::Ptr"], [156, 1, 1, "_CPPv4N15RizinTaskDialog15RizinTaskDialogE3PtrP7QWidget", "RizinTaskDialog::RizinTaskDialog"], [156, 2, 1, "_CPPv4N15RizinTaskDialog15RizinTaskDialogE3PtrP7QWidget", "RizinTaskDialog::RizinTaskDialog::parent"], [156, 2, 1, "_CPPv4N15RizinTaskDialog15RizinTaskDialogE3PtrP7QWidget", "RizinTaskDialog::RizinTaskDialog::task"], [156, 1, 1, "_CPPv4N15RizinTaskDialog15getBreakOnCloseEv", "RizinTaskDialog::getBreakOnClose"], [156, 1, 1, "_CPPv4N15RizinTaskDialog6rejectEv", "RizinTaskDialog::reject"], [156, 1, 1, "_CPPv4N15RizinTaskDialog15setBreakOnCloseEb", "RizinTaskDialog::setBreakOnClose"], [156, 2, 1, "_CPPv4N15RizinTaskDialog15setBreakOnCloseEb", "RizinTaskDialog::setBreakOnClose::v"], [156, 1, 1, "_CPPv4N15RizinTaskDialog7setDescERK7QString", "RizinTaskDialog::setDesc"], [156, 2, 1, "_CPPv4N15RizinTaskDialog7setDescERK7QString", "RizinTaskDialog::setDesc::label"], [156, 1, 1, "_CPPv4N15RizinTaskDialogD0Ev", "RizinTaskDialog::~RizinTaskDialog"], [41, 0, 1, "_CPPv413RunScriptTask", "RunScriptTask"], [41, 1, 1, "_CPPv4N13RunScriptTask13RunScriptTaskEv", "RunScriptTask::RunScriptTask"], [41, 1, 1, "_CPPv4N13RunScriptTask8getTitleEv", "RunScriptTask::getTitle"], [41, 1, 1, "_CPPv4N13RunScriptTask9interruptEv", "RunScriptTask::interrupt"], [41, 1, 1, "_CPPv4N13RunScriptTask11setFileNameERK7QString", "RunScriptTask::setFileName"], [41, 2, 1, "_CPPv4N13RunScriptTask11setFileNameERK7QString", "RunScriptTask::setFileName::fileName"], [41, 1, 1, "_CPPv4N13RunScriptTaskD0Ev", "RunScriptTask::~RunScriptTask"], [111, 0, 1, "_CPPv422RzAsmPluginDescription", "RzAsmPluginDescription"], [111, 3, 1, "_CPPv4N22RzAsmPluginDescription12architectureE", "RzAsmPluginDescription::architecture"], [111, 3, 1, "_CPPv4N22RzAsmPluginDescription6authorE", "RzAsmPluginDescription::author"], [111, 3, 1, "_CPPv4N22RzAsmPluginDescription4cpusE", "RzAsmPluginDescription::cpus"], [111, 3, 1, "_CPPv4N22RzAsmPluginDescription11descriptionE", "RzAsmPluginDescription::description"], [111, 3, 1, "_CPPv4N22RzAsmPluginDescription7licenseE", "RzAsmPluginDescription::license"], [111, 3, 1, "_CPPv4N22RzAsmPluginDescription4nameE", "RzAsmPluginDescription::name"], [111, 3, 1, "_CPPv4N22RzAsmPluginDescription7versionE", "RzAsmPluginDescription::version"], [112, 0, 1, "_CPPv422RzBinPluginDescription", "RzBinPluginDescription"], [112, 3, 1, "_CPPv4N22RzBinPluginDescription11descriptionE", "RzBinPluginDescription::description"], [112, 3, 1, "_CPPv4N22RzBinPluginDescription7licenseE", "RzBinPluginDescription::license"], [112, 3, 1, "_CPPv4N22RzBinPluginDescription4nameE", "RzBinPluginDescription::name"], [112, 3, 1, "_CPPv4N22RzBinPluginDescription4typeE", "RzBinPluginDescription::type"], [77, 0, 1, "_CPPv412RzCoreLocked", "RzCoreLocked"], [77, 1, 1, "_CPPv4N12RzCoreLocked12RzCoreLockedEP10CutterCore", "RzCoreLocked::RzCoreLocked"], [77, 1, 1, "_CPPv4N12RzCoreLocked12RzCoreLockedERK12RzCoreLocked", "RzCoreLocked::RzCoreLocked"], [77, 1, 1, "_CPPv4N12RzCoreLocked12RzCoreLockedERR12RzCoreLocked", "RzCoreLocked::RzCoreLocked"], [77, 2, 1, "_CPPv4N12RzCoreLocked12RzCoreLockedEP10CutterCore", "RzCoreLocked::RzCoreLocked::core"], [77, 1, 1, "_CPPv4NK12RzCoreLockedcvP6RzCoreEv", "RzCoreLocked::operator RzCore*"], [77, 1, 1, "_CPPv4NK12RzCoreLockedptEv", "RzCoreLocked::operator->"], [77, 1, 1, "_CPPv4N12RzCoreLockedaSERK12RzCoreLocked", "RzCoreLocked::operator="], [77, 1, 1, "_CPPv4N12RzCoreLockedD0Ev", "RzCoreLocked::~RzCoreLocked"], [113, 0, 1, "_CPPv423RzCorePluginDescription", "RzCorePluginDescription"], [113, 3, 1, "_CPPv4N23RzCorePluginDescription11descriptionE", "RzCorePluginDescription::description"], [113, 3, 1, "_CPPv4N23RzCorePluginDescription7licenseE", "RzCorePluginDescription::license"], [113, 3, 1, "_CPPv4N23RzCorePluginDescription4nameE", "RzCorePluginDescription::name"], [114, 0, 1, "_CPPv421RzIOPluginDescription", "RzIOPluginDescription"], [114, 3, 1, "_CPPv4N21RzIOPluginDescription11descriptionE", "RzIOPluginDescription::description"], [114, 3, 1, "_CPPv4N21RzIOPluginDescription7licenseE", "RzIOPluginDescription::license"], [114, 3, 1, "_CPPv4N21RzIOPluginDescription4nameE", "RzIOPluginDescription::name"], [114, 3, 1, "_CPPv4N21RzIOPluginDescription11permissionsE", "RzIOPluginDescription::permissions"], [114, 3, 1, "_CPPv4N21RzIOPluginDescription4urisE", "RzIOPluginDescription::uris"], [287, 0, 1, "_CPPv49SdbWidget", "SdbWidget"], [287, 1, 1, "_CPPv4N9SdbWidget9SdbWidgetEP10MainWindow", "SdbWidget::SdbWidget"], [287, 2, 1, "_CPPv4N9SdbWidget9SdbWidgetEP10MainWindow", "SdbWidget::SdbWidget::main"], [287, 1, 1, "_CPPv4N9SdbWidgetD0Ev", "SdbWidget::~SdbWidget"], [115, 0, 1, "_CPPv417SearchDescription", "SearchDescription"], [115, 3, 1, "_CPPv4N17SearchDescription4codeE", "SearchDescription::code"], [115, 3, 1, "_CPPv4N17SearchDescription4dataE", "SearchDescription::data"], [115, 3, 1, "_CPPv4N17SearchDescription6offsetE", "SearchDescription::offset"], [115, 3, 1, "_CPPv4N17SearchDescription4sizeE", "SearchDescription::size"], [288, 0, 1, "_CPPv411SearchModel", "SearchModel"], [288, 6, 1, "_CPPv4N11SearchModel7Columns4CODEE", "SearchModel::CODE"], [288, 6, 1, "_CPPv4N11SearchModel7Columns7COMMENTE", "SearchModel::COMMENT"], [288, 6, 1, "_CPPv4N11SearchModel7Columns5COUNTE", "SearchModel::COUNT"], [288, 5, 1, "_CPPv4N11SearchModel7ColumnsE", "SearchModel::Columns"], [288, 6, 1, "_CPPv4N11SearchModel7Columns4CODEE", "SearchModel::Columns::CODE"], [288, 6, 1, "_CPPv4N11SearchModel7Columns7COMMENTE", "SearchModel::Columns::COMMENT"], [288, 6, 1, "_CPPv4N11SearchModel7Columns5COUNTE", "SearchModel::Columns::COUNT"], [288, 6, 1, "_CPPv4N11SearchModel7Columns4DATAE", "SearchModel::Columns::DATA"], [288, 6, 1, "_CPPv4N11SearchModel7Columns6OFFSETE", "SearchModel::Columns::OFFSET"], [288, 6, 1, "_CPPv4N11SearchModel7Columns4SIZEE", "SearchModel::Columns::SIZE"], [288, 6, 1, "_CPPv4N11SearchModel7Columns4DATAE", "SearchModel::DATA"], [288, 6, 1, "_CPPv4N11SearchModel7Columns6OFFSETE", "SearchModel::OFFSET"], [288, 6, 1, "_CPPv4N11SearchModel7Columns4SIZEE", "SearchModel::SIZE"], [288, 3, 1, "_CPPv4N11SearchModel21SearchDescriptionRoleE", "SearchModel::SearchDescriptionRole"], [288, 1, 1, "_CPPv4N11SearchModel11SearchModelEP5QListI17SearchDescriptionEP7QObject", "SearchModel::SearchModel"], [288, 2, 1, "_CPPv4N11SearchModel11SearchModelEP5QListI17SearchDescriptionEP7QObject", "SearchModel::SearchModel::parent"], [288, 2, 1, "_CPPv4N11SearchModel11SearchModelEP5QListI17SearchDescriptionEP7QObject", "SearchModel::SearchModel::search"], [288, 1, 1, "_CPPv4NK11SearchModel7addressERK11QModelIndex", "SearchModel::address"], [288, 2, 1, "_CPPv4NK11SearchModel7addressERK11QModelIndex", "SearchModel::address::index"], [288, 1, 1, "_CPPv4NK11SearchModel11columnCountERK11QModelIndex", "SearchModel::columnCount"], [288, 2, 1, "_CPPv4NK11SearchModel11columnCountERK11QModelIndex", "SearchModel::columnCount::parent"], [288, 1, 1, "_CPPv4NK11SearchModel4dataERK11QModelIndexi", "SearchModel::data"], [288, 2, 1, "_CPPv4NK11SearchModel4dataERK11QModelIndexi", "SearchModel::data::index"], [288, 2, 1, "_CPPv4NK11SearchModel4dataERK11QModelIndexi", "SearchModel::data::role"], [288, 1, 1, "_CPPv4NK11SearchModel10headerDataEiN2Qt11OrientationEi", "SearchModel::headerData"], [288, 2, 1, "_CPPv4NK11SearchModel10headerDataEiN2Qt11OrientationEi", "SearchModel::headerData::orientation"], [288, 2, 1, "_CPPv4NK11SearchModel10headerDataEiN2Qt11OrientationEi", "SearchModel::headerData::role"], [288, 2, 1, "_CPPv4NK11SearchModel10headerDataEiN2Qt11OrientationEi", "SearchModel::headerData::section"], [288, 1, 1, "_CPPv4NK11SearchModel8rowCountERK11QModelIndex", "SearchModel::rowCount"], [288, 2, 1, "_CPPv4NK11SearchModel8rowCountERK11QModelIndex", "SearchModel::rowCount::parent"], [289, 0, 1, "_CPPv426SearchSortFilterProxyModel", "SearchSortFilterProxyModel"], [289, 1, 1, "_CPPv4N26SearchSortFilterProxyModel26SearchSortFilterProxyModelEP11SearchModelP7QObject", "SearchSortFilterProxyModel::SearchSortFilterProxyModel"], [289, 2, 1, "_CPPv4N26SearchSortFilterProxyModel26SearchSortFilterProxyModelEP11SearchModelP7QObject", "SearchSortFilterProxyModel::SearchSortFilterProxyModel::parent"], [289, 2, 1, "_CPPv4N26SearchSortFilterProxyModel26SearchSortFilterProxyModelEP11SearchModelP7QObject", "SearchSortFilterProxyModel::SearchSortFilterProxyModel::source_model"], [290, 0, 1, "_CPPv412SearchWidget", "SearchWidget"], [290, 1, 1, "_CPPv4N12SearchWidget12SearchWidgetEP10MainWindow", "SearchWidget::SearchWidget"], [290, 2, 1, "_CPPv4N12SearchWidget12SearchWidgetEP10MainWindow", "SearchWidget::SearchWidget::main"], [290, 1, 1, "_CPPv4N12SearchWidgetD0Ev", "SearchWidget::~SearchWidget"], [116, 0, 1, "_CPPv418SectionDescription", "SectionDescription"], [116, 3, 1, "_CPPv4N18SectionDescription7entropyE", "SectionDescription::entropy"], [116, 3, 1, "_CPPv4N18SectionDescription4nameE", "SectionDescription::name"], [116, 3, 1, "_CPPv4N18SectionDescription5paddrE", "SectionDescription::paddr"], [116, 3, 1, "_CPPv4N18SectionDescription4permE", "SectionDescription::perm"], [116, 3, 1, "_CPPv4N18SectionDescription4sizeE", "SectionDescription::size"], [116, 3, 1, "_CPPv4N18SectionDescription5vaddrE", "SectionDescription::vaddr"], [116, 3, 1, "_CPPv4N18SectionDescription5vsizeE", "SectionDescription::vsize"], [291, 0, 1, "_CPPv413SectionsModel", "SectionsModel"], [291, 6, 1, "_CPPv4N13SectionsModel6Column13AddressColumnE", "SectionsModel::AddressColumn"], [291, 5, 1, "_CPPv4N13SectionsModel6ColumnE", "SectionsModel::Column"], [291, 6, 1, "_CPPv4N13SectionsModel6Column13AddressColumnE", "SectionsModel::Column::AddressColumn"], [291, 6, 1, "_CPPv4N13SectionsModel6Column11ColumnCountE", "SectionsModel::Column::ColumnCount"], [291, 6, 1, "_CPPv4N13SectionsModel6Column13CommentColumnE", "SectionsModel::Column::CommentColumn"], [291, 6, 1, "_CPPv4N13SectionsModel6Column16EndAddressColumnE", "SectionsModel::Column::EndAddressColumn"], [291, 6, 1, "_CPPv4N13SectionsModel6Column13EntropyColumnE", "SectionsModel::Column::EntropyColumn"], [291, 6, 1, "_CPPv4N13SectionsModel6Column10NameColumnE", "SectionsModel::Column::NameColumn"], [291, 6, 1, "_CPPv4N13SectionsModel6Column17PermissionsColumnE", "SectionsModel::Column::PermissionsColumn"], [291, 6, 1, "_CPPv4N13SectionsModel6Column10SizeColumnE", "SectionsModel::Column::SizeColumn"], [291, 6, 1, "_CPPv4N13SectionsModel6Column17VirtualSizeColumnE", "SectionsModel::Column::VirtualSizeColumn"], [291, 6, 1, "_CPPv4N13SectionsModel6Column11ColumnCountE", "SectionsModel::ColumnCount"], [291, 6, 1, "_CPPv4N13SectionsModel6Column13CommentColumnE", "SectionsModel::CommentColumn"], [291, 6, 1, "_CPPv4N13SectionsModel6Column16EndAddressColumnE", "SectionsModel::EndAddressColumn"], [291, 6, 1, "_CPPv4N13SectionsModel6Column13EntropyColumnE", "SectionsModel::EntropyColumn"], [291, 6, 1, "_CPPv4N13SectionsModel6Column10NameColumnE", "SectionsModel::NameColumn"], [291, 6, 1, "_CPPv4N13SectionsModel6Column17PermissionsColumnE", "SectionsModel::PermissionsColumn"], [291, 5, 1, "_CPPv4N13SectionsModel4RoleE", "SectionsModel::Role"], [291, 6, 1, "_CPPv4N13SectionsModel4Role22SectionDescriptionRoleE", "SectionsModel::Role::SectionDescriptionRole"], [291, 6, 1, "_CPPv4N13SectionsModel4Role22SectionDescriptionRoleE", "SectionsModel::SectionDescriptionRole"], [291, 1, 1, "_CPPv4N13SectionsModel13SectionsModelEP5QListI18SectionDescriptionEP7QObject", "SectionsModel::SectionsModel"], [291, 2, 1, "_CPPv4N13SectionsModel13SectionsModelEP5QListI18SectionDescriptionEP7QObject", "SectionsModel::SectionsModel::parent"], [291, 2, 1, "_CPPv4N13SectionsModel13SectionsModelEP5QListI18SectionDescriptionEP7QObject", "SectionsModel::SectionsModel::sections"], [291, 6, 1, "_CPPv4N13SectionsModel6Column10SizeColumnE", "SectionsModel::SizeColumn"], [291, 6, 1, "_CPPv4N13SectionsModel6Column17VirtualSizeColumnE", "SectionsModel::VirtualSizeColumn"], [291, 1, 1, "_CPPv4NK13SectionsModel7addressERK11QModelIndex", "SectionsModel::address"], [291, 2, 1, "_CPPv4NK13SectionsModel7addressERK11QModelIndex", "SectionsModel::address::index"], [291, 1, 1, "_CPPv4NK13SectionsModel11columnCountERK11QModelIndex", "SectionsModel::columnCount"], [291, 2, 1, "_CPPv4NK13SectionsModel11columnCountERK11QModelIndex", "SectionsModel::columnCount::parent"], [291, 1, 1, "_CPPv4NK13SectionsModel4dataERK11QModelIndexi", "SectionsModel::data"], [291, 2, 1, "_CPPv4NK13SectionsModel4dataERK11QModelIndexi", "SectionsModel::data::index"], [291, 2, 1, "_CPPv4NK13SectionsModel4dataERK11QModelIndexi", "SectionsModel::data::role"], [291, 1, 1, "_CPPv4NK13SectionsModel10headerDataEiN2Qt11OrientationEi", "SectionsModel::headerData"], [291, 2, 1, "_CPPv4NK13SectionsModel10headerDataEiN2Qt11OrientationEi", "SectionsModel::headerData::orientation"], [291, 2, 1, "_CPPv4NK13SectionsModel10headerDataEiN2Qt11OrientationEi", "SectionsModel::headerData::role"], [291, 2, 1, "_CPPv4NK13SectionsModel10headerDataEiN2Qt11OrientationEi", "SectionsModel::headerData::section"], [291, 1, 1, "_CPPv4NK13SectionsModel4nameERK11QModelIndex", "SectionsModel::name"], [291, 2, 1, "_CPPv4NK13SectionsModel4nameERK11QModelIndex", "SectionsModel::name::index"], [291, 1, 1, "_CPPv4NK13SectionsModel8rowCountERK11QModelIndex", "SectionsModel::rowCount"], [291, 2, 1, "_CPPv4NK13SectionsModel8rowCountERK11QModelIndex", "SectionsModel::rowCount::parent"], [292, 0, 1, "_CPPv418SectionsProxyModel", "SectionsProxyModel"], [292, 1, 1, "_CPPv4N18SectionsProxyModel18SectionsProxyModelEP13SectionsModelP7QObject", "SectionsProxyModel::SectionsProxyModel"], [292, 2, 1, "_CPPv4N18SectionsProxyModel18SectionsProxyModelEP13SectionsModelP7QObject", "SectionsProxyModel::SectionsProxyModel::parent"], [292, 2, 1, "_CPPv4N18SectionsProxyModel18SectionsProxyModelEP13SectionsModelP7QObject", "SectionsProxyModel::SectionsProxyModel::sourceModel"], [293, 0, 1, "_CPPv414SectionsWidget", "SectionsWidget"], [293, 1, 1, "_CPPv4N14SectionsWidget14SectionsWidgetEP10MainWindow", "SectionsWidget::SectionsWidget"], [293, 2, 1, "_CPPv4N14SectionsWidget14SectionsWidgetEP10MainWindow", "SectionsWidget::SectionsWidget::main"], [293, 1, 1, "_CPPv4N14SectionsWidgetD0Ev", "SectionsWidget::~SectionsWidget"], [117, 0, 1, "_CPPv418SegmentDescription", "SegmentDescription"], [117, 3, 1, "_CPPv4N18SegmentDescription4nameE", "SegmentDescription::name"], [117, 3, 1, "_CPPv4N18SegmentDescription5paddrE", "SegmentDescription::paddr"], [117, 3, 1, "_CPPv4N18SegmentDescription4permE", "SegmentDescription::perm"], [117, 3, 1, "_CPPv4N18SegmentDescription4sizeE", "SegmentDescription::size"], [117, 3, 1, "_CPPv4N18SegmentDescription5vaddrE", "SegmentDescription::vaddr"], [117, 3, 1, "_CPPv4N18SegmentDescription5vsizeE", "SegmentDescription::vsize"], [42, 0, 1, "_CPPv4I00E15SegmentTreeBase", "SegmentTreeBase"], [42, 4, 1, "_CPPv4I00E15SegmentTreeBase", "SegmentTreeBase::FinalType"], [42, 7, 1, "_CPPv4N15SegmentTreeBase12NodePositionE", "SegmentTreeBase::NodePosition"], [42, 7, 1, "_CPPv4N15SegmentTreeBase8NodeTypeE", "SegmentTreeBase::NodeType"], [42, 4, 1, "_CPPv4I00E15SegmentTreeBase", "SegmentTreeBase::NodeTypeT"], [42, 1, 1, "_CPPv4N15SegmentTreeBase15SegmentTreeBaseE6size_t", "SegmentTreeBase::SegmentTreeBase"], [42, 1, 1, "_CPPv4N15SegmentTreeBase15SegmentTreeBaseE6size_tRK8NodeType", "SegmentTreeBase::SegmentTreeBase"], [42, 2, 1, "_CPPv4N15SegmentTreeBase15SegmentTreeBaseE6size_tRK8NodeType", "SegmentTreeBase::SegmentTreeBase::initialValue"], [42, 2, 1, "_CPPv4N15SegmentTreeBase15SegmentTreeBaseE6size_t", "SegmentTreeBase::SegmentTreeBase::size"], [42, 2, 1, "_CPPv4N15SegmentTreeBase15SegmentTreeBaseE6size_tRK8NodeType", "SegmentTreeBase::SegmentTreeBase::size"], [294, 0, 1, "_CPPv413SegmentsModel", "SegmentsModel"], [294, 6, 1, "_CPPv4N13SegmentsModel6Column13AddressColumnE", "SegmentsModel::AddressColumn"], [294, 5, 1, "_CPPv4N13SegmentsModel6ColumnE", "SegmentsModel::Column"], [294, 6, 1, "_CPPv4N13SegmentsModel6Column13AddressColumnE", "SegmentsModel::Column::AddressColumn"], [294, 6, 1, "_CPPv4N13SegmentsModel6Column11ColumnCountE", "SegmentsModel::Column::ColumnCount"], [294, 6, 1, "_CPPv4N13SegmentsModel6Column13CommentColumnE", "SegmentsModel::Column::CommentColumn"], [294, 6, 1, "_CPPv4N13SegmentsModel6Column16EndAddressColumnE", "SegmentsModel::Column::EndAddressColumn"], [294, 6, 1, "_CPPv4N13SegmentsModel6Column10NameColumnE", "SegmentsModel::Column::NameColumn"], [294, 6, 1, "_CPPv4N13SegmentsModel6Column10PermColumnE", "SegmentsModel::Column::PermColumn"], [294, 6, 1, "_CPPv4N13SegmentsModel6Column10SizeColumnE", "SegmentsModel::Column::SizeColumn"], [294, 6, 1, "_CPPv4N13SegmentsModel6Column11ColumnCountE", "SegmentsModel::ColumnCount"], [294, 6, 1, "_CPPv4N13SegmentsModel6Column13CommentColumnE", "SegmentsModel::CommentColumn"], [294, 6, 1, "_CPPv4N13SegmentsModel6Column16EndAddressColumnE", "SegmentsModel::EndAddressColumn"], [294, 6, 1, "_CPPv4N13SegmentsModel6Column10NameColumnE", "SegmentsModel::NameColumn"], [294, 6, 1, "_CPPv4N13SegmentsModel6Column10PermColumnE", "SegmentsModel::PermColumn"], [294, 5, 1, "_CPPv4N13SegmentsModel4RoleE", "SegmentsModel::Role"], [294, 6, 1, "_CPPv4N13SegmentsModel4Role22SegmentDescriptionRoleE", "SegmentsModel::Role::SegmentDescriptionRole"], [294, 6, 1, "_CPPv4N13SegmentsModel4Role22SegmentDescriptionRoleE", "SegmentsModel::SegmentDescriptionRole"], [294, 1, 1, "_CPPv4N13SegmentsModel13SegmentsModelEP5QListI18SegmentDescriptionEP7QObject", "SegmentsModel::SegmentsModel"], [294, 2, 1, "_CPPv4N13SegmentsModel13SegmentsModelEP5QListI18SegmentDescriptionEP7QObject", "SegmentsModel::SegmentsModel::parent"], [294, 2, 1, "_CPPv4N13SegmentsModel13SegmentsModelEP5QListI18SegmentDescriptionEP7QObject", "SegmentsModel::SegmentsModel::segments"], [294, 6, 1, "_CPPv4N13SegmentsModel6Column10SizeColumnE", "SegmentsModel::SizeColumn"], [294, 1, 1, "_CPPv4NK13SegmentsModel7addressERK11QModelIndex", "SegmentsModel::address"], [294, 2, 1, "_CPPv4NK13SegmentsModel7addressERK11QModelIndex", "SegmentsModel::address::index"], [294, 1, 1, "_CPPv4NK13SegmentsModel11columnCountERK11QModelIndex", "SegmentsModel::columnCount"], [294, 2, 1, "_CPPv4NK13SegmentsModel11columnCountERK11QModelIndex", "SegmentsModel::columnCount::parent"], [294, 1, 1, "_CPPv4NK13SegmentsModel4dataERK11QModelIndexi", "SegmentsModel::data"], [294, 2, 1, "_CPPv4NK13SegmentsModel4dataERK11QModelIndexi", "SegmentsModel::data::index"], [294, 2, 1, "_CPPv4NK13SegmentsModel4dataERK11QModelIndexi", "SegmentsModel::data::role"], [294, 1, 1, "_CPPv4NK13SegmentsModel10headerDataEiN2Qt11OrientationEi", "SegmentsModel::headerData"], [294, 2, 1, "_CPPv4NK13SegmentsModel10headerDataEiN2Qt11OrientationEi", "SegmentsModel::headerData::orientation"], [294, 2, 1, "_CPPv4NK13SegmentsModel10headerDataEiN2Qt11OrientationEi", "SegmentsModel::headerData::role"], [294, 2, 1, "_CPPv4NK13SegmentsModel10headerDataEiN2Qt11OrientationEi", "SegmentsModel::headerData::segment"], [294, 1, 1, "_CPPv4NK13SegmentsModel4nameERK11QModelIndex", "SegmentsModel::name"], [294, 2, 1, "_CPPv4NK13SegmentsModel4nameERK11QModelIndex", "SegmentsModel::name::index"], [294, 1, 1, "_CPPv4NK13SegmentsModel8rowCountERK11QModelIndex", "SegmentsModel::rowCount"], [294, 2, 1, "_CPPv4NK13SegmentsModel8rowCountERK11QModelIndex", "SegmentsModel::rowCount::parent"], [295, 0, 1, "_CPPv418SegmentsProxyModel", "SegmentsProxyModel"], [295, 1, 1, "_CPPv4N18SegmentsProxyModel18SegmentsProxyModelEP13SegmentsModelP7QObject", "SegmentsProxyModel::SegmentsProxyModel"], [295, 2, 1, "_CPPv4N18SegmentsProxyModel18SegmentsProxyModelEP13SegmentsModelP7QObject", "SegmentsProxyModel::SegmentsProxyModel::parent"], [295, 2, 1, "_CPPv4N18SegmentsProxyModel18SegmentsProxyModelEP13SegmentsModelP7QObject", "SegmentsProxyModel::SegmentsProxyModel::sourceModel"], [296, 0, 1, "_CPPv414SegmentsWidget", "SegmentsWidget"], [296, 1, 1, "_CPPv4N14SegmentsWidget14SegmentsWidgetEP10MainWindow", "SegmentsWidget::SegmentsWidget"], [296, 2, 1, "_CPPv4N14SegmentsWidget14SegmentsWidgetEP10MainWindow", "SegmentsWidget::SegmentsWidget::main"], [296, 1, 1, "_CPPv4N14SegmentsWidgetD0Ev", "SegmentsWidget::~SegmentsWidget"], [157, 0, 1, "_CPPv415SetToDataDialog", "SetToDataDialog"], [157, 1, 1, "_CPPv4N15SetToDataDialog15SetToDataDialogE3RVAP7QWidget", "SetToDataDialog::SetToDataDialog"], [157, 2, 1, "_CPPv4N15SetToDataDialog15SetToDataDialogE3RVAP7QWidget", "SetToDataDialog::SetToDataDialog::parent"], [157, 2, 1, "_CPPv4N15SetToDataDialog15SetToDataDialogE3RVAP7QWidget", "SetToDataDialog::SetToDataDialog::startAddr"], [157, 1, 1, "_CPPv4N15SetToDataDialog12getItemCountEv", "SetToDataDialog::getItemCount"], [157, 1, 1, "_CPPv4N15SetToDataDialog11getItemSizeEv", "SetToDataDialog::getItemSize"], [157, 1, 1, "_CPPv4N15SetToDataDialogD0Ev", "SetToDataDialog::~SetToDataDialog"], [297, 0, 1, "_CPPv419SimpleTextGraphView", "SimpleTextGraphView"], [338, 0, 1, "_CPPv4N19SimpleTextGraphView12BlockContentE", "SimpleTextGraphView::BlockContent"], [338, 3, 1, "_CPPv4N19SimpleTextGraphView12BlockContent7addressE", "SimpleTextGraphView::BlockContent::address"], [338, 3, 1, "_CPPv4N19SimpleTextGraphView12BlockContent4textE", "SimpleTextGraphView::BlockContent::text"], [297, 1, 1, "_CPPv4N19SimpleTextGraphView19SimpleTextGraphViewEP7QWidgetP10MainWindow", "SimpleTextGraphView::SimpleTextGraphView"], [297, 2, 1, "_CPPv4N19SimpleTextGraphView19SimpleTextGraphViewEP7QWidgetP10MainWindow", "SimpleTextGraphView::SimpleTextGraphView::mainWindow"], [297, 2, 1, "_CPPv4N19SimpleTextGraphView19SimpleTextGraphViewEP7QWidgetP10MainWindow", "SimpleTextGraphView::SimpleTextGraphView::parent"], [297, 1, 1, "_CPPv4N19SimpleTextGraphView9drawBlockER8QPainterRN9GraphView10GraphBlockEb", "SimpleTextGraphView::drawBlock"], [297, 2, 1, "_CPPv4N19SimpleTextGraphView9drawBlockER8QPainterRN9GraphView10GraphBlockEb", "SimpleTextGraphView::drawBlock::block"], [297, 2, 1, "_CPPv4N19SimpleTextGraphView9drawBlockER8QPainterRN9GraphView10GraphBlockEb", "SimpleTextGraphView::drawBlock::interactive"], [297, 2, 1, "_CPPv4N19SimpleTextGraphView9drawBlockER8QPainterRN9GraphView10GraphBlockEb", "SimpleTextGraphView::drawBlock::p"], [297, 1, 1, "_CPPv4N19SimpleTextGraphView17edgeConfigurationERN9GraphView10GraphBlockEPN9GraphView10GraphBlockEb", "SimpleTextGraphView::edgeConfiguration"], [297, 2, 1, "_CPPv4N19SimpleTextGraphView17edgeConfigurationERN9GraphView10GraphBlockEPN9GraphView10GraphBlockEb", "SimpleTextGraphView::edgeConfiguration::from"], [297, 2, 1, "_CPPv4N19SimpleTextGraphView17edgeConfigurationERN9GraphView10GraphBlockEPN9GraphView10GraphBlockEb", "SimpleTextGraphView::edgeConfiguration::interactive"], [297, 2, 1, "_CPPv4N19SimpleTextGraphView17edgeConfigurationERN9GraphView10GraphBlockEPN9GraphView10GraphBlockEb", "SimpleTextGraphView::edgeConfiguration::to"], [297, 1, 1, "_CPPv4N19SimpleTextGraphView11refreshViewEv", "SimpleTextGraphView::refreshView"], [297, 1, 1, "_CPPv4N19SimpleTextGraphView17selectBlockWithIdE4ut64", "SimpleTextGraphView::selectBlockWithId"], [297, 2, 1, "_CPPv4N19SimpleTextGraphView17selectBlockWithIdE4ut64", "SimpleTextGraphView::selectBlockWithId::blockId"], [297, 1, 1, "_CPPv4N19SimpleTextGraphView24setBlockSelectionEnabledEb", "SimpleTextGraphView::setBlockSelectionEnabled"], [297, 2, 1, "_CPPv4N19SimpleTextGraphView24setBlockSelectionEnabledEb", "SimpleTextGraphView::setBlockSelectionEnabled::value"], [297, 1, 1, "_CPPv4N19SimpleTextGraphViewD0Ev", "SimpleTextGraphView::~SimpleTextGraphView"], [298, 0, 1, "_CPPv410StackModel", "StackModel"], [298, 5, 1, "_CPPv4N10StackModel6ColumnE", "StackModel::Column"], [298, 6, 1, "_CPPv4N10StackModel6Column11ColumnCountE", "StackModel::Column::ColumnCount"], [298, 6, 1, "_CPPv4N10StackModel6Column13CommentColumnE", "StackModel::Column::CommentColumn"], [298, 6, 1, "_CPPv4N10StackModel6Column17DescriptionColumnE", "StackModel::Column::DescriptionColumn"], [298, 6, 1, "_CPPv4N10StackModel6Column12OffsetColumnE", "StackModel::Column::OffsetColumn"], [298, 6, 1, "_CPPv4N10StackModel6Column11ValueColumnE", "StackModel::Column::ValueColumn"], [298, 6, 1, "_CPPv4N10StackModel6Column11ColumnCountE", "StackModel::ColumnCount"], [298, 6, 1, "_CPPv4N10StackModel6Column13CommentColumnE", "StackModel::CommentColumn"], [298, 6, 1, "_CPPv4N10StackModel6Column17DescriptionColumnE", "StackModel::DescriptionColumn"], [298, 0, 1, "_CPPv4N10StackModel4ItemE", "StackModel::Item"], [339, 0, 1, "_CPPv4N10StackModel4ItemE", "StackModel::Item"], [298, 3, 1, "_CPPv4N10StackModel4Item6offsetE", "StackModel::Item::offset"], [339, 3, 1, "_CPPv4N10StackModel4Item6offsetE", "StackModel::Item::offset"], [298, 3, 1, "_CPPv4N10StackModel4Item7refDescE", "StackModel::Item::refDesc"], [339, 3, 1, "_CPPv4N10StackModel4Item7refDescE", "StackModel::Item::refDesc"], [298, 3, 1, "_CPPv4N10StackModel4Item5valueE", "StackModel::Item::value"], [339, 3, 1, "_CPPv4N10StackModel4Item5valueE", "StackModel::Item::value"], [298, 6, 1, "_CPPv4N10StackModel6Column12OffsetColumnE", "StackModel::OffsetColumn"], [298, 5, 1, "_CPPv4N10StackModel4RoleE", "StackModel::Role"], [298, 6, 1, "_CPPv4N10StackModel4Role20StackDescriptionRoleE", "StackModel::Role::StackDescriptionRole"], [298, 6, 1, "_CPPv4N10StackModel4Role20StackDescriptionRoleE", "StackModel::StackDescriptionRole"], [298, 1, 1, "_CPPv4N10StackModel10StackModelEP7QObject", "StackModel::StackModel"], [298, 2, 1, "_CPPv4N10StackModel10StackModelEP7QObject", "StackModel::StackModel::parent"], [298, 6, 1, "_CPPv4N10StackModel6Column11ValueColumnE", "StackModel::ValueColumn"], [298, 1, 1, "_CPPv4NK10StackModel11columnCountERK11QModelIndex", "StackModel::columnCount"], [298, 2, 1, "_CPPv4NK10StackModel11columnCountERK11QModelIndex", "StackModel::columnCount::parent"], [298, 1, 1, "_CPPv4NK10StackModel4dataERK11QModelIndexi", "StackModel::data"], [298, 2, 1, "_CPPv4NK10StackModel4dataERK11QModelIndexi", "StackModel::data::index"], [298, 2, 1, "_CPPv4NK10StackModel4dataERK11QModelIndexi", "StackModel::data::role"], [298, 1, 1, "_CPPv4NK10StackModel5flagsERK11QModelIndex", "StackModel::flags"], [298, 2, 1, "_CPPv4NK10StackModel5flagsERK11QModelIndex", "StackModel::flags::index"], [298, 1, 1, "_CPPv4NK10StackModel10headerDataEiN2Qt11OrientationEi", "StackModel::headerData"], [298, 2, 1, "_CPPv4NK10StackModel10headerDataEiN2Qt11OrientationEi", "StackModel::headerData::orientation"], [298, 2, 1, "_CPPv4NK10StackModel10headerDataEiN2Qt11OrientationEi", "StackModel::headerData::role"], [298, 2, 1, "_CPPv4NK10StackModel10headerDataEiN2Qt11OrientationEi", "StackModel::headerData::section"], [298, 1, 1, "_CPPv4N10StackModel6reloadEv", "StackModel::reload"], [298, 1, 1, "_CPPv4NK10StackModel8rowCountERK11QModelIndex", "StackModel::rowCount"], [298, 2, 1, "_CPPv4NK10StackModel8rowCountERK11QModelIndex", "StackModel::rowCount::parent"], [298, 1, 1, "_CPPv4N10StackModel7setDataERK11QModelIndexRK8QVarianti", "StackModel::setData"], [298, 2, 1, "_CPPv4N10StackModel7setDataERK11QModelIndexRK8QVarianti", "StackModel::setData::index"], [298, 2, 1, "_CPPv4N10StackModel7setDataERK11QModelIndexRK8QVarianti", "StackModel::setData::role"], [298, 2, 1, "_CPPv4N10StackModel7setDataERK11QModelIndexRK8QVarianti", "StackModel::setData::value"], [299, 0, 1, "_CPPv411StackWidget", "StackWidget"], [299, 1, 1, "_CPPv4N11StackWidget11StackWidgetEP10MainWindow", "StackWidget::StackWidget"], [299, 2, 1, "_CPPv4N11StackWidget11StackWidgetEP10MainWindow", "StackWidget::StackWidget::main"], [299, 1, 1, "_CPPv4N11StackWidgetD0Ev", "StackWidget::~StackWidget"], [118, 0, 1, "_CPPv417StringDescription", "StringDescription"], [118, 3, 1, "_CPPv4N17StringDescription6lengthE", "StringDescription::length"], [118, 3, 1, "_CPPv4N17StringDescription7sectionE", "StringDescription::section"], [118, 3, 1, "_CPPv4N17StringDescription4sizeE", "StringDescription::size"], [118, 3, 1, "_CPPv4N17StringDescription6stringE", "StringDescription::string"], [118, 3, 1, "_CPPv4N17StringDescription4typeE", "StringDescription::type"], [118, 3, 1, "_CPPv4N17StringDescription5vaddrE", "StringDescription::vaddr"], [300, 0, 1, "_CPPv412StringsModel", "StringsModel"], [300, 5, 1, "_CPPv4N12StringsModel6ColumnE", "StringsModel::Column"], [300, 6, 1, "_CPPv4N12StringsModel6Column11ColumnCountE", "StringsModel::Column::ColumnCount"], [300, 6, 1, "_CPPv4N12StringsModel6Column13CommentColumnE", "StringsModel::Column::CommentColumn"], [300, 6, 1, "_CPPv4N12StringsModel6Column12LengthColumnE", "StringsModel::Column::LengthColumn"], [300, 6, 1, "_CPPv4N12StringsModel6Column12OffsetColumnE", "StringsModel::Column::OffsetColumn"], [300, 6, 1, "_CPPv4N12StringsModel6Column13SectionColumnE", "StringsModel::Column::SectionColumn"], [300, 6, 1, "_CPPv4N12StringsModel6Column10SizeColumnE", "StringsModel::Column::SizeColumn"], [300, 6, 1, "_CPPv4N12StringsModel6Column12StringColumnE", "StringsModel::Column::StringColumn"], [300, 6, 1, "_CPPv4N12StringsModel6Column10TypeColumnE", "StringsModel::Column::TypeColumn"], [300, 6, 1, "_CPPv4N12StringsModel6Column11ColumnCountE", "StringsModel::ColumnCount"], [300, 6, 1, "_CPPv4N12StringsModel6Column13CommentColumnE", "StringsModel::CommentColumn"], [300, 6, 1, "_CPPv4N12StringsModel6Column12LengthColumnE", "StringsModel::LengthColumn"], [300, 6, 1, "_CPPv4N12StringsModel6Column12OffsetColumnE", "StringsModel::OffsetColumn"], [300, 6, 1, "_CPPv4N12StringsModel6Column13SectionColumnE", "StringsModel::SectionColumn"], [300, 6, 1, "_CPPv4N12StringsModel6Column10SizeColumnE", "StringsModel::SizeColumn"], [300, 6, 1, "_CPPv4N12StringsModel6Column12StringColumnE", "StringsModel::StringColumn"], [300, 3, 1, "_CPPv4N12StringsModel21StringDescriptionRoleE", "StringsModel::StringDescriptionRole"], [300, 1, 1, "_CPPv4N12StringsModel12StringsModelEP5QListI17StringDescriptionEP7QObject", "StringsModel::StringsModel"], [300, 2, 1, "_CPPv4N12StringsModel12StringsModelEP5QListI17StringDescriptionEP7QObject", "StringsModel::StringsModel::parent"], [300, 2, 1, "_CPPv4N12StringsModel12StringsModelEP5QListI17StringDescriptionEP7QObject", "StringsModel::StringsModel::strings"], [300, 6, 1, "_CPPv4N12StringsModel6Column10TypeColumnE", "StringsModel::TypeColumn"], [300, 1, 1, "_CPPv4NK12StringsModel7addressERK11QModelIndex", "StringsModel::address"], [300, 2, 1, "_CPPv4NK12StringsModel7addressERK11QModelIndex", "StringsModel::address::index"], [300, 1, 1, "_CPPv4NK12StringsModel11columnCountERK11QModelIndex", "StringsModel::columnCount"], [300, 2, 1, "_CPPv4NK12StringsModel11columnCountERK11QModelIndex", "StringsModel::columnCount::parent"], [300, 1, 1, "_CPPv4NK12StringsModel4dataERK11QModelIndexi", "StringsModel::data"], [300, 2, 1, "_CPPv4NK12StringsModel4dataERK11QModelIndexi", "StringsModel::data::index"], [300, 2, 1, "_CPPv4NK12StringsModel4dataERK11QModelIndexi", "StringsModel::data::role"], [300, 1, 1, "_CPPv4NK12StringsModel11descriptionERK11QModelIndex", "StringsModel::description"], [300, 2, 1, "_CPPv4NK12StringsModel11descriptionERK11QModelIndex", "StringsModel::description::index"], [300, 1, 1, "_CPPv4NK12StringsModel10headerDataEiN2Qt11OrientationEi", "StringsModel::headerData"], [300, 2, 1, "_CPPv4NK12StringsModel10headerDataEiN2Qt11OrientationEi", "StringsModel::headerData::orientation"], [300, 2, 1, "_CPPv4NK12StringsModel10headerDataEiN2Qt11OrientationEi", "StringsModel::headerData::role"], [300, 2, 1, "_CPPv4NK12StringsModel10headerDataEiN2Qt11OrientationEi", "StringsModel::headerData::section"], [300, 1, 1, "_CPPv4NK12StringsModel8rowCountERK11QModelIndex", "StringsModel::rowCount"], [300, 2, 1, "_CPPv4NK12StringsModel8rowCountERK11QModelIndex", "StringsModel::rowCount::parent"], [301, 0, 1, "_CPPv417StringsProxyModel", "StringsProxyModel"], [301, 1, 1, "_CPPv4N17StringsProxyModel17StringsProxyModelEP12StringsModelP7QObject", "StringsProxyModel::StringsProxyModel"], [301, 2, 1, "_CPPv4N17StringsProxyModel17StringsProxyModelEP12StringsModelP7QObject", "StringsProxyModel::StringsProxyModel::parent"], [301, 2, 1, "_CPPv4N17StringsProxyModel17StringsProxyModelEP12StringsModelP7QObject", "StringsProxyModel::StringsProxyModel::sourceModel"], [301, 1, 1, "_CPPv4N17StringsProxyModel18setSelectedSectionE7QString", "StringsProxyModel::setSelectedSection"], [301, 2, 1, "_CPPv4N17StringsProxyModel18setSelectedSectionE7QString", "StringsProxyModel::setSelectedSection::section"], [43, 0, 1, "_CPPv411StringsTask", "StringsTask"], [43, 1, 1, "_CPPv4N11StringsTask8getTitleEv", "StringsTask::getTitle"], [43, 1, 1, "_CPPv4N11StringsTask20stringSearchFinishedERK5QListI17StringDescriptionE", "StringsTask::stringSearchFinished"], [43, 2, 1, "_CPPv4N11StringsTask20stringSearchFinishedERK5QListI17StringDescriptionE", "StringsTask::stringSearchFinished::strings"], [302, 0, 1, "_CPPv413StringsWidget", "StringsWidget"], [302, 1, 1, "_CPPv4N13StringsWidget13StringsWidgetEP10MainWindow", "StringsWidget::StringsWidget"], [302, 2, 1, "_CPPv4N13StringsWidget13StringsWidgetEP10MainWindow", "StringsWidget::StringsWidget::main"], [302, 1, 1, "_CPPv4N13StringsWidgetD0Ev", "StringsWidget::~StringsWidget"], [44, 0, 1, "_CPPv413SvgIconEngine", "SvgIconEngine"], [44, 1, 1, "_CPPv4N13SvgIconEngine13SvgIconEngineERK7QString", "SvgIconEngine::SvgIconEngine"], [44, 1, 1, "_CPPv4N13SvgIconEngine13SvgIconEngineERK7QStringN8QPalette9ColorRoleE", "SvgIconEngine::SvgIconEngine"], [44, 1, 1, "_CPPv4N13SvgIconEngine13SvgIconEngineERK7QStringRK6QColor", "SvgIconEngine::SvgIconEngine"], [44, 2, 1, "_CPPv4N13SvgIconEngine13SvgIconEngineERK7QStringN8QPalette9ColorRoleE", "SvgIconEngine::SvgIconEngine::colorRole"], [44, 2, 1, "_CPPv4N13SvgIconEngine13SvgIconEngineERK7QString", "SvgIconEngine::SvgIconEngine::filename"], [44, 2, 1, "_CPPv4N13SvgIconEngine13SvgIconEngineERK7QStringN8QPalette9ColorRoleE", "SvgIconEngine::SvgIconEngine::filename"], [44, 2, 1, "_CPPv4N13SvgIconEngine13SvgIconEngineERK7QStringRK6QColor", "SvgIconEngine::SvgIconEngine::filename"], [44, 2, 1, "_CPPv4N13SvgIconEngine13SvgIconEngineERK7QStringRK6QColor", "SvgIconEngine::SvgIconEngine::tintColor"], [44, 1, 1, "_CPPv4NK13SvgIconEngine5cloneEv", "SvgIconEngine::clone"], [44, 1, 1, "_CPPv4N13SvgIconEngine5paintEP8QPainterRK5QRectN5QIcon4ModeEN5QIcon5StateE", "SvgIconEngine::paint"], [44, 2, 1, "_CPPv4N13SvgIconEngine5paintEP8QPainterRK5QRectN5QIcon4ModeEN5QIcon5StateE", "SvgIconEngine::paint::mode"], [44, 2, 1, "_CPPv4N13SvgIconEngine5paintEP8QPainterRK5QRectN5QIcon4ModeEN5QIcon5StateE", "SvgIconEngine::paint::painter"], [44, 2, 1, "_CPPv4N13SvgIconEngine5paintEP8QPainterRK5QRectN5QIcon4ModeEN5QIcon5StateE", "SvgIconEngine::paint::rect"], [44, 2, 1, "_CPPv4N13SvgIconEngine5paintEP8QPainterRK5QRectN5QIcon4ModeEN5QIcon5StateE", "SvgIconEngine::paint::state"], [44, 1, 1, "_CPPv4N13SvgIconEngine6pixmapERK5QSizeN5QIcon4ModeEN5QIcon5StateE", "SvgIconEngine::pixmap"], [44, 2, 1, "_CPPv4N13SvgIconEngine6pixmapERK5QSizeN5QIcon4ModeEN5QIcon5StateE", "SvgIconEngine::pixmap::mode"], [44, 2, 1, "_CPPv4N13SvgIconEngine6pixmapERK5QSizeN5QIcon4ModeEN5QIcon5StateE", "SvgIconEngine::pixmap::size"], [44, 2, 1, "_CPPv4N13SvgIconEngine6pixmapERK5QSizeN5QIcon4ModeEN5QIcon5StateE", "SvgIconEngine::pixmap::state"], [119, 0, 1, "_CPPv417SymbolDescription", "SymbolDescription"], [119, 3, 1, "_CPPv4N17SymbolDescription4bindE", "SymbolDescription::bind"], [119, 3, 1, "_CPPv4N17SymbolDescription4nameE", "SymbolDescription::name"], [119, 3, 1, "_CPPv4N17SymbolDescription4typeE", "SymbolDescription::type"], [119, 3, 1, "_CPPv4N17SymbolDescription5vaddrE", "SymbolDescription::vaddr"], [303, 0, 1, "_CPPv412SymbolsModel", "SymbolsModel"], [303, 6, 1, "_CPPv4N12SymbolsModel6Column13AddressColumnE", "SymbolsModel::AddressColumn"], [303, 5, 1, "_CPPv4N12SymbolsModel6ColumnE", "SymbolsModel::Column"], [303, 6, 1, "_CPPv4N12SymbolsModel6Column13AddressColumnE", "SymbolsModel::Column::AddressColumn"], [303, 6, 1, "_CPPv4N12SymbolsModel6Column11ColumnCountE", "SymbolsModel::Column::ColumnCount"], [303, 6, 1, "_CPPv4N12SymbolsModel6Column13CommentColumnE", "SymbolsModel::Column::CommentColumn"], [303, 6, 1, "_CPPv4N12SymbolsModel6Column10NameColumnE", "SymbolsModel::Column::NameColumn"], [303, 6, 1, "_CPPv4N12SymbolsModel6Column10TypeColumnE", "SymbolsModel::Column::TypeColumn"], [303, 6, 1, "_CPPv4N12SymbolsModel6Column11ColumnCountE", "SymbolsModel::ColumnCount"], [303, 6, 1, "_CPPv4N12SymbolsModel6Column13CommentColumnE", "SymbolsModel::CommentColumn"], [303, 6, 1, "_CPPv4N12SymbolsModel6Column10NameColumnE", "SymbolsModel::NameColumn"], [303, 5, 1, "_CPPv4N12SymbolsModel4RoleE", "SymbolsModel::Role"], [303, 6, 1, "_CPPv4N12SymbolsModel4Role21SymbolDescriptionRoleE", "SymbolsModel::Role::SymbolDescriptionRole"], [303, 6, 1, "_CPPv4N12SymbolsModel4Role21SymbolDescriptionRoleE", "SymbolsModel::SymbolDescriptionRole"], [303, 1, 1, "_CPPv4N12SymbolsModel12SymbolsModelEP5QListI17SymbolDescriptionEP7QObject", "SymbolsModel::SymbolsModel"], [303, 2, 1, "_CPPv4N12SymbolsModel12SymbolsModelEP5QListI17SymbolDescriptionEP7QObject", "SymbolsModel::SymbolsModel::exports"], [303, 2, 1, "_CPPv4N12SymbolsModel12SymbolsModelEP5QListI17SymbolDescriptionEP7QObject", "SymbolsModel::SymbolsModel::parent"], [303, 6, 1, "_CPPv4N12SymbolsModel6Column10TypeColumnE", "SymbolsModel::TypeColumn"], [303, 1, 1, "_CPPv4NK12SymbolsModel7addressERK11QModelIndex", "SymbolsModel::address"], [303, 2, 1, "_CPPv4NK12SymbolsModel7addressERK11QModelIndex", "SymbolsModel::address::index"], [303, 1, 1, "_CPPv4NK12SymbolsModel11columnCountERK11QModelIndex", "SymbolsModel::columnCount"], [303, 2, 1, "_CPPv4NK12SymbolsModel11columnCountERK11QModelIndex", "SymbolsModel::columnCount::parent"], [303, 1, 1, "_CPPv4NK12SymbolsModel4dataERK11QModelIndexi", "SymbolsModel::data"], [303, 2, 1, "_CPPv4NK12SymbolsModel4dataERK11QModelIndexi", "SymbolsModel::data::index"], [303, 2, 1, "_CPPv4NK12SymbolsModel4dataERK11QModelIndexi", "SymbolsModel::data::role"], [303, 1, 1, "_CPPv4NK12SymbolsModel10headerDataEiN2Qt11OrientationEi", "SymbolsModel::headerData"], [303, 2, 1, "_CPPv4NK12SymbolsModel10headerDataEiN2Qt11OrientationEi", "SymbolsModel::headerData::orientation"], [303, 2, 1, "_CPPv4NK12SymbolsModel10headerDataEiN2Qt11OrientationEi", "SymbolsModel::headerData::role"], [303, 2, 1, "_CPPv4NK12SymbolsModel10headerDataEiN2Qt11OrientationEi", "SymbolsModel::headerData::section"], [303, 1, 1, "_CPPv4NK12SymbolsModel4nameERK11QModelIndex", "SymbolsModel::name"], [303, 2, 1, "_CPPv4NK12SymbolsModel4nameERK11QModelIndex", "SymbolsModel::name::index"], [303, 1, 1, "_CPPv4NK12SymbolsModel8rowCountERK11QModelIndex", "SymbolsModel::rowCount"], [303, 2, 1, "_CPPv4NK12SymbolsModel8rowCountERK11QModelIndex", "SymbolsModel::rowCount::parent"], [304, 0, 1, "_CPPv417SymbolsProxyModel", "SymbolsProxyModel"], [304, 1, 1, "_CPPv4N17SymbolsProxyModel17SymbolsProxyModelEP12SymbolsModelP7QObject", "SymbolsProxyModel::SymbolsProxyModel"], [304, 2, 1, "_CPPv4N17SymbolsProxyModel17SymbolsProxyModelEP12SymbolsModelP7QObject", "SymbolsProxyModel::SymbolsProxyModel::parent"], [304, 2, 1, "_CPPv4N17SymbolsProxyModel17SymbolsProxyModelEP12SymbolsModelP7QObject", "SymbolsProxyModel::SymbolsProxyModel::sourceModel"], [305, 0, 1, "_CPPv413SymbolsWidget", "SymbolsWidget"], [305, 1, 1, "_CPPv4N13SymbolsWidget13SymbolsWidgetEP10MainWindow", "SymbolsWidget::SymbolsWidget"], [305, 2, 1, "_CPPv4N13SymbolsWidget13SymbolsWidgetEP10MainWindow", "SymbolsWidget::SymbolsWidget::main"], [305, 1, 1, "_CPPv4N13SymbolsWidgetD0Ev", "SymbolsWidget::~SymbolsWidget"], [45, 0, 1, "_CPPv410TempConfig", "TempConfig"], [45, 1, 1, "_CPPv4N10TempConfig10TempConfigEv", "TempConfig::TempConfig"], [45, 1, 1, "_CPPv4N10TempConfig3setERK7QStringPKc", "TempConfig::set"], [45, 1, 1, "_CPPv4N10TempConfig3setERK7QStringRK7QString", "TempConfig::set"], [45, 1, 1, "_CPPv4N10TempConfig3setERK7QStringb", "TempConfig::set"], [45, 1, 1, "_CPPv4N10TempConfig3setERK7QStringi", "TempConfig::set"], [45, 2, 1, "_CPPv4N10TempConfig3setERK7QStringPKc", "TempConfig::set::key"], [45, 2, 1, "_CPPv4N10TempConfig3setERK7QStringRK7QString", "TempConfig::set::key"], [45, 2, 1, "_CPPv4N10TempConfig3setERK7QStringb", "TempConfig::set::key"], [45, 2, 1, "_CPPv4N10TempConfig3setERK7QStringi", "TempConfig::set::key"], [45, 2, 1, "_CPPv4N10TempConfig3setERK7QStringPKc", "TempConfig::set::value"], [45, 2, 1, "_CPPv4N10TempConfig3setERK7QStringRK7QString", "TempConfig::set::value"], [45, 2, 1, "_CPPv4N10TempConfig3setERK7QStringb", "TempConfig::set::value"], [45, 2, 1, "_CPPv4N10TempConfig3setERK7QStringi", "TempConfig::set::value"], [45, 1, 1, "_CPPv4N10TempConfigD0Ev", "TempConfig::~TempConfig"], [306, 0, 1, "_CPPv418ThreadsFilterModel", "ThreadsFilterModel"], [306, 1, 1, "_CPPv4N18ThreadsFilterModel18ThreadsFilterModelEP7QObject", "ThreadsFilterModel::ThreadsFilterModel"], [306, 2, 1, "_CPPv4N18ThreadsFilterModel18ThreadsFilterModelEP7QObject", "ThreadsFilterModel::ThreadsFilterModel::parent"], [307, 0, 1, "_CPPv413ThreadsWidget", "ThreadsWidget"], [307, 6, 1, "_CPPv4N13ThreadsWidget11ColumnIndex11COLUMN_PATHE", "ThreadsWidget::COLUMN_PATH"], [307, 6, 1, "_CPPv4N13ThreadsWidget11ColumnIndex10COLUMN_PIDE", "ThreadsWidget::COLUMN_PID"], [307, 6, 1, "_CPPv4N13ThreadsWidget11ColumnIndex13COLUMN_STATUSE", "ThreadsWidget::COLUMN_STATUS"], [307, 5, 1, "_CPPv4N13ThreadsWidget11ColumnIndexE", "ThreadsWidget::ColumnIndex"], [307, 6, 1, "_CPPv4N13ThreadsWidget11ColumnIndex11COLUMN_PATHE", "ThreadsWidget::ColumnIndex::COLUMN_PATH"], [307, 6, 1, "_CPPv4N13ThreadsWidget11ColumnIndex10COLUMN_PIDE", "ThreadsWidget::ColumnIndex::COLUMN_PID"], [307, 6, 1, "_CPPv4N13ThreadsWidget11ColumnIndex13COLUMN_STATUSE", "ThreadsWidget::ColumnIndex::COLUMN_STATUS"], [307, 1, 1, "_CPPv4N13ThreadsWidget13ThreadsWidgetEP10MainWindow", "ThreadsWidget::ThreadsWidget"], [307, 2, 1, "_CPPv4N13ThreadsWidget13ThreadsWidgetEP10MainWindow", "ThreadsWidget::ThreadsWidget::main"], [307, 1, 1, "_CPPv4N13ThreadsWidgetD0Ev", "ThreadsWidget::~ThreadsWidget"], [120, 0, 1, "_CPPv415TypeDescription", "TypeDescription"], [120, 3, 1, "_CPPv4N15TypeDescription8categoryE", "TypeDescription::category"], [120, 3, 1, "_CPPv4N15TypeDescription6formatE", "TypeDescription::format"], [120, 3, 1, "_CPPv4N15TypeDescription4sizeE", "TypeDescription::size"], [120, 3, 1, "_CPPv4N15TypeDescription4typeE", "TypeDescription::type"], [158, 0, 1, "_CPPv422TypesInteractionDialog", "TypesInteractionDialog"], [158, 1, 1, "_CPPv4N22TypesInteractionDialog22TypesInteractionDialogEP7QWidgetb", "TypesInteractionDialog::TypesInteractionDialog"], [158, 2, 1, "_CPPv4N22TypesInteractionDialog22TypesInteractionDialogEP7QWidgetb", "TypesInteractionDialog::TypesInteractionDialog::parent"], [158, 2, 1, "_CPPv4N22TypesInteractionDialog22TypesInteractionDialogEP7QWidgetb", "TypesInteractionDialog::TypesInteractionDialog::readOnly"], [158, 1, 1, "_CPPv4N22TypesInteractionDialog12fillTextAreaE7QString", "TypesInteractionDialog::fillTextArea"], [158, 2, 1, "_CPPv4N22TypesInteractionDialog12fillTextAreaE7QString", "TypesInteractionDialog::fillTextArea::content"], [158, 1, 1, "_CPPv4N22TypesInteractionDialog14newTypesLoadedEv", "TypesInteractionDialog::newTypesLoaded"], [158, 1, 1, "_CPPv4N22TypesInteractionDialog11setTypeNameE7QString", "TypesInteractionDialog::setTypeName"], [158, 2, 1, "_CPPv4N22TypesInteractionDialog11setTypeNameE7QString", "TypesInteractionDialog::setTypeName::name"], [158, 1, 1, "_CPPv4N22TypesInteractionDialogD0Ev", "TypesInteractionDialog::~TypesInteractionDialog"], [308, 0, 1, "_CPPv410TypesModel", "TypesModel"], [308, 6, 1, "_CPPv4N10TypesModel7Columns8CATEGORYE", "TypesModel::CATEGORY"], [308, 6, 1, "_CPPv4N10TypesModel7Columns5COUNTE", "TypesModel::COUNT"], [308, 5, 1, "_CPPv4N10TypesModel7ColumnsE", "TypesModel::Columns"], [308, 6, 1, "_CPPv4N10TypesModel7Columns8CATEGORYE", "TypesModel::Columns::CATEGORY"], [308, 6, 1, "_CPPv4N10TypesModel7Columns5COUNTE", "TypesModel::Columns::COUNT"], [308, 6, 1, "_CPPv4N10TypesModel7Columns6FORMATE", "TypesModel::Columns::FORMAT"], [308, 6, 1, "_CPPv4N10TypesModel7Columns4SIZEE", "TypesModel::Columns::SIZE"], [308, 6, 1, "_CPPv4N10TypesModel7Columns4TYPEE", "TypesModel::Columns::TYPE"], [308, 6, 1, "_CPPv4N10TypesModel7Columns6FORMATE", "TypesModel::FORMAT"], [308, 6, 1, "_CPPv4N10TypesModel7Columns4SIZEE", "TypesModel::SIZE"], [308, 6, 1, "_CPPv4N10TypesModel7Columns4TYPEE", "TypesModel::TYPE"], [308, 3, 1, "_CPPv4N10TypesModel19TypeDescriptionRoleE", "TypesModel::TypeDescriptionRole"], [308, 1, 1, "_CPPv4N10TypesModel10TypesModelEP5QListI15TypeDescriptionEP7QObject", "TypesModel::TypesModel"], [308, 2, 1, "_CPPv4N10TypesModel10TypesModelEP5QListI15TypeDescriptionEP7QObject", "TypesModel::TypesModel::parent"], [308, 2, 1, "_CPPv4N10TypesModel10TypesModelEP5QListI15TypeDescriptionEP7QObject", "TypesModel::TypesModel::types"], [308, 1, 1, "_CPPv4NK10TypesModel11columnCountERK11QModelIndex", "TypesModel::columnCount"], [308, 2, 1, "_CPPv4NK10TypesModel11columnCountERK11QModelIndex", "TypesModel::columnCount::parent"], [308, 1, 1, "_CPPv4NK10TypesModel4dataERK11QModelIndexi", "TypesModel::data"], [308, 2, 1, "_CPPv4NK10TypesModel4dataERK11QModelIndexi", "TypesModel::data::index"], [308, 2, 1, "_CPPv4NK10TypesModel4dataERK11QModelIndexi", "TypesModel::data::role"], [308, 1, 1, "_CPPv4NK10TypesModel10headerDataEiN2Qt11OrientationEi", "TypesModel::headerData"], [308, 2, 1, "_CPPv4NK10TypesModel10headerDataEiN2Qt11OrientationEi", "TypesModel::headerData::orientation"], [308, 2, 1, "_CPPv4NK10TypesModel10headerDataEiN2Qt11OrientationEi", "TypesModel::headerData::role"], [308, 2, 1, "_CPPv4NK10TypesModel10headerDataEiN2Qt11OrientationEi", "TypesModel::headerData::section"], [308, 1, 1, "_CPPv4N10TypesModel10removeRowsEiiRK11QModelIndex", "TypesModel::removeRows"], [308, 2, 1, "_CPPv4N10TypesModel10removeRowsEiiRK11QModelIndex", "TypesModel::removeRows::count"], [308, 2, 1, "_CPPv4N10TypesModel10removeRowsEiiRK11QModelIndex", "TypesModel::removeRows::parent"], [308, 2, 1, "_CPPv4N10TypesModel10removeRowsEiiRK11QModelIndex", "TypesModel::removeRows::row"], [308, 1, 1, "_CPPv4NK10TypesModel8rowCountERK11QModelIndex", "TypesModel::rowCount"], [308, 2, 1, "_CPPv4NK10TypesModel8rowCountERK11QModelIndex", "TypesModel::rowCount::parent"], [309, 0, 1, "_CPPv425TypesSortFilterProxyModel", "TypesSortFilterProxyModel"], [309, 1, 1, "_CPPv4N25TypesSortFilterProxyModel25TypesSortFilterProxyModelEP10TypesModelP7QObject", "TypesSortFilterProxyModel::TypesSortFilterProxyModel"], [309, 2, 1, "_CPPv4N25TypesSortFilterProxyModel25TypesSortFilterProxyModelEP10TypesModelP7QObject", "TypesSortFilterProxyModel::TypesSortFilterProxyModel::parent"], [309, 2, 1, "_CPPv4N25TypesSortFilterProxyModel25TypesSortFilterProxyModelEP10TypesModelP7QObject", "TypesSortFilterProxyModel::TypesSortFilterProxyModel::source_model"], [309, 1, 1, "_CPPv4N25TypesSortFilterProxyModel11setCategoryE7QString", "TypesSortFilterProxyModel::setCategory"], [309, 2, 1, "_CPPv4N25TypesSortFilterProxyModel11setCategoryE7QString", "TypesSortFilterProxyModel::setCategory::category"], [310, 0, 1, "_CPPv411TypesWidget", "TypesWidget"], [310, 1, 1, "_CPPv4N11TypesWidget11TypesWidgetEP10MainWindow", "TypesWidget::TypesWidget"], [310, 2, 1, "_CPPv4N11TypesWidget11TypesWidgetEP10MainWindow", "TypesWidget::TypesWidget::main"], [310, 1, 1, "_CPPv4N11TypesWidgetD0Ev", "TypesWidget::~TypesWidget"], [46, 0, 1, "_CPPv412UpdateWorker", "UpdateWorker"], [46, 1, 1, "_CPPv4N12UpdateWorker12UpdateWorkerEP7QObject", "UpdateWorker::UpdateWorker"], [46, 2, 1, "_CPPv4N12UpdateWorker12UpdateWorkerEP7QObject", "UpdateWorker::UpdateWorker::parent"], [46, 1, 1, "_CPPv4N12UpdateWorker13checkCompleteERK14QVersionNumberRK7QString", "UpdateWorker::checkComplete"], [46, 2, 1, "_CPPv4N12UpdateWorker13checkCompleteERK14QVersionNumberRK7QString", "UpdateWorker::checkComplete::currVerson"], [46, 2, 1, "_CPPv4N12UpdateWorker13checkCompleteERK14QVersionNumberRK7QString", "UpdateWorker::checkComplete::errorMsg"], [46, 1, 1, "_CPPv4N12UpdateWorker19checkCurrentVersionE6time_t", "UpdateWorker::checkCurrentVersion"], [46, 2, 1, "_CPPv4N12UpdateWorker19checkCurrentVersionE6time_t", "UpdateWorker::checkCurrentVersion::timeoutMs"], [46, 1, 1, "_CPPv4N12UpdateWorker20currentVersionNumberEv", "UpdateWorker::currentVersionNumber"], [46, 1, 1, "_CPPv4N12UpdateWorker16showUpdateDialogEb", "UpdateWorker::showUpdateDialog"], [46, 2, 1, "_CPPv4N12UpdateWorker16showUpdateDialogEb", "UpdateWorker::showUpdateDialog::showDontCheckForUpdatesButton"], [121, 0, 1, "_CPPv417VTableDescription", "VTableDescription"], [121, 3, 1, "_CPPv4N17VTableDescription4addrE", "VTableDescription::addr"], [121, 3, 1, "_CPPv4N17VTableDescription7methodsE", "VTableDescription::methods"], [311, 0, 1, "_CPPv411VTableModel", "VTableModel"], [311, 6, 1, "_CPPv4N11VTableModel7Columns7ADDRESSE", "VTableModel::ADDRESS"], [311, 6, 1, "_CPPv4N11VTableModel7Columns5COUNTE", "VTableModel::COUNT"], [311, 5, 1, "_CPPv4N11VTableModel7ColumnsE", "VTableModel::Columns"], [311, 6, 1, "_CPPv4N11VTableModel7Columns7ADDRESSE", "VTableModel::Columns::ADDRESS"], [311, 6, 1, "_CPPv4N11VTableModel7Columns5COUNTE", "VTableModel::Columns::COUNT"], [311, 6, 1, "_CPPv4N11VTableModel7Columns4NAMEE", "VTableModel::Columns::NAME"], [311, 6, 1, "_CPPv4N11VTableModel7Columns4NAMEE", "VTableModel::NAME"], [311, 3, 1, "_CPPv4N11VTableModel21VTableDescriptionRoleE", "VTableModel::VTableDescriptionRole"], [311, 1, 1, "_CPPv4N11VTableModel11VTableModelEP5QListI17VTableDescriptionEP7QObject", "VTableModel::VTableModel"], [311, 2, 1, "_CPPv4N11VTableModel11VTableModelEP5QListI17VTableDescriptionEP7QObject", "VTableModel::VTableModel::parent"], [311, 2, 1, "_CPPv4N11VTableModel11VTableModelEP5QListI17VTableDescriptionEP7QObject", "VTableModel::VTableModel::vtables"], [311, 1, 1, "_CPPv4NK11VTableModel11columnCountERK11QModelIndex", "VTableModel::columnCount"], [311, 2, 1, "_CPPv4NK11VTableModel11columnCountERK11QModelIndex", "VTableModel::columnCount::parent"], [311, 1, 1, "_CPPv4NK11VTableModel4dataERK11QModelIndexi", "VTableModel::data"], [311, 2, 1, "_CPPv4NK11VTableModel4dataERK11QModelIndexi", "VTableModel::data::index"], [311, 2, 1, "_CPPv4NK11VTableModel4dataERK11QModelIndexi", "VTableModel::data::role"], [311, 1, 1, "_CPPv4NK11VTableModel10headerDataEiN2Qt11OrientationEi", "VTableModel::headerData"], [311, 2, 1, "_CPPv4NK11VTableModel10headerDataEiN2Qt11OrientationEi", "VTableModel::headerData::orientation"], [311, 2, 1, "_CPPv4NK11VTableModel10headerDataEiN2Qt11OrientationEi", "VTableModel::headerData::role"], [311, 2, 1, "_CPPv4NK11VTableModel10headerDataEiN2Qt11OrientationEi", "VTableModel::headerData::section"], [311, 1, 1, "_CPPv4NK11VTableModel5indexEiiRK11QModelIndex", "VTableModel::index"], [311, 2, 1, "_CPPv4NK11VTableModel5indexEiiRK11QModelIndex", "VTableModel::index::column"], [311, 2, 1, "_CPPv4NK11VTableModel5indexEiiRK11QModelIndex", "VTableModel::index::parent"], [311, 2, 1, "_CPPv4NK11VTableModel5indexEiiRK11QModelIndex", "VTableModel::index::row"], [311, 1, 1, "_CPPv4NK11VTableModel6parentERK11QModelIndex", "VTableModel::parent"], [311, 2, 1, "_CPPv4NK11VTableModel6parentERK11QModelIndex", "VTableModel::parent::index"], [311, 1, 1, "_CPPv4NK11VTableModel8rowCountERK11QModelIndex", "VTableModel::rowCount"], [311, 2, 1, "_CPPv4NK11VTableModel8rowCountERK11QModelIndex", "VTableModel::rowCount::parent"], [312, 0, 1, "_CPPv426VTableSortFilterProxyModel", "VTableSortFilterProxyModel"], [312, 1, 1, "_CPPv4N26VTableSortFilterProxyModel26VTableSortFilterProxyModelEP11VTableModelP7QObject", "VTableSortFilterProxyModel::VTableSortFilterProxyModel"], [312, 2, 1, "_CPPv4N26VTableSortFilterProxyModel26VTableSortFilterProxyModelEP11VTableModelP7QObject", "VTableSortFilterProxyModel::VTableSortFilterProxyModel::model"], [312, 2, 1, "_CPPv4N26VTableSortFilterProxyModel26VTableSortFilterProxyModelEP11VTableModelP7QObject", "VTableSortFilterProxyModel::VTableSortFilterProxyModel::parent"], [313, 0, 1, "_CPPv413VTablesWidget", "VTablesWidget"], [313, 1, 1, "_CPPv4N13VTablesWidget13VTablesWidgetEP10MainWindow", "VTablesWidget::VTablesWidget"], [313, 2, 1, "_CPPv4N13VTablesWidget13VTablesWidgetEP10MainWindow", "VTablesWidget::VTablesWidget::main"], [313, 1, 1, "_CPPv4N13VTablesWidgetD0Ev", "VTablesWidget::~VTablesWidget"], [122, 0, 1, "_CPPv419VariableDescription", "VariableDescription"], [122, 3, 1, "_CPPv4N19VariableDescription4nameE", "VariableDescription::name"], [122, 3, 1, "_CPPv4N19VariableDescription11storageTypeE", "VariableDescription::storageType"], [122, 3, 1, "_CPPv4N19VariableDescription4typeE", "VariableDescription::type"], [122, 3, 1, "_CPPv4N19VariableDescription5valueE", "VariableDescription::value"], [159, 0, 1, "_CPPv417VersionInfoDialog", "VersionInfoDialog"], [159, 1, 1, "_CPPv4N17VersionInfoDialog17VersionInfoDialogEP7QWidget", "VersionInfoDialog::VersionInfoDialog"], [159, 2, 1, "_CPPv4N17VersionInfoDialog17VersionInfoDialogEP7QWidget", "VersionInfoDialog::VersionInfoDialog::parent"], [159, 1, 1, "_CPPv4N17VersionInfoDialogD0Ev", "VersionInfoDialog::~VersionInfoDialog"], [314, 0, 1, "_CPPv415VirtualAddrDock", "VirtualAddrDock"], [314, 1, 1, "_CPPv4N15VirtualAddrDock15VirtualAddrDockEP13SectionsModelP7QWidget", "VirtualAddrDock::VirtualAddrDock"], [314, 2, 1, "_CPPv4N15VirtualAddrDock15VirtualAddrDockEP13SectionsModelP7QWidget", "VirtualAddrDock::VirtualAddrDock::model"], [314, 2, 1, "_CPPv4N15VirtualAddrDock15VirtualAddrDockEP13SectionsModelP7QWidget", "VirtualAddrDock::VirtualAddrDock::parent"], [314, 1, 1, "_CPPv4N15VirtualAddrDock10updateDockEv", "VirtualAddrDock::updateDock"], [314, 1, 1, "_CPPv4N15VirtualAddrDockD0Ev", "VirtualAddrDock::~VirtualAddrDock"], [315, 0, 1, "_CPPv412VisualNavbar", "VisualNavbar"], [315, 1, 1, "_CPPv4N12VisualNavbar12VisualNavbarEP10MainWindowP7QWidget", "VisualNavbar::VisualNavbar"], [315, 2, 1, "_CPPv4N12VisualNavbar12VisualNavbarEP10MainWindowP7QWidget", "VisualNavbar::VisualNavbar::main"], [315, 2, 1, "_CPPv4N12VisualNavbar12VisualNavbarEP10MainWindowP7QWidget", "VisualNavbar::VisualNavbar::parent"], [340, 0, 1, "_CPPv4N12VisualNavbar10XToAddressE", "VisualNavbar::XToAddress"], [340, 3, 1, "_CPPv4N12VisualNavbar10XToAddress12address_fromE", "VisualNavbar::XToAddress::address_from"], [340, 3, 1, "_CPPv4N12VisualNavbar10XToAddress10address_toE", "VisualNavbar::XToAddress::address_to"], [340, 3, 1, "_CPPv4N12VisualNavbar10XToAddress5x_endE", "VisualNavbar::XToAddress::x_end"], [340, 3, 1, "_CPPv4N12VisualNavbar10XToAddress7x_startE", "VisualNavbar::XToAddress::x_start"], [315, 1, 1, "_CPPv4N12VisualNavbar10paintEventEP11QPaintEvent", "VisualNavbar::paintEvent"], [315, 2, 1, "_CPPv4N12VisualNavbar10paintEventEP11QPaintEvent", "VisualNavbar::paintEvent::event"], [315, 1, 1, "_CPPv4N12VisualNavbar19updateGraphicsSceneEv", "VisualNavbar::updateGraphicsScene"], [160, 0, 1, "_CPPv413WelcomeDialog", "WelcomeDialog"], [160, 1, 1, "_CPPv4N13WelcomeDialog13WelcomeDialogEP7QWidget", "WelcomeDialog::WelcomeDialog"], [160, 2, 1, "_CPPv4N13WelcomeDialog13WelcomeDialogEP7QWidget", "WelcomeDialog::WelcomeDialog::parent"], [160, 1, 1, "_CPPv4N13WelcomeDialogD0Ev", "WelcomeDialog::~WelcomeDialog"], [123, 0, 1, "_CPPv415XrefDescription", "XrefDescription"], [123, 3, 1, "_CPPv4N15XrefDescription4fromE", "XrefDescription::from"], [123, 3, 1, "_CPPv4N15XrefDescription8from_strE", "XrefDescription::from_str"], [123, 3, 1, "_CPPv4N15XrefDescription2toE", "XrefDescription::to"], [123, 3, 1, "_CPPv4N15XrefDescription6to_strE", "XrefDescription::to_str"], [123, 3, 1, "_CPPv4N15XrefDescription4typeE", "XrefDescription::type"], [161, 0, 1, "_CPPv49XrefModel", "XrefModel"], [161, 6, 1, "_CPPv4N9XrefModel7Columns4CODEE", "XrefModel::CODE"], [161, 6, 1, "_CPPv4N9XrefModel7Columns7COMMENTE", "XrefModel::COMMENT"], [161, 6, 1, "_CPPv4N9XrefModel7Columns5COUNTE", "XrefModel::COUNT"], [161, 5, 1, "_CPPv4N9XrefModel7ColumnsE", "XrefModel::Columns"], [161, 6, 1, "_CPPv4N9XrefModel7Columns4CODEE", "XrefModel::Columns::CODE"], [161, 6, 1, "_CPPv4N9XrefModel7Columns7COMMENTE", "XrefModel::Columns::COMMENT"], [161, 6, 1, "_CPPv4N9XrefModel7Columns5COUNTE", "XrefModel::Columns::COUNT"], [161, 6, 1, "_CPPv4N9XrefModel7Columns6OFFSETE", "XrefModel::Columns::OFFSET"], [161, 6, 1, "_CPPv4N9XrefModel7Columns4TYPEE", "XrefModel::Columns::TYPE"], [161, 3, 1, "_CPPv4N9XrefModel19FlagDescriptionRoleE", "XrefModel::FlagDescriptionRole"], [161, 6, 1, "_CPPv4N9XrefModel7Columns6OFFSETE", "XrefModel::OFFSET"], [161, 6, 1, "_CPPv4N9XrefModel7Columns4TYPEE", "XrefModel::TYPE"], [161, 1, 1, "_CPPv4N9XrefModel9XrefModelEP7QObject", "XrefModel::XrefModel"], [161, 2, 1, "_CPPv4N9XrefModel9XrefModelEP7QObject", "XrefModel::XrefModel::parent"], [161, 1, 1, "_CPPv4NK9XrefModel7addressERK11QModelIndex", "XrefModel::address"], [161, 2, 1, "_CPPv4NK9XrefModel7addressERK11QModelIndex", "XrefModel::address::index"], [161, 1, 1, "_CPPv4NK9XrefModel11columnCountERK11QModelIndex", "XrefModel::columnCount"], [161, 2, 1, "_CPPv4NK9XrefModel11columnCountERK11QModelIndex", "XrefModel::columnCount::parent"], [161, 1, 1, "_CPPv4NK9XrefModel4dataERK11QModelIndexi", "XrefModel::data"], [161, 2, 1, "_CPPv4NK9XrefModel4dataERK11QModelIndexi", "XrefModel::data::index"], [161, 2, 1, "_CPPv4NK9XrefModel4dataERK11QModelIndexi", "XrefModel::data::role"], [161, 1, 1, "_CPPv4NK9XrefModel10headerDataEiN2Qt11OrientationEi", "XrefModel::headerData"], [161, 2, 1, "_CPPv4NK9XrefModel10headerDataEiN2Qt11OrientationEi", "XrefModel::headerData::orientation"], [161, 2, 1, "_CPPv4NK9XrefModel10headerDataEiN2Qt11OrientationEi", "XrefModel::headerData::role"], [161, 2, 1, "_CPPv4NK9XrefModel10headerDataEiN2Qt11OrientationEi", "XrefModel::headerData::section"], [161, 1, 1, "_CPPv4N9XrefModel13readForOffsetE3RVAbb", "XrefModel::readForOffset"], [161, 2, 1, "_CPPv4N9XrefModel13readForOffsetE3RVAbb", "XrefModel::readForOffset::offset"], [161, 2, 1, "_CPPv4N9XrefModel13readForOffsetE3RVAbb", "XrefModel::readForOffset::to"], [161, 2, 1, "_CPPv4N9XrefModel13readForOffsetE3RVAbb", "XrefModel::readForOffset::whole_function"], [161, 1, 1, "_CPPv4N9XrefModel15readForVariableE7QStringb3RVA", "XrefModel::readForVariable"], [161, 2, 1, "_CPPv4N9XrefModel15readForVariableE7QStringb3RVA", "XrefModel::readForVariable::nameOfVariable"], [161, 2, 1, "_CPPv4N9XrefModel15readForVariableE7QStringb3RVA", "XrefModel::readForVariable::offset"], [161, 2, 1, "_CPPv4N9XrefModel15readForVariableE7QStringb3RVA", "XrefModel::readForVariable::write"], [161, 1, 1, "_CPPv4NK9XrefModel8rowCountERK11QModelIndex", "XrefModel::rowCount"], [161, 2, 1, "_CPPv4NK9XrefModel8rowCountERK11QModelIndex", "XrefModel::rowCount::parent"], [161, 1, 1, "_CPPv4N9XrefModel14xrefTypeStringERK7QString", "XrefModel::xrefTypeString"], [161, 2, 1, "_CPPv4N9XrefModel14xrefTypeStringERK7QString", "XrefModel::xrefTypeString::type"], [162, 0, 1, "_CPPv411XrefsDialog", "XrefsDialog"], [162, 1, 1, "_CPPv4N11XrefsDialog11XrefsDialogEP10MainWindowb", "XrefsDialog::XrefsDialog"], [162, 2, 1, "_CPPv4N11XrefsDialog11XrefsDialogEP10MainWindowb", "XrefsDialog::XrefsDialog::hideXrefFrom"], [162, 2, 1, "_CPPv4N11XrefsDialog11XrefsDialogEP10MainWindowb", "XrefsDialog::XrefsDialog::parent"], [162, 1, 1, "_CPPv4N11XrefsDialog18fillRefsForAddressE3RVA7QStringb", "XrefsDialog::fillRefsForAddress"], [162, 2, 1, "_CPPv4N11XrefsDialog18fillRefsForAddressE3RVA7QStringb", "XrefsDialog::fillRefsForAddress::addr"], [162, 2, 1, "_CPPv4N11XrefsDialog18fillRefsForAddressE3RVA7QStringb", "XrefsDialog::fillRefsForAddress::name"], [162, 2, 1, "_CPPv4N11XrefsDialog18fillRefsForAddressE3RVA7QStringb", "XrefsDialog::fillRefsForAddress::whole_function"], [162, 1, 1, "_CPPv4N11XrefsDialog19fillRefsForVariableE7QString3RVA", "XrefsDialog::fillRefsForVariable"], [162, 2, 1, "_CPPv4N11XrefsDialog19fillRefsForVariableE7QString3RVA", "XrefsDialog::fillRefsForVariable::nameOfVariable"], [162, 2, 1, "_CPPv4N11XrefsDialog19fillRefsForVariableE7QString3RVA", "XrefsDialog::fillRefsForVariable::offset"], [162, 1, 1, "_CPPv4N11XrefsDialogD0Ev", "XrefsDialog::~XrefsDialog"], [61, 0, 1, "_CPPv419mmio_lookup_context", "mmio_lookup_context"], [61, 3, 1, "_CPPv4N19mmio_lookup_context12mmio_addressE", "mmio_lookup_context::mmio_address"], [61, 3, 1, "_CPPv4N19mmio_lookup_context8selectedE", "mmio_lookup_context::selected"], [62, 0, 1, "_CPPv4N8qhelpers16SizePolicyMinMaxE", "qhelpers::SizePolicyMinMax"], [62, 3, 1, "_CPPv4N8qhelpers16SizePolicyMinMax3maxE", "qhelpers::SizePolicyMinMax::max"], [62, 3, 1, "_CPPv4N8qhelpers16SizePolicyMinMax3minE", "qhelpers::SizePolicyMinMax::min"], [62, 1, 1, "_CPPv4N8qhelpers16SizePolicyMinMax13restoreHeightEP7QWidget", "qhelpers::SizePolicyMinMax::restoreHeight"], [62, 2, 1, "_CPPv4N8qhelpers16SizePolicyMinMax13restoreHeightEP7QWidget", "qhelpers::SizePolicyMinMax::restoreHeight::widget"], [62, 1, 1, "_CPPv4N8qhelpers16SizePolicyMinMax12restoreWidthEP7QWidget", "qhelpers::SizePolicyMinMax::restoreWidth"], [62, 2, 1, "_CPPv4N8qhelpers16SizePolicyMinMax12restoreWidthEP7QWidget", "qhelpers::SizePolicyMinMax::restoreWidth::widget"], [62, 3, 1, "_CPPv4N8qhelpers16SizePolicyMinMax10sizePolicyE", "qhelpers::SizePolicyMinMax::sizePolicy"], [357, 8, 1, "cmdoption-A", "--analysis"], [357, 8, 1, "cmdoption-a", "--arch"], [357, 8, 1, "cmdoption-B", "--base"], [357, 8, 1, "cmdoption-b", "--bits"], [357, 8, 1, "cmdoption-c", "--cpu"], [357, 8, 1, "cmdoption-e", "--endian"], [357, 8, 1, "cmdoption-F", "--format"], [357, 8, 1, "cmdoption-h", "--help"], [357, 8, 1, "cmdoption-help-all", "--help-all"], [357, 8, 1, "cmdoption-m", "--map"], [357, 8, 1, "cmdoption-no-cutter-plugins", "--no-cutter-plugins"], [357, 8, 1, "cmdoption-no-output-redirect", "--no-output-redirect"], [357, 8, 1, "cmdoption-no-plugins", "--no-plugins"], [357, 8, 1, "cmdoption-no-rizin-plugins", "--no-rizin-plugins"], [357, 8, 1, "cmdoption-o", "--os"], [357, 8, 1, "cmdoption-P", "--phymode"], [357, 8, 1, "cmdoption-p", "--project"], [357, 8, 1, "cmdoption-pythonhome", "--pythonhome"], [357, 8, 1, "cmdoption-v", "--version"], [357, 8, 1, "cmdoption-w", "--writemode"], [357, 8, 1, "cmdoption-A", "-A"], [357, 8, 1, "cmdoption-B", "-B"], [357, 8, 1, "cmdoption-F", "-F"], [357, 8, 1, "cmdoption-P", "-P"], [357, 8, 1, "cmdoption-a", "-a"], [357, 8, 1, "cmdoption-b", "-b"], [357, 8, 1, "cmdoption-c", "-c"], [357, 8, 1, "cmdoption-e", "-e"], [357, 8, 1, "cmdoption-h", "-h"], [357, 8, 1, "cmdoption-i", "-i"], [357, 8, 1, "cmdoption-m", "-m"], [357, 8, 1, "cmdoption-o", "-o"], [357, 8, 1, "cmdoption-p", "-p"], [357, 8, 1, "cmdoption-v", "-v"], [357, 8, 1, "cmdoption-w", "-w"], [357, 8, 1, "cmdoption-arg-filename", "<filename>"]]}, "objnames": {"0": ["cpp", "class", "C++ class"], "1": ["cpp", "function", "C++ function"], "2": ["cpp", "functionParam", "C++ function parameter"], "3": ["cpp", "member", "C++ member"], "4": ["cpp", "templateParam", "C++ template parameter"], "5": ["cpp", "enum", "C++ enum"], "6": ["cpp", "enumerator", "C++ enumerator"], "7": ["cpp", "type", "C++ type"], "8": ["std", "cmdoption", "program option"]}, "objtypes": {"0": "cpp:class", "1": "cpp:function", "2": "cpp:functionParam", "3": "cpp:member", "4": "cpp:templateParam", "5": "cpp:enum", "6": "cpp:enumerator", "7": "cpp:type", "8": "std:cmdoption"}, "terms": {"": [13, 14, 65, 76, 158, 160, 174, 247, 342, 345, 347, 350, 351, 356, 359, 363, 364, 376, 378, 379, 380, 382, 383, 389, 392], "0": [3, 15, 29, 30, 31, 54, 65, 91, 130, 152, 160, 174, 183, 204, 235, 241, 242, 247, 249, 250, 277, 320, 321, 325, 326, 329, 332, 345, 347, 348, 352, 355, 357], "04": [342, 347], "0ll": 65, "0x00c0ffee": 345, "0x100": 65, "1": [21, 29, 30, 65, 88, 91, 137, 197, 238, 241, 247, 250, 326, 327, 332, 342, 347, 348, 352, 355, 357, 373], "10": [13, 29, 249, 331, 342, 345, 379], "100": 348, "100mb": 358, "11": [345, 348], "12": [342, 347], "128": [250, 332], "1337": 352, "15": [29, 342, 353, 358], "16": [65, 360, 373, 383], "18": 347, "2": [37, 60, 197, 241, 247, 342, 345, 357, 373], "20": [29, 249, 331, 342], "2019": [342, 347], "3": [29, 197, 241, 247, 345, 346, 348], "30": 29, "32": [360, 373, 383], "4": [29, 197, 247, 347, 373], "40": [249, 331], "4096": 265, "5": [29, 65, 247, 342, 352, 358, 379], "579": 358, "6": [29, 65, 342], "64": [360, 383], "64bit": [363, 365], "7": [65, 342], "8": [29, 247, 345, 355, 373], "9": [342, 348], "A": [65, 76, 247, 342, 346, 347, 357, 359, 368, 372, 382, 383, 387, 391, 392], "And": [345, 346], "As": [351, 352, 359, 379, 389], "But": 346, "By": [65, 342, 346, 347, 381, 382, 387], "For": [247, 342, 346, 347, 348, 352, 358, 363, 365, 367, 389], "If": [7, 8, 14, 45, 46, 65, 136, 186, 247, 342, 343, 345, 346, 347, 348, 350, 351, 352, 353, 354, 355, 357, 358, 363, 364, 365, 366, 371, 372, 379, 390], "In": [14, 25, 42, 46, 247, 345, 346, 347, 351, 352, 358, 359, 360, 361, 363, 375, 379, 390], "Into": [360, 375], "It": [16, 34, 342, 345, 347, 351, 374, 379, 380, 388], "Its": [224, 354], "No": [241, 342, 357], "Not": [42, 241], "ON": 342, "Of": 352, "On": [342, 347, 348, 350, 367, 372, 379, 383, 390], "One": [247, 383], "Or": 342, "Such": 379, "That": [65, 345], "The": [10, 13, 25, 34, 36, 37, 46, 49, 65, 76, 137, 158, 160, 169, 201, 203, 205, 207, 209, 247, 342, 345, 346, 347, 348, 351, 352, 355, 356, 358, 359, 363, 364, 365, 372, 374, 376, 377, 379, 383, 389, 390, 391], "Then": [345, 350, 352], "There": [247, 347], "These": [342, 346, 351, 359, 361, 389, 390], "To": [247, 342, 345, 347, 348, 351, 352, 354, 355, 379, 382, 390, 391], "Will": [158, 272], "With": 347, "_": 379, "__init__": 352, "_clang": 347, "_label": 352, "aaa": [54, 357, 389], "aaaa": 357, "abandon": 346, "abil": 25, "abl": [136, 342, 363, 364, 379], "aboard": 351, "about": [65, 162, 179, 346, 347, 351, 352, 356, 358, 359, 360, 374, 375, 383, 388], "aboutdialog": [0, 166, 354], "abov": [247, 342, 348, 350], "absolut": 352, "abstract": [35, 197], "abstractaddrdock": [0, 276, 314, 341, 354], "abstractdata": [0, 194, 265, 341, 354], "academ": 42, "acc": 34, "accept": [45, 136], "access": [271, 342, 343, 345, 352, 353, 378, 383], "accident": 382, "accord": [342, 345, 351, 390], "account": [247, 342, 347, 389], "accumul": [34, 35, 36, 216, 345], "across": 345, "action": [76, 216, 352, 360, 363, 364, 381], "actionallcontinu": [0, 221, 341], "actionattach": [0, 221, 341], "actioncontinu": [0, 221, 341], "actioncontinueback": [0, 221, 341], "actioncontinueuntilcal": [0, 221, 341], "actioncontinueuntilmain": [0, 221, 341], "actioncontinueuntilsyscal": [0, 221, 341], "actionstart": [0, 221, 341], "actionstartemul": [0, 221, 341], "actionstartremot": [0, 221, 341], "actionstep": [0, 221, 341], "actionstepback": [0, 221, 341], "actionstepout": [0, 221, 341], "actionstepov": [0, 221, 341], "actionstop": [0, 221, 341], "actiontrac": [0, 221, 341], "activ": [65, 361], "actual": [34, 352], "acycl": 247, "ad": [25, 27, 65, 342, 347, 352, 353, 381], "adapt": 248, "add": [65, 136, 174, 185, 216, 227, 342, 345, 346, 347, 351, 352, 353, 360, 372, 375, 377, 389, 390, 392], "addbreakpoint": [0, 65, 124], "adddebugoutput": [0, 215, 341], "addextrawidget": [0, 76, 124], "addflag": [0, 65, 124], "addglobalvari": [0, 65, 124], "addit": [342, 345, 346, 347, 364, 379], "additionalmenuact": 223, "addmemorydockwidget": [0, 76, 124], "addmenufileact": [0, 76, 124], "addnewmemorywidget": [0, 76, 124], "addoreditcom": [0, 132, 166], "addoutput": [0, 215, 341], "addplugindockwidget": [0, 76, 124, 352], "addpoint": [0, 326, 341], "addr": [0, 14, 15, 65, 78, 80, 81, 86, 87, 88, 89, 91, 100, 101, 121, 124, 162, 171, 173, 183, 194, 223, 258, 265, 271, 321, 333, 341], "addrcolumn": [0, 191, 341], "addrdockscen": [0, 341, 354], "addrecentproject": [0, 13, 63], "addrend": [0, 104, 124], "addrendcolumn": [0, 267, 341], "address": [0, 1, 3, 7, 8, 14, 47, 48, 63, 65, 76, 91, 124, 131, 137, 161, 166, 167, 172, 173, 191, 195, 197, 212, 217, 229, 232, 238, 244, 253, 259, 261, 265, 267, 281, 284, 288, 291, 294, 300, 303, 311, 317, 334, 338, 341, 345, 357, 360, 365, 366, 368, 383, 387, 392], "address_from": [0, 340, 341], "address_to": [0, 340, 341], "addressabledockwidget": [0, 216, 266, 341, 354], "addressablefilterproxymodel": [0, 63, 192, 198, 213, 230, 233, 239, 245, 254, 262, 269, 282, 289, 292, 295, 301, 304, 354], "addressableitemcontextmenu": [0, 173, 186, 354], "addressableitemlist": [0, 218, 341, 354], "addressableitemmod": [0, 1, 2, 63, 186, 354], "addressableitemmodel": [0, 1, 3, 63, 161, 186, 191, 197, 212, 229, 232, 238, 244, 253, 261, 267, 281, 284, 288, 291, 294, 300, 303, 354], "addresscolumn": [0, 244, 261, 291, 294, 303, 341], "addressrol": [0, 261, 281, 341], "addresstyp": 76, "addresstypehint": [0, 76, 124], "addrref": [0, 65, 107, 124, 354], "addrstart": [0, 104, 124], "addrstartcolumn": [0, 267, 341], "addrwidth": [0, 259, 341], "addrwidth32": [0, 259, 341], "addrwidth64": [0, 259, 341], "addstatusbar": [0, 219, 341], "addtotoolbar": [0, 221, 341], "addwidget": [0, 76, 124], "adjust": [13, 342], "adjustcolorthemedark": [0, 13, 63], "adr": [183, 265], "advanc": [354, 356, 358, 360, 361, 392], "advantag": 389, "advic": [344, 354], "affect": [25, 65, 342, 387], "afl": 379, "after": [25, 76, 160, 174, 216, 227, 247, 342, 345, 347, 352, 376, 382], "afterward": 247, "again": 352, "against": [342, 348], "aggreg": 24, "ahead": 346, "aht": 65, "ai": 10, "aim": [347, 351], "algorithm": [25, 247, 371, 376], "align": 247, "aliv": 348, "all": [10, 13, 25, 33, 36, 65, 175, 185, 216, 227, 241, 247, 250, 271, 342, 345, 347, 348, 351, 352, 353, 354, 355, 357, 363, 374, 377, 379, 382, 383, 389, 390], "allchangescomit": [0, 23, 63], "alloc": [25, 377], "allow": [46, 201, 247, 297, 342, 345, 346, 377, 379, 382, 383, 389, 391], "allowempti": 143, "almost": [42, 352], "alphabet": 345, "alphachannelbar": [0, 341, 354], "alreadi": [10, 247, 346, 347, 348, 366], "also": [46, 186, 247, 272, 342, 345, 346, 347, 351, 352, 363, 366, 371, 374, 377, 379, 380, 382, 383, 389, 392], "alt": 378, "alt_background": 10, "altern": [342, 346], "although": 372, "alwai": [247, 343, 345, 346, 352, 364, 382], "amount": [247, 347, 348], "an": [14, 24, 25, 26, 34, 36, 46, 65, 76, 162, 247, 316, 342, 345, 346, 347, 348, 351, 352, 353, 354, 355, 356, 359, 360, 361, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 375, 376, 377, 379, 386, 389, 391], "anal": 197, "analyi": 389, "analysi": [54, 316, 346, 354, 356, 357, 376, 388], "analysisbaseclassdescript": [0, 65, 124, 354], "analysisclassesmodel": [0, 197, 341, 354], "analysiscmd": [0, 54, 63], "analysiscommand": [0, 166, 354], "analysislevel": [0, 180, 181], "analysismethoddescript": [0, 65, 124, 136, 354], "analysistask": [0, 5, 63, 354], "analysisvtabledescript": [0, 65, 124, 354], "analyz": [76, 347, 351, 358, 359, 376], "angui": 10, "ani": [14, 25, 26, 37, 65, 174, 216, 247, 316, 342, 343, 345, 346, 347, 348, 351, 352, 353, 357, 379, 382], "anim": 32, "annoi": 346, "annot": [16, 168], "announc": 348, "anoth": [247, 342, 345, 360, 365], "ansiescapetohtml": [0, 65, 124], "answer": 343, "anychar": [0, 259, 341], "anymor": 36, "anyon": 346, "anyth": [346, 347, 352, 389], "anywher": [250, 364, 371], "api": [10, 46, 65, 76, 345, 347, 350, 352, 354, 379, 389], "app": 342, "appconfigloc": 390, "appdata": 348, "appear": 347, "append": [0, 25, 37, 63, 342], "appimag": 354, "appli": [24, 65, 185, 216, 346, 372, 379, 392], "applic": [37, 175, 342, 347, 352, 377, 380], "applycutterstyl": [0, 218, 341], "applysignatur": [0, 65, 124], "applystructureoffset": [0, 65, 124], "appreci": [342, 346], "approach": [247, 345, 347, 355], "appveyor": 348, "apt": [342, 350], "ar": [24, 34, 42, 65, 158, 162, 185, 216, 241, 247, 342, 343, 345, 346, 347, 348, 350, 351, 352, 355, 357, 359, 363, 367, 371, 372, 373, 374, 379, 382, 383, 385, 387, 389, 390, 391, 392], "arch": [0, 45, 54, 63, 65, 342, 357], "arch_bit": [0, 99, 124], "arch_nam": [0, 99, 124], "archbitscolumn": [0, 235, 341], "architectur": [0, 111, 124, 355, 357, 383], "archiv": [348, 354], "archnamecolumn": [0, 235, 341], "area": 250, "aren": [223, 271, 351], "arena": [0, 65, 124, 126, 354], "arena_addr": [0, 65, 130, 166, 242, 341], "arenainfodialog": [0, 166, 354], "arg": [0, 10, 149, 178, 180, 181], "argc": 178, "argument": [25, 45, 65, 342, 345, 347, 352, 360, 364], "argv": 178, "arm": 383, "around": [65, 247, 343, 348, 353], "arrai": [65, 247, 379], "arrow": [0, 94, 124, 224, 249, 330, 341, 354], "arrowdirect": [0, 249, 330, 341], "articl": 352, "artifact": 389, "ascii": [10, 368, 372], "ascii_latin1": [0, 65, 124, 137, 166], "asitemmodel": [0, 2, 3, 63], "ask": [180, 343, 346, 347, 353, 379], "askcommitunsavedchang": [0, 23, 63], "asm": [13, 45], "asm_op": [0, 78, 124], "asmoptionschang": [0, 65, 124], "assembl": [0, 65, 124, 376], "assign": [33, 247, 360, 379], "assigne": 346, "assist": 353, "associ": [316, 347, 364, 374], "assum": [247, 342, 347], "asynctask": [0, 4, 6, 12, 20, 41, 43, 63, 65, 76, 124, 127, 354], "asynctaskdialog": [0, 166, 354], "asynctaskmanag": [0, 63, 65, 354], "attach": [65, 360, 375], "attachdebug": [0, 65, 124], "attachedremot": [0, 65, 124], "attachprocdialog": [0, 166, 354], "attachremot": [0, 65, 124], "attempt": [34, 359], "attemptrefresh": [0, 34, 63], "attribut": [0, 10, 13, 161, 197, 232, 238, 265, 288, 300, 308, 311, 341, 354], "au": 13, "augment": 42, "author": [0, 111, 124, 352, 380], "auto": [0, 54, 63, 137, 166, 347, 360, 373], "autocomplet": [0, 65, 124], "autom": [348, 379], "automat": [36, 45, 65, 201, 342, 345, 347, 352, 355, 357, 364, 367, 379, 380, 382, 383, 391], "automaticanalysislevel": 180, "autonam": 389, "avail": [10, 13, 19, 342, 347, 351, 352, 353, 354, 355, 357, 363, 364, 365, 371, 373, 374, 377, 379, 383, 384, 388, 392], "avoid": [247, 345, 379], "awar": 382, "awesom": 352, "awk": 345, "ayu": 13, "b": [25, 27, 342, 357, 392], "back": [25, 247, 346, 347, 360, 375], "background": [10, 322, 371], "backtrac": [360, 375], "backtracewidget": [0, 216, 341, 354], "backward": [247, 378], "bad": 345, "baddr": [0, 65, 95, 124], "badli": 348, "bar": [347, 354, 356, 360, 382, 392], "barrier": 343, "base": [0, 16, 65, 195, 197, 217, 247, 316, 341, 342, 345, 346, 347, 348, 350, 352, 356, 357, 360, 364], "base64": 360, "base64endecodedwritedialog": [0, 166, 354], "base_address": 65, "base_nam": [0, 99, 124], "baseblock": 271, "baseclass": [0, 86, 124], "baseedgeconfigur": 271, "basefind": [0, 124, 354], "basefindcorestatusdescript": [0, 64, 124, 354], "basefindresultdescript": [0, 64, 124, 354], "baseheigh": 271, "baseheight": 271, "baselistwidget": [186, 218], "basewidth": 271, "basic": [7, 8, 13, 247, 342, 344, 346, 352, 354, 379, 383], "basicblock": [0, 7, 63, 354], "basicblockhighlight": [0, 63, 65, 354], "basiccursor": [0, 258, 341, 354], "basicinstruct": [0, 8, 63, 354], "basicinstructionhighlight": [0, 63, 65, 354], "beautifi": 347, "becamevisibletous": [0, 216, 341], "becaus": [345, 347, 358, 379], "been": [46, 174, 247, 347], "befor": [34, 65, 174, 342, 345, 346, 347, 363, 365], "begin": [0, 67, 70, 73, 124, 348], "behav": 352, "behavior": [346, 347], "behelit": 13, "being": [17, 162, 247, 342], "believ": 353, "bellow": 247, "belong": [65, 346], "below": [316, 342, 389, 390], "benefit": 347, "besid": 247, "best": [346, 347, 351], "beta": 379, "better": [247, 346, 347, 353], "between": [247, 347, 377], "big": [0, 54, 63, 65, 247, 357], "bigendian": 259, "bigger": [247, 259, 351], "biggest": [33, 347], "bin": [65, 197, 256, 342, 348, 357, 389], "bin_nam": [0, 99, 124], "binari": [13, 42, 46, 342, 346, 352, 357, 358, 359, 360, 374, 376, 379, 383, 389], "binclassbaseclassdescript": [0, 86, 124, 354], "binclassdescript": [0, 65, 124, 189, 354], "binclassesmodel": [0, 197, 341, 354], "binclassfielddescript": [0, 86, 124, 354], "binclassmethoddescript": [0, 86, 121, 124, 354], "bind": [0, 103, 119, 124, 342, 352], "binloadaddr": [0, 54, 63], "binnumcolumn": [0, 130, 166], "binsmodel": [0, 166, 354], "bintypecolumn": [0, 235, 341], "bit": [0, 54, 63, 65, 346, 356, 357, 360, 364, 383], "bitmap": 13, "bk": [0, 333, 341], "bkcolumn": [0, 130, 166], "bless": 351, "blink": [0, 210, 334, 341], "blinktim": [0, 334, 341], "block": [0, 7, 13, 90, 124, 223, 247, 248, 249, 250, 252, 271, 297, 325, 327, 341, 347, 360, 383, 389], "block_siz": [0, 265, 341], "blockclick": [0, 223, 341], "blockcont": [0, 341, 354], "blockdescript": [0, 90, 124, 354], "blockdoubleclick": [0, 223, 341], "blockhelpev": [0, 223, 341], "blockhorizontalspac": [0, 249, 331, 341], "blockid": 297, "blocksiz": [0, 90, 124], "blockspac": 13, "blockstatist": [0, 124, 354], "blocktransitionedto": [0, 223, 341], "blockverticalspac": [0, 249, 331, 341], "board": 346, "bodi": [241, 345], "bold": 13, "bookmark": [364, 374], "bool": [0, 4, 5, 6, 10, 13, 14, 15, 17, 23, 25, 26, 27, 32, 34, 36, 37, 38, 39, 45, 46, 54, 60, 63, 64, 65, 67, 69, 70, 71, 72, 73, 74, 76, 78, 91, 100, 105, 124, 127, 131, 135, 136, 137, 138, 143, 148, 152, 154, 156, 158, 161, 162, 164, 167, 168, 169, 175, 180, 183, 184, 186, 190, 191, 194, 195, 196, 201, 208, 209, 212, 215, 216, 217, 219, 223, 226, 227, 238, 247, 250, 258, 259, 264, 265, 266, 272, 275, 297, 298, 308, 317, 318, 320, 321, 324, 332, 334, 335, 347], "boolean": [13, 14], "booltogggledeleg": [0, 341, 354], "border": 10, "both": [25, 241, 247, 355, 389], "bottom": [247, 347, 371], "bound": 247, "box": [10, 13, 76, 209, 247, 383], "box2": 10, "box3": 10, "box4": 10, "brace": 345, "branch": [247, 347, 348, 351, 392], "break": [345, 352], "breakpoinst": 65, "breakpoint": [65, 131, 348, 354, 356, 360, 364, 365, 375, 376, 392], "breakpoint_background": 10, "breakpointdescript": [0, 65, 124, 131, 354], "breakpointdescriptionrol": [0, 191, 341], "breakpointindexat": [0, 65, 124], "breakpointmodel": [0, 192, 341, 354], "breakpointproxymodel": [0, 1, 341, 354], "breakpointschang": [0, 65, 124], "breakpointsdialog": [0, 166, 354], "breakpointwidget": [0, 216, 341, 354], "breaktask": [0, 40, 63], "breath": 350, "brew": 342, "brief": 345, "bright": 13, "bring": 351, "broader": 346, "broken": [247, 348], "browser": [350, 360, 380], "bstr": 372, "buffer": 194, "bufferdata": [0, 183, 341, 354], "bug": [344, 345, 348, 354], "bugfix": [344, 354], "buggi": 347, "build": [343, 346, 348, 349, 351, 355, 380], "built": [342, 346, 347, 355], "builtin": [241, 347], "bundl": [342, 347, 348], "button": [46, 201, 347, 354, 356, 360, 389, 390], "button1": 345, "buttonclick": 345, "byte": [65, 137, 259, 360, 389], "bytearrai": 137, "bytestohexstr": [0, 65, 124], "c": [65, 158, 202, 203, 206, 207, 342, 345, 347, 348, 352, 354, 355, 357, 363, 364, 368, 379, 392], "c_k": 247, "cach": [0, 23, 63, 65, 223, 271, 342, 347, 360, 375], "cachedchar": [0, 334, 341], "cachedcolor": [0, 334, 341], "cachedfontmetr": [0, 37, 63, 354], "calc": 348, "calcul": [24, 29, 33, 42, 247], "calculatelayout": [0, 247, 248, 249, 252, 341], "call": [42, 45, 65, 137, 174, 175, 201, 209, 216, 227, 247, 345, 347, 352, 360, 364, 375, 389], "callback": 352, "callconlist": 134, "caller": 16, "callgraph": 195, "callgraphview": [0, 297, 341, 354], "callgraphwidget": [0, 266, 341, 354], "calltyp": [0, 100, 124], "calltypecolumn": [0, 238, 341], "can": [13, 15, 16, 25, 34, 42, 45, 65, 76, 223, 247, 259, 271, 297, 342, 343, 345, 346, 347, 348, 349, 350, 352, 354, 358, 359, 360, 361, 363, 364, 371, 376, 377, 379, 382, 383, 385, 387, 388, 389, 390, 391], "canari": 383, "cancel": [0, 15, 63, 64, 76, 124], "candid": [0, 84, 124, 348, 389], "cannot": 342, "canwrit": [0, 23, 63], "capac": 25, "caption": 148, "case": [14, 46, 247, 342, 346, 347, 352, 355, 363, 382, 390, 391], "catch": 346, "categori": [0, 120, 124, 308, 309, 341], "caus": [25, 247, 342, 351, 357, 382], "cc": 389, "cd": [342, 345, 350], "cell": 247, "center": [0, 247, 250, 271, 341], "centeri": [0, 250, 341], "centerx": [0, 250, 341], "centrerect": [0, 271, 341], "certain": 389, "cfg": 247, "cga": 13, "ch": [9, 13], "chain": [25, 26, 45], "challeng": [343, 351], "chanc": [247, 348], "chang": [0, 13, 14, 33, 65, 136, 158, 209, 216, 238, 259, 318, 341, 342, 345, 346, 348, 352, 360, 364, 375, 382, 387, 389, 390], "changesizepolici": [0, 240, 341], "char": [38, 45, 65, 67, 68, 178, 250, 321], "charact": 379, "chat": [351, 354], "check": [0, 10, 13, 46, 65, 164, 166, 272, 342, 344, 345, 346, 347, 358, 359, 389], "checkbox": [0, 13, 164, 166, 345], "checkcomplet": [0, 46, 63], "checkcurrentvers": [0, 46, 63], "checkout": 345, "checksum": 383, "cherri": 348, "child": [24, 42, 247, 377], "children": [24, 42, 247], "chmod": 354, "choos": [247, 346, 347, 348, 355, 360, 361, 363, 364, 365, 366, 367, 368, 369, 370, 372, 382, 383, 384, 386], "chosen": [247, 363], "chunk": [0, 65, 124, 354], "chunksimpl": 65, "ci": 342, "circo": [0, 252, 341], "cl": [65, 187], "clang": [342, 345], "class": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 54, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 167, 168, 169, 170, 172, 174, 175, 176, 178, 179, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 341, 352, 360], "classattrschang": [0, 65, 124, 187, 341], "classdelet": [0, 65, 124, 187, 341], "classesmodel": [0, 2, 187, 189, 341, 354], "classessortfilterproxymodel": [0, 1, 341, 354], "classeswidget": [0, 264, 341, 354], "classfix": 136, "classinst": 345, "classnam": [0, 65, 79, 124, 136], "classnew": [0, 65, 124, 187, 341], "classrenam": [0, 65, 124, 187, 341], "clean": [348, 352], "cleaner": 342, "cleanup": 346, "cleanupedg": [0, 250, 341], "clear": [0, 7, 8, 63, 270, 341, 346], "cleararrowfrom": [0, 224, 341], "cleardata": [0, 130, 166], "clearfilt": [0, 211, 275, 341], "clearselect": [0, 259, 341], "cleartarget": [0, 167, 170, 173], "click": [13, 201, 345, 347, 348, 359, 361, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 379, 380, 384, 385, 386, 388, 389, 390], "clion": [344, 354], "clipboard": 363, "clone": [0, 44, 63, 342, 344, 347, 354], "close": [0, 216, 247, 272, 341, 347, 348, 382], "closeev": [0, 76, 124], "closefilt": [0, 211, 275, 341], "closenewfiledialog": [0, 76, 124], "cmake": 354, "cmake_prefix_path": 342, "cmakecach": 342, "cmakelist": [347, 348], "cmd": [0, 12, 38, 65, 124, 241, 345, 352, 392], "cmdj": [0, 65, 124, 352], "cmdraw": [0, 65, 124], "cmdrawat": [0, 65, 124], "cmdtask": [0, 65, 124], "cmt": 65, "code": [0, 10, 16, 65, 115, 124, 161, 166, 175, 247, 288, 341, 342, 343, 344, 348, 354, 355, 358, 359, 360, 375, 376, 383, 389, 392], "codebas": [345, 351], "codedatastr": [356, 360, 364], "codedecompil": 15, "coderebas": [0, 65, 124], "col": [0, 325, 326, 328, 341], "color": [0, 7, 8, 10, 13, 47, 48, 63, 65, 201, 203, 204, 207, 209, 250, 318, 322, 332, 341, 354, 371, 383], "colorchang": [0, 201, 204, 341], "colorchannelchang": [0, 201, 341], "colorflag": [13, 50], "colorizeassembli": [0, 11, 63], "colormod": [0, 12, 63], "coloropt": [0, 210, 341, 354], "coloroptiondeleg": [0, 341, 354], "colorpick": [0, 204, 341, 354], "colorpickarea": [0, 205, 341, 354], "colorpickerhelp": [0, 201, 341, 354], "colorpickerwidget": [0, 202, 203, 207, 341, 354], "colorpickwidgetabstract": [0, 201, 205, 206, 341, 354], "colorrol": 44, "colorsettingsmodel": [0, 210, 341, 354], "colorshowwidget": [0, 341, 354], "colorspac": [203, 207], "colorsupd": [0, 13, 63], "colorsupdatedslot": [0, 227, 341], "colorthem": 13, "colorthemecombobox": [0, 341, 354], "colorthemedark": [0, 13, 63], "colorthemelistview": [0, 341, 354], "colorthemework": [0, 63, 354], "colorvaluebar": [0, 205, 341, 354], "column": [0, 130, 152, 161, 166, 191, 197, 212, 229, 232, 235, 238, 242, 244, 247, 253, 259, 261, 267, 277, 281, 284, 288, 291, 294, 298, 300, 303, 308, 311, 325, 327, 341, 385], "column_path": [0, 274, 307, 341], "column_pid": [0, 274, 307, 341], "column_statu": [0, 274, 307, 341], "column_uid": [0, 274, 341], "columncount": [0, 130, 152, 161, 166, 191, 212, 229, 232, 235, 238, 242, 244, 253, 261, 267, 277, 281, 284, 288, 291, 294, 298, 300, 303, 308, 311, 341], "columnindex": [0, 274, 307, 341], "columnmod": [0, 259, 341], "columnoffset": [0, 327, 341], "columnwidth": [0, 327, 341], "com": [342, 348, 354, 383], "combin": 16, "combo": [209, 383], "combobox": [0, 209, 211, 341], "comboquickfilterview": [0, 341, 354], "come": [343, 345, 346, 351, 383], "comfort": [353, 359], "comma": 65, "command": [0, 45, 49, 63, 65, 91, 124, 241, 259, 342, 345, 347, 350, 352, 354, 356, 379, 382, 383, 389, 390], "commanddesc": [0, 164, 166], "commanddescript": [0, 54, 63, 164, 354], "commandtask": [0, 5, 63, 354], "comment": [0, 45, 65, 89, 124, 132, 161, 166, 212, 232, 284, 288, 319, 341, 346, 360, 375, 379, 392], "commentcolumn": [0, 191, 212, 229, 238, 244, 253, 261, 267, 277, 281, 291, 294, 298, 300, 303, 341], "commentdescript": [0, 65, 124, 212, 319, 354], "commentdescriptionrol": [0, 212, 341], "commentgroup": [0, 212, 341, 354], "commentnestedcolumn": [0, 212, 341], "commentschang": [0, 65, 124], "commentsdialog": [0, 166, 354], "commentsmodel": [0, 2, 213, 341, 354], "commentsproxymodel": [0, 1, 341, 354], "commentswidget": [0, 264, 341, 354], "commit": [65, 345, 346, 348, 360, 375], "commitwritecach": [0, 65, 124], "common": [0, 197, 217, 247, 342, 344, 348, 354, 356, 392], "commun": [343, 346, 347, 351, 353, 354], "compact": [65, 247], "compar": [223, 271, 348, 359], "compat": [342, 347], "competit": 42, "compil": [342, 344, 345, 354, 359, 383, 389], "complet": [0, 64, 124, 342, 347, 348, 351], "complex": 342, "compon": [174, 347, 351, 352], "comprehens": [346, 351], "compress": 247, "comput": [13, 247, 271, 347], "computegraphplac": [0, 250, 341], "concaten": [25, 241], "concept": 372, "conceptu": 374, "condit": [0, 91, 124, 247, 345, 361, 363, 366, 367], "conf": 348, "config": [13, 45, 65, 248, 249, 250, 345], "configur": [0, 45, 63, 65, 167, 247, 342, 346, 354, 356, 358, 378, 389], "confirm": 357, "conflict": [342, 390], "connect": [34, 149, 154, 247, 352, 360, 375], "consid": [42, 346, 358, 374, 379, 387], "consist": [247, 352], "consol": [352, 357, 360, 375, 382, 392], "consolewidget": [0, 216, 341, 354], "conson": 13, "const": [1, 3, 4, 5, 7, 9, 10, 12, 13, 15, 18, 20, 24, 25, 26, 27, 29, 31, 32, 33, 34, 37, 38, 41, 42, 43, 44, 45, 46, 64, 65, 67, 69, 70, 71, 73, 74, 76, 77, 100, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 140, 143, 144, 145, 148, 149, 152, 154, 156, 161, 169, 170, 174, 175, 176, 178, 183, 185, 187, 189, 190, 191, 194, 196, 197, 200, 201, 202, 203, 204, 206, 207, 208, 210, 211, 212, 215, 216, 222, 223, 226, 227, 229, 232, 235, 238, 242, 244, 247, 248, 249, 250, 251, 252, 253, 258, 259, 261, 265, 266, 267, 270, 272, 275, 277, 281, 284, 288, 291, 294, 298, 300, 303, 308, 311, 316, 317, 321, 322, 324, 345], "constant": 363, "constexpr": 265, "constraint": 247, "construct": [25, 160, 247, 367], "constructor": [34, 345], "contact": [343, 354], "contain": [0, 14, 17, 25, 34, 46, 65, 100, 124, 197, 209, 241, 247, 250, 258, 297, 321, 324, 341, 342, 345, 347, 352, 355, 356, 363, 364, 374, 376, 379, 381, 383, 385, 390], "content": [0, 37, 158, 223, 271, 323, 333, 341, 342, 351, 352, 358, 360, 367, 375, 379, 392], "context": [42, 76, 179, 186, 354, 356, 359, 360], "contextmenutyp": [0, 76, 124], "continu": [346, 348, 360, 375, 389, 392], "continuebackdebug": [0, 65, 124], "continuedebug": [0, 65, 124], "continueicon": [0, 221, 341], "continuelabel": [0, 221, 341], "continueuntilcal": [0, 65, 124], "continueuntildebug": [0, 65, 124], "continueuntilsyscal": [0, 65, 124], "contradictori": 390, "contrari": 247, "contrast": [25, 345], "contribut": [347, 353, 354], "contributor": [343, 346, 351], "control": [185, 216, 247, 342, 359, 383], "conveni": [34, 216], "convent": [346, 364], "convert": [37, 247, 248, 368], "cool": 352, "coordin": [247, 250], "copi": [0, 10, 25, 26, 63, 168, 169, 173, 183, 194, 265, 297, 341, 342, 346, 350, 352, 360, 372, 392], "copyselect": [0, 223, 341], "copythemenam": 10, "core": [0, 14, 64, 65, 77, 174, 345, 352, 354, 379], "corner": 347, "correct": [342, 345, 355], "correctli": [346, 348], "correspond": [24, 65, 247, 271, 272, 316, 347, 390], "could": [342, 351], "count": [0, 65, 161, 166, 197, 219, 227, 232, 284, 288, 308, 311, 341], "countcolumn": [0, 130, 166], "counter": 360, "cours": 352, "cover": 346, "cpp": [185, 216, 345, 346, 347], "cpu": [0, 54, 63, 65, 111, 124, 357], "crash": [354, 357], "creat": [10, 17, 25, 26, 42, 76, 209, 216, 347, 348, 354, 359, 367, 379, 381, 383], "create_cutter_plugin": 352, "createeditor": [0, 190, 341], "createfunctionat": [0, 65, 124], "createnewbreakpoint": [0, 131, 166], "createnewclass": [0, 65, 124], "createrefreshdeferr": [0, 216, 341], "createreplacingrefreshdeferr": [0, 216, 341], "createshowinmenu": [0, 76, 124], "createsignatur": [0, 65, 124], "createsyntaxhighlight": [0, 13, 63], "creation": [352, 374], "creator": [342, 344, 354], "crop": [0, 37, 63], "croppedout": 37, "cross": [247, 360], "crowdin": [348, 353], "crtp": 24, "cryptograph": 376, "ctf": 351, "ctrl": [347, 363, 364, 366, 376, 379, 382, 383, 392], "curhighlightedword": 169, "curious": 42, "curl": 342, "curli": 345, "current": [0, 10, 13, 14, 36, 46, 65, 76, 105, 124, 140, 169, 185, 186, 216, 223, 227, 247, 259, 271, 297, 342, 344, 347, 348, 352, 353, 354, 355, 356, 358, 360, 361, 363, 364, 365, 366, 367, 368, 371, 372, 376, 379, 380, 382, 383, 385, 386, 389, 391, 392], "currentfcnaddr": [0, 223, 271, 341], "currentlyattachedtopid": [0, 65, 124], "currentlydebug": [0, 65, 124], "currentlyemul": [0, 65, 124], "currentlyopenfil": [0, 65, 124], "currentlyremotedebug": [0, 65, 124], "currentlytrac": [0, 65, 124], "currenttextdocu": 16, "currentversionnumb": [0, 46, 63], "currinterfacethem": 13, "currverson": 46, "cursor": [227, 363, 364], "custom": [10, 17, 209, 345, 368], "customiz": 354, "customrichtext_t": [0, 37, 63, 354], "customrichtextflag": [0, 37, 60, 63], "customthem": [0, 10, 63], "cutter": [0, 10, 13, 46, 63, 65, 76, 146, 160, 174, 209, 217, 342, 344, 347, 348, 350, 352, 355, 356, 357, 359, 360, 363, 364, 365, 366, 367, 368, 371, 373, 374, 375, 376, 378, 380, 382, 383, 385, 389, 390, 391, 392], "cutter_enable_dependency_download": 342, "cutter_enable_graphviz": 342, "cutter_enable_ksyntaxhighlight": 342, "cutter_enable_python": [342, 355], "cutter_enable_python_bind": [342, 355], "cutter_extra_plugin_dir": 342, "cutter_package_depend": 342, "cutter_qt": 342, "cutter_r": 354, "cutter_use_bundled_rizin": [342, 347], "cutter_version_major": 46, "cutter_version_minor": 46, "cutter_version_patch": 46, "cutterappl": [0, 181, 354], "cuttercommandlineopt": [0, 181, 354], "cuttercor": [0, 13, 14, 15, 64, 77, 124, 352, 354], "cutterdockwidget": [0, 34, 76, 185, 187, 188, 193, 195, 215, 220, 228, 234, 237, 246, 257, 264, 272, 274, 279, 280, 286, 287, 290, 299, 302, 307, 310, 313, 341, 352, 354], "cuttergraphview": [0, 223, 250, 297, 341, 354], "cutterinterfacethem": [0, 13, 63, 354], "cutterinterfacethemeslist": [0, 13, 63], "cutterjson": [0, 38, 65, 124, 354], "cutterjsonown": [0, 67, 69, 124, 354], "cutterlayout": [0, 63, 146, 354], "cutteroptioncolor": [0, 13, 63], "cutterplugin": [0, 175, 176, 177, 352, 354], "cutterproxystyl": [0, 181, 354], "cutterpvector": [0, 124, 354], "cutterrc": 390, "cutterrzit": [0, 65, 124, 354], "cutterrzlist": [0, 124, 354], "cutterseek": [0, 63, 185, 223, 354], "cutterspecificopt": [0, 10, 63], "cuttertreeview": [0, 186, 341, 354], "cuttertreewidget": [0, 341, 354], "cycl": 247, "d": [348, 372], "dag": [247, 325], "dag_edg": [0, 325, 341], "dark": 13, "darkda": 13, "darkflag": 13, "dashboard": [0, 216, 341, 354, 360, 375], "data": [0, 25, 26, 65, 75, 76, 115, 124, 130, 136, 148, 152, 161, 165, 166, 191, 197, 208, 210, 212, 229, 232, 235, 238, 242, 244, 253, 261, 267, 271, 277, 281, 284, 288, 291, 294, 298, 300, 303, 308, 311, 316, 341, 354, 355, 359, 360, 364, 376, 379, 383, 384], "datachang": [0, 210, 341], "dataoffset": 10, "date": [345, 382], "dbgbackend": [0, 166, 354], "dbgbackendtyp": 163, "dcmake_build_typ": 342, "dcmake_exe_linker_flag": 342, "dcmake_prefix_path": 342, "dcutter_enable_python": 342, "dcutter_enable_python_bind": 342, "dcutter_use_bundled_rizin": 342, "de": 372, "deal": 347, "debian": [342, 350], "debug": [0, 13, 65, 76, 124, 149, 342, 348, 354, 356, 357, 360, 364, 375, 379, 384, 391], "debugact": [0, 341, 354], "debugg": [65, 154, 346, 347, 348, 360, 363, 375], "debugge": 365, "debugprocessfinish": [0, 65, 124], "debugtask": 65, "debugtaskstatechang": [0, 65, 124], "dec": 383, "decim": [65, 360], "declar": 345, "decler": 65, "decod": [0, 129, 166, 360], "decompil": [0, 13, 16, 63, 65, 174, 342, 346, 348, 354, 356, 360, 375, 379, 387], "decompileat": [0, 15, 63], "decompilercontextmenu": [0, 173, 354], "decompilerhighlight": [0, 63, 354], "decompilerwidget": [0, 16, 266, 341, 354], "decreas": [0, 144, 166], "decrement": 360, "dedic": 346, "deep": 351, "def": 352, "default": [15, 16, 19, 25, 26, 27, 35, 45, 174, 183, 185, 194, 216, 217, 259, 265, 276, 297, 314, 316, 342, 347, 357, 358, 360, 375, 379, 381, 383, 385, 387, 391], "defaultfont": 238, "defaultnam": 217, "defaulton": 275, "defer": 34, "defin": [247, 352, 360, 361, 363, 366, 368, 377, 378, 382, 383, 392], "definit": [247, 345, 360], "defragg": 13, "del": 361, "delallbreakpoint": [0, 65, 124], "delbreakpoint": [0, 65, 124], "delcom": [0, 65, 124], "delet": [10, 36, 77, 174, 216, 348, 360, 382, 391], "deleteclass": [0, 65, 124], "deletethem": [0, 10, 63], "delflag": [0, 65, 124], "delfunct": [0, 65, 124], "delglobalvari": [0, 65, 124], "delight": 343, "demangl": [0, 54, 63], "demonstr": 346, "dens": 247, "deobfusc": 376, "dep": 347, "depend": [13, 34, 342, 347, 355, 358, 361, 375, 379], "deploy": 347, "depth": [65, 247, 377], "derefer": [65, 377], "deriv": 46, "desc": [65, 136], "describ": [13, 24, 342, 346, 347, 348, 351, 389], "descript": [0, 1, 3, 46, 49, 63, 111, 112, 113, 114, 124, 148, 165, 166, 197, 229, 232, 238, 244, 253, 261, 281, 291, 294, 300, 303, 341, 342, 348, 352, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 389, 390, 391], "descriptioncolumn": [0, 298, 341], "deseri": [185, 216, 352], "deserializeviewproperti": [0, 185, 216, 341], "design": [247, 347], "desir": [65, 76, 272, 347], "desktop": [342, 347, 375], "dest": [0, 326, 341], "destroi": [160, 175], "destroyplugin": [0, 175, 177], "destructor": 174, "detachicon": [0, 221, 341], "detail": [0, 65, 99, 124, 162, 346, 352, 356, 358, 359], "detailscolumn": [0, 235, 341], "detect": [347, 360, 367, 374, 383], "determin": [36, 46], "dev": [345, 348, 354], "devel": 342, "develop": [342, 343, 346, 348, 353, 354, 359], "devicepixelratio": 21, "df": 247, "dialog": [0, 13, 46, 76, 136, 137, 149, 154, 158, 160, 195, 217, 346, 354, 357, 358, 360, 361, 364, 371, 372, 378, 379, 382, 386, 388, 391, 392], "dict": 352, "dictionari": [185, 216], "did": 346, "didn": [346, 347], "differ": [17, 76, 185, 216, 342, 346, 347, 348, 351, 356, 358, 359, 360, 363, 364, 376, 379, 382, 388, 389, 390, 391], "difference_typ": [0, 25, 27, 63, 70, 71, 73, 74, 124], "difficulti": [343, 346], "dir": [13, 342], "direct": [0, 24, 174, 247, 252, 341, 342, 352, 360], "directionalcombobox": [0, 63, 354], "directli": [45, 247, 345, 347, 351, 357], "directori": [148, 342, 345, 347, 351, 352, 355, 390], "disa": 224, "disabl": [0, 12, 13, 46, 63, 65, 223, 297, 342, 347, 357, 361, 382], "disablebreakpoint": [0, 65, 124], "disablecenteron": [0, 184, 341], "disasm": 352, "disass_select": 10, "disassamblergraphview": 271, "disassembl": [0, 65, 124, 359, 367], "disassemblelin": [0, 65, 124], "disassemblergraphview": [0, 217, 251, 271, 341, 354], "disassemblesingleinstruct": [0, 65, 124], "disassembli": [0, 65, 76, 124, 224, 348, 352, 354, 356, 360, 363, 375, 382, 387], "disassembly_block": [0, 223, 341], "disassemblyblock": [0, 223, 341, 354], "disassemblycontextmenu": [0, 173, 354], "disassemblyleftpanel": [0, 341, 354], "disassemblylin": [0, 18, 65, 124, 227, 354], "disassemblyres": [0, 225, 341], "disassemblyscrollarea": [0, 341, 354], "disassemblytextblockuserdata": [0, 63, 354], "disassemblytextedit": [0, 341, 354], "disassemblywidget": [0, 224, 266, 341, 354], "discov": [351, 389], "discuss": 346, "disk": [65, 379], "dismiss": 347, "displac": 65, "displai": [13, 65, 76, 136, 179, 195, 201, 241, 347, 352, 357, 368, 371, 372, 373, 374, 377, 382, 383, 385], "displayingtext": [0, 336, 341], "displaynewfiledialog": [0, 76, 124], "displayrol": [152, 161, 191, 197, 208, 212, 229, 232, 235, 238, 244, 253, 267, 277, 284, 288, 291, 294, 298, 300, 303, 308, 311], "displaywelcomedialog": [0, 76, 124], "distanc": 247, "distribut": [347, 350, 354], "distro": 342, "dll": 376, "dmg": 354, "dnf": 342, "do": [34, 247, 342, 343, 345, 346, 347, 348, 350, 351, 352, 354, 382], "doc": [37, 342, 343, 348, 349, 351, 352, 354, 359], "dock": [185, 216, 352, 360, 375], "dockwidget": [34, 76, 352], "document": [13, 342, 343, 346, 347, 350, 352, 354, 355, 360, 375, 388], "doe": [10, 25, 347, 351, 352, 379], "doesn": [1, 3, 13, 24, 25, 26, 45, 197, 229, 232, 238, 244, 247, 253, 261, 281, 291, 294, 303, 342, 345, 347, 348, 351, 363], "don": [25, 27, 34, 46, 185, 216, 241, 247, 342, 345, 346, 347, 348, 351, 358], "done": [46, 247, 342, 345, 346, 348, 352, 388], "doption_nam": 347, "dorefresh": 34, "dorenameinfo": [0, 173, 354], "dosometh": 345, "dot": 371, "dotortho": [0, 252, 341], "dotpolylin": [0, 252, 341], "doubl": [13, 217, 247, 250, 340, 342, 345, 347], "down": [0, 249, 330, 341], "download": [46, 342, 347, 348, 354], "doxygen": [345, 350], "dpi": 346, "draft": 348, "drag": [347, 360, 375], "draw": [224, 247], "drawblock": [0, 223, 297, 341], "dsiabl": 65, "dtag": 342, "due": [247, 342], "duplic": [241, 250, 348, 360], "duplicatefromoffsetdialog": [0, 166, 354], "dure": [13, 25, 174, 223, 297, 342, 346, 347, 352, 358, 359, 389], "dword": [360, 372], "dynam": 377, "e": [13, 45, 65, 272, 342, 348, 357, 364, 368, 374, 379, 392], "each": [13, 24, 25, 29, 42, 65, 247, 360, 363, 364, 373, 379, 383, 385, 387, 389], "earli": [13, 356], "earlier": [247, 347, 348], "earliest": 363, "easi": [346, 347], "easier": [343, 347, 383], "easiest": 347, "easili": [342, 347, 352], "edg": [0, 100, 124, 241, 247, 249, 250, 325, 327, 329, 341, 346, 383], "edgecolumnoffset": [0, 327, 341], "edgecolumnwidth": [0, 327, 341], "edgeconfigur": [0, 223, 250, 297, 341, 354], "edgeconfigurationmap": [0, 223, 271, 341], "edgehorizontalspac": [0, 249, 331, 341], "edgerowheight": [0, 327, 341], "edgerowoffset": [0, 327, 341], "edgescolumn": [0, 238, 341], "edgespac": 13, "edgeverticalspac": [0, 249, 331, 341], "edit": [0, 76, 124, 136, 351, 352, 355, 356, 360, 372, 375, 379, 388, 389, 390, 392], "editablebreakpoint": 131, "editbreakpoint": [0, 131, 166], "editbyt": [0, 65, 124], "editbytesendian": [0, 65, 124], "editfunctiondialog": [0, 166, 354], "editinstruct": [0, 65, 124], "editinstructiondialog": [0, 166, 354], "editmethod": [0, 136, 166], "editmethoddialog": [0, 166, 354], "editmod": 131, "editor": [346, 347, 364], "editorev": [0, 190, 341], "editrol": [191, 208], "editstringdialog": [0, 166, 354], "editvariablesdialog": [0, 166, 354], "editwordst": [0, 259, 341], "effect": [13, 359], "effici": 359, "eg": 342, "either": [13, 76, 195, 247, 342, 347, 371, 375, 379], "element": [25, 26, 33, 42], "elemnt": [223, 297], "elf": 376, "elf64": 383, "els": [65, 247, 352], "embed": 357, "embrac": 351, "emit": [14, 46, 65, 158, 201, 272, 345, 352], "empti": [0, 1, 3, 10, 25, 26, 46, 65, 138, 143, 166, 185, 197, 216, 229, 232, 238, 244, 247, 253, 259, 261, 281, 291, 294, 303, 321, 335, 341, 345, 358, 364, 381], "emul": [65, 360, 363, 365, 375, 384], "enabl": [0, 13, 65, 91, 124, 169, 201, 215, 216, 247, 272, 297, 342, 347, 355, 360, 361, 375, 382, 389], "enablebreakpoint": [0, 65, 124], "enablecutterplugin": [0, 180, 181], "enabledcolumn": [0, 191, 341], "enabledecompilerannotationhighlight": [0, 13, 63], "enableplugin": 175, "enablerizinplugin": [0, 180, 181], "encod": [0, 65, 129, 166, 360], "encount": [342, 358, 389], "end": [0, 25, 37, 45, 63, 65, 67, 70, 73, 124, 247, 258, 259, 341, 347, 372, 379], "end_arrow": [0, 250, 332, 341], "endaddr": 134, "endaddress": [0, 259, 335, 341], "endaddresscolumn": [0, 291, 294, 341], "endian": [0, 54, 63, 357], "endless": 351, "endpoint": 247, "engag": 351, "engin": [354, 356, 359], "enjoi": 345, "enough": [179, 358], "ensur": [16, 247, 347, 348], "enter": [342, 352, 382, 391], "entir": [345, 346, 379, 383], "entri": [0, 13, 65, 247, 248, 249, 252, 272, 316, 320, 329, 341, 345, 352, 360], "entropi": [0, 116, 124, 383], "entropycolumn": [0, 291, 341], "entrypoint": [65, 247, 383], "entrypointdescript": [0, 65, 124, 354], "entrypointwidget": [0, 216, 341, 354], "enum": [12, 23, 37, 54, 65, 76, 91, 129, 130, 137, 144, 152, 161, 172, 191, 197, 212, 217, 229, 232, 235, 238, 242, 244, 247, 249, 250, 252, 253, 259, 261, 264, 267, 274, 277, 281, 284, 288, 291, 294, 298, 300, 303, 307, 308, 311, 316, 330, 383], "enumer": [12, 23, 37, 54, 65, 76, 91, 129, 130, 137, 144, 152, 161, 172, 191, 197, 212, 217, 229, 232, 235, 238, 242, 244, 247, 249, 250, 252, 253, 259, 261, 264, 267, 274, 277, 281, 284, 288, 291, 294, 298, 300, 303, 307, 308, 311, 316, 330], "env": 342, "environ": [342, 343, 344, 346, 351, 354, 358, 375, 379], "equal": [185, 216, 247], "equival": 174, "err": [10, 76], "error": [10, 46, 137, 342], "errormsg": 46, "esc": 392, "escape_nl": 65, "especi": 216, "essenti": [342, 347], "establish": 247, "etc": [65, 342, 345, 385], "even": [345, 346, 348, 351, 389], "event": [0, 34, 65, 76, 190, 216, 217, 223, 224, 247, 266, 272, 315, 341, 345, 354, 355, 390], "eventfilt": [0, 216, 266, 341], "ever": [345, 363, 365], "everi": [247, 345, 352, 364, 379, 385], "everyon": [346, 347], "everyth": [343, 346, 382], "everytim": [223, 271], "ex": [342, 348], "exact": [65, 247, 342, 347, 358], "exactli": 247, "exampl": [29, 34, 65, 217, 247, 342, 345, 346, 348, 352, 363, 365, 367, 382], "exceed": 25, "except": 342, "exclus": [24, 29, 33], "exec": [10, 345], "execut": [13, 65, 76, 160, 342, 347, 348, 354, 362, 363, 365, 376, 379, 383, 389, 390], "exhaust": 348, "exist": [10, 65, 162, 345, 346, 347, 363, 366, 390, 391], "existsfileinfo": [0, 65, 124], "exit": [363, 365, 379], "expand": 385, "expect": [24, 42, 346, 352], "experi": [342, 351, 353, 354, 359], "experienc": 346, "experiment": 357, "explain": [350, 351, 360], "explan": 358, "explicit": [2, 4, 6, 9, 14, 17, 18, 25, 27, 28, 34, 36, 38, 39, 41, 42, 44, 46, 64, 65, 73, 74, 76, 77, 125, 126, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 147, 148, 149, 150, 154, 155, 157, 158, 159, 160, 162, 182, 184, 186, 187, 188, 189, 193, 194, 196, 197, 198, 199, 201, 203, 206, 209, 211, 214, 215, 216, 218, 219, 220, 221, 222, 225, 226, 227, 228, 231, 234, 237, 240, 242, 243, 246, 249, 250, 251, 255, 256, 257, 259, 260, 263, 264, 268, 270, 272, 274, 275, 276, 279, 280, 283, 284, 285, 286, 287, 290, 293, 296, 299, 302, 305, 307, 310, 313, 314, 315, 317, 330], "explicitli": [272, 342], "export": [13, 195, 217, 223, 229, 244, 297, 303, 360, 375, 383, 392], "exportdescript": [0, 65, 124, 229, 354], "exportdescriptionrol": [0, 229, 341], "exportgraph": [0, 217, 341], "exportrztextgraph": [0, 217, 341], "exportsmodel": [0, 230, 341, 354], "exportsproxymodel": [0, 1, 341, 354], "exportswidget": [0, 264, 341, 354], "exporttyp": 217, "expos": 352, "expr": 65, "express": [65, 247], "extend": [352, 377, 383], "extens": [0, 76, 148, 165, 166, 347], "extern": [379, 383], "extra": [216, 342, 345], "extract": 354, "extradock": 76, "f": [347, 357, 392], "f12": [383, 392], "f2": [363, 366, 392], "f5": [347, 376, 392], "f7": [347, 376, 392], "f8": [376, 392], "f9": [376, 392], "face": [342, 346, 351], "factor": [13, 346], "fail": [65, 342], "fallback": 347, "fallbacksyntaxhighlight": [0, 63, 354], "fals": [10, 13, 34, 37, 45, 54, 60, 65, 76, 91, 131, 136, 143, 158, 162, 175, 209, 247, 250, 272, 320, 325, 332, 345, 389, 392], "false_path": [0, 320, 341], "famili": 347, "familiar": [247, 344, 354, 359], "fantast": [346, 351], "fast": 65, "faster": 355, "favor": 247, "favorit": [347, 379], "fcn": [0, 39, 65, 78, 124, 223, 271], "fd": [0, 333, 341], "fdcolumn": [0, 130, 166], "featur": [342, 344, 345, 348, 351, 354, 356, 360, 372, 376, 377, 379, 387], "feel": [353, 359], "fetch": [0, 65, 76, 183, 194, 265, 341, 354, 355, 367, 382], "fetchfinish": [0, 20, 63], "few": [347, 358], "field": [0, 86, 124, 197, 341, 347], "figur": 247, "file": [0, 10, 13, 65, 76, 124, 195, 217, 342, 346, 348, 350, 352, 354, 355, 356, 357, 360, 371, 374, 375, 376, 383, 390], "file_path": [0, 99, 124], "filenam": [0, 41, 44, 54, 63, 104, 124, 345, 357], "fileopenopt": [0, 180, 181], "filepath": [10, 65, 217], "fill": [10, 158, 348, 367, 380], "fillrefsforaddress": [0, 162, 166], "fillrefsforvari": [0, 162, 166], "filltextarea": [0, 158, 166], "fillwithnop": 65, "filter": 346, "filterclos": [0, 211, 275, 341], "filtertextchang": [0, 211, 275, 341], "filtertyp": 65, "final": [5, 42, 345, 346], "finalizeopen": [0, 76, 124], "finaltyp": [24, 31, 42], "find": [30, 65, 342, 343, 344, 345, 348, 350, 351, 354, 360, 383], "findwrit": 65, "finish": [0, 5, 12, 15, 40, 63, 65], "first": [0, 13, 25, 65, 67, 76, 124, 137, 160, 247, 345, 346, 347, 352, 359, 389], "firstoffset": 168, "fit": [343, 346], "fix": [0, 259, 341, 342, 344, 345, 348, 354], "flag": [0, 37, 50, 60, 63, 65, 76, 89, 124, 172, 173, 191, 232, 298, 341, 342, 347, 360, 377, 392], "flag_nam": [0, 96, 124], "flagal": [0, 37, 63], "flagat": [0, 65, 124], "flagbackground": [0, 37, 63], "flagcolor": [0, 37, 63], "flagdescript": [0, 65, 124, 232, 354], "flagdescriptionrol": [0, 161, 166, 232, 341], "flagdialog": [0, 166, 354], "flaglist": 270, "flagnon": [0, 37, 63], "flagoffsetout": 65, "flagschang": [0, 65, 124], "flagsmodel": [0, 233, 341, 354], "flagspac": 65, "flagspacedescript": [0, 65, 124, 354], "flagssortfilterproxymodel": [0, 1, 341, 354], "flagswidget": [0, 216, 341, 354], "flirt": 170, "flirtcontextmenu": [0, 173, 354], "flirtdescript": [0, 65, 124, 170, 235, 354], "flirtdescriptionrol": [0, 235, 341], "flirtmodel": [0, 236, 341, 354], "flirtproxymodel": [0, 341, 354], "flirtwidget": [0, 216, 341, 354], "flow": [247, 346, 383], "fn": 76, "focu": [13, 392], "focusinputlineedit": [0, 215, 341], "fold": 347, "folder": [345, 347], "follow": [241, 247, 342, 343, 345, 346, 347, 350, 351, 352, 354, 357, 371, 372, 377, 392], "font": [9, 13, 259], "fontmetr": [0, 37, 58, 59, 63], "fontsupd": [0, 13, 63], "fontsupdatedslot": [0, 217, 227, 341], "foo": 345, "forc": [179, 357, 368], "forcebinplugin": [0, 54, 63, 65], "foreach": 345, "forget": 346, "fork": 377, "form": [247, 325, 347, 383], "format": [0, 37, 52, 53, 56, 63, 65, 120, 124, 195, 217, 241, 250, 259, 308, 341, 345, 352, 355, 357, 371, 376, 379, 383], "formatrefdesc": [0, 65, 124], "forward": [247, 346, 351, 378], "forward_iterator_tag": [25, 27], "forward_list": 25, "foss": 354, "found": [247, 342, 348, 374], "framecolumn": [0, 238, 341], "framework": 379, "free": 347, "freebind": [0, 124, 354], "freed": 65, "freez": [348, 354, 357], "friendli": 343, "from": [0, 10, 13, 16, 17, 25, 42, 46, 65, 66, 90, 123, 124, 137, 201, 223, 247, 297, 342, 345, 346, 347, 348, 351, 352, 353, 355, 359, 360, 361, 363, 364, 367, 371, 374, 375, 382, 383, 384, 390, 391], "from_str": [0, 123, 124], "frommodel": 162, "fromtextdocu": [0, 37, 63], "full": [42, 342, 347, 354, 355, 389], "fulltext": [0, 321, 341], "func": [75, 216], "funcaddr": 65, "function": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 62, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 89, 100, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 167, 168, 169, 170, 172, 173, 174, 175, 176, 178, 179, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 321, 322, 324, 326, 330, 334, 342, 346, 347, 348, 351, 352, 359, 360, 362, 372, 374, 375, 376, 379, 382, 392], "functionaddr": 168, "functionaddress": 65, "functionat": [0, 65, 124], "functioncolumn": [0, 212, 341], "functiondescript": [0, 20, 65, 124, 238, 354], "functiondescriptionrol": [0, 238, 341], "functionin": [0, 65, 124], "functionmodel": [0, 2, 239, 341, 354], "functionrenam": [0, 65, 124], "functionrol": [0, 212, 341], "functionschang": [0, 65, 124], "functionsortfilterproxymodel": [0, 1, 341, 354], "functionstask": [0, 5, 63, 354], "functionswidget": [0, 264, 341, 354], "functiontask": [0, 65, 124], "further": [247, 357], "futur": [351, 382], "g": [13, 65, 342, 348, 364, 368, 379, 383, 392], "gap": 389, "gather": [13, 346], "gb": 13, "gcc": 342, "gcc_64": 342, "gdb": [347, 376], "gdbinit": 347, "gener": [25, 154, 241, 247, 272, 342, 344, 350, 351, 352, 354, 379], "genericrizingraphview": [0, 297, 341, 354], "gentoo": 13, "geometri": [0, 51, 63], "get": [0, 1, 3, 10, 13, 25, 27, 65, 72, 124, 179, 197, 229, 232, 238, 244, 247, 250, 253, 261, 281, 291, 294, 303, 343, 344, 345, 347, 349, 351, 355, 374, 383], "getactivedebugplugin": [0, 65, 124], "getaddrref": [0, 65, 124], "getallanalysisclass": [0, 65, 124], "getallclassesfrombin": [0, 65, 124], "getallclassesfromflag": [0, 65, 124], "getallcom": [0, 65, 124], "getallentrypoint": [0, 65, 124], "getallenum": [0, 65, 124], "getallexport": [0, 65, 124], "getallflag": [0, 65, 124], "getallflagspac": [0, 65, 124], "getallfunct": [0, 65, 124], "getallglob": [0, 65, 124], "getallhead": [0, 65, 124], "getallimport": [0, 65, 124], "getallprimitivetyp": [0, 65, 124], "getallprocess": [0, 65, 124], "getallreloc": [0, 65, 124], "getallresourc": [0, 65, 124], "getallsearch": [0, 65, 124], "getallsect": [0, 65, 124], "getallseg": [0, 65, 124], "getallstr": [0, 65, 124], "getallstruct": [0, 65, 124], "getallsymbol": [0, 65, 124], "getalltyp": [0, 65, 124], "getalltypedef": [0, 65, 124], "getallunion": [0, 65, 124], "getallvt": [0, 65, 124], "getanalysisclassbaseclass": [0, 65, 124], "getanalysisclassmethod": [0, 65, 124], "getanalysisclassvt": [0, 65, 124], "getanalysismethod": [0, 65, 124], "getanalysispluginnam": [0, 65, 124], "getanim": [0, 32, 63], "getarchbit": [0, 65, 124], "getarena": [0, 65, 124], "getarg": [0, 149, 166, 178, 181], "getasmpluginnam": [0, 65, 124], "getasynctaskmanag": [0, 65, 124], "getauthor": [0, 174, 177], "getautoupdateen": [0, 13, 63], "getavailabletransl": [0, 13, 63], "getbar": 345, "getbasefont": [0, 13, 63], "getbasicblock": [0, 7, 63], "getbasicinstruct": [0, 8, 63], "getbbhighlight": [0, 65, 124], "getbihighlight": [0, 65, 124], "getbinmessag": [0, 130, 166], "getbinplugindescript": [0, 65, 124], "getbitmapexportscalefactor": [0, 13, 63], "getbitmaptransparentst": [0, 13, 63], "getblock": [0, 223, 341], "getblockcontain": [0, 250, 341], "getbreakonclos": [0, 156, 166], "getbreakpoint": [0, 65, 124], "getbreakpointat": [0, 65, 124], "getbreakpointsaddress": [0, 65, 124], "getbreakpointsinfunct": [0, 65, 124], "getcallconselect": [0, 134, 166], "getchunk": [0, 130, 166], "getclass": [0, 136, 166], "getcolor": [0, 11, 13, 63], "getcolorthem": [0, 13, 63, 65, 124], "getcom": [0, 132, 166], "getcommentat": [0, 65, 124], "getconfig": [0, 65, 124], "getconfigb": [0, 65, 124], "getconfigbool": [0, 13, 63], "getconfigdescript": [0, 65, 124], "getconfigi": [0, 65, 124], "getconfigint": [0, 13, 63], "getconfigopt": [0, 65, 124], "getconfigstr": [0, 13, 63], "getconfigut64": [0, 65, 124], "getconfigvar": [0, 13, 63], "getconfigvariablespac": [0, 65, 124], "getcontextmenuextens": [0, 76, 124], "getcurrentthem": [0, 13, 63], "getcurrlocal": [0, 13, 63], "getcustomthemespath": [0, 10, 63], "getcutterrcdefaultdirectori": [0, 65, 124], "getdata": [0, 129, 166], "getdebugplugin": [0, 65, 124], "getdecompil": [0, 65, 124], "getdecompilerautorefreshen": [0, 13, 63], "getdecompilerbyid": [0, 13, 65, 124], "getdescript": [0, 131, 166, 174, 177], "getdisassemblypreview": [0, 65, 124], "getedgeconfigur": [0, 223, 341], "getelapsedtim": [0, 5, 63], "getendaddress": [0, 143, 166], "getendaddrtext": [0, 134, 166], "getfilenam": [0, 76, 124], "getfirstoffsetinlin": [0, 168, 173], "getfont": [0, 13, 63], "getfontmetr": [0, 227, 341], "getfunctionend": [0, 65, 124], "getfunctionexecout": [0, 65, 124], "getfunctionstart": [0, 65, 124], "getfunctionswidgetlayout": [0, 13, 63], "getglobalvariabletyp": [0, 65, 124], "getgraphblockentryoffset": [0, 13, 63], "getgraphblockmaxchar": [0, 13, 63], "getgraphblockspac": [0, 13, 63], "getgraphedgespac": [0, 13, 63], "getgraphlayout": [0, 250, 341], "getgraphminfonts": [0, 13, 63], "getgraphpreview": [0, 13, 63], "getgraphview": [0, 251, 272, 341], "getheapbin": [0, 65, 124], "getheapchunk": [0, 65, 124], "getheight": [0, 223, 341], "gethexdumppreview": [0, 65, 124], "getid": [0, 15, 63], "getinitialopt": [0, 178, 181], "getinst": [0, 175, 177], "getinstruct": [0, 135, 166], "getinstructionbyt": [0, 65, 124], "getinstructionopcod": [0, 65, 124], "getinterfacethem": [0, 13, 63], "getinterruptonclos": [0, 127, 166], "getiomod": [0, 23, 63], "getisavail": [0, 272, 341], "getistogglingbreakpoint": [0, 168, 173], "getitemcontextmenu": [0, 186, 341], "getitemcount": [0, 157, 166], "getitems": [0, 157, 166], "getlastfunctioninstruct": [0, 65, 124], "getlastmemorywidget": [0, 76, 124], "getlastthemeof": [0, 13, 63], "getlin": [0, 227, 341], "getlog": [0, 5, 63], "getlogofil": [0, 13, 63], "getmainwindow": [0, 178, 181], "getmemorymap": [0, 65, 124], "getmenubytyp": [0, 76, 124], "getmetastr": [0, 65, 124], "getmethod": [0, 136, 166], "getmod": [0, 129, 144, 166], "getnam": [0, 15, 63, 174, 177], "getnametext": [0, 134, 166], "getnbyt": [0, 133, 144, 166], "getnewfilelastclick": [0, 13, 63], "getoffset": [0, 14, 63, 65, 124, 133, 166, 345], "getoffsetjump": [0, 65, 124], "getopenfilefail": [0, 4, 63], "getoutputredirectionen": [0, 13, 63], "getpid": [0, 128, 166], "getplugin": [0, 175, 177], "getplugindirectori": [0, 175, 177], "getpreviewvalu": [0, 13, 63], "getprocessthread": [0, 65, 124], "getprogramcountervalu": [0, 65, 124], "getprogressindicatorvis": [0, 32, 63], "getrangerect": [0, 271, 341], "getrasmplugindescript": [0, 65, 124], "getrcoreplugindescript": [0, 65, 124], "getrecentfil": [0, 13, 63], "getrecentfold": [0, 13, 63], "getrecentproject": [0, 13, 63], "getreg": [0, 65, 124], "getregisternam": [0, 65, 124], "getregisterref": [0, 65, 124], "getregisterrefvalu": [0, 65, 124], "getresetbuttonrect": [0, 200, 341], "getresult": [0, 38, 39, 63], "getresultjson": [0, 38, 63], "getresultraw": [0, 38, 63], "getrioplugindescript": [0, 65, 124], "getrizinspecificopt": [0, 10, 63], "getrizinversionread": [0, 65, 124], "getrzanalysisbytessingl": [0, 65, 124], "getsectionlist": [0, 65, 124], "getseek": [0, 185, 341], "getseekhistori": [0, 65, 124], "getselect": [0, 259, 341], "getselecteddecompil": [0, 13, 63], "getshowvartooltip": [0, 13, 63], "getsignatureinfo": [0, 65, 124], "getsignaturesdb": [0, 65, 124], "getstack": [0, 65, 124], "getstacksizetext": [0, 134, 166], "getstandardthemespath": [0, 10, 63], "getstartaddress": [0, 143, 166], "getstartaddrtext": [0, 134, 166], "getstr": [0, 65, 124], "getstringsizevalu": [0, 137, 166], "getstringstartaddress": [0, 137, 166], "getstringtyp": [0, 137, 166], "gettargetgraphwidget": [0, 272, 341], "gettasksrun": [0, 6, 63], "getter": [13, 76], "gettextualgraphat": [0, 65, 124], "gettextwidget": [0, 227, 341], "getthem": [0, 10, 63, 65, 124, 208, 341], "getthemekei": [0, 65, 124], "gettim": [0, 5, 63], "gettitl": [0, 4, 5, 12, 20, 41, 43, 63], "gettyp": [0, 266, 341], "gettypeasc": [0, 65, 124], "getuniqueobjectnam": [0, 76, 124], "geturi": [0, 154, 166], "getuseropen": [0, 272, 341], "getuserpluginsdirectori": [0, 175, 177], "getvalu": [0, 144, 166], "getvari": [0, 65, 124], "getvers": [0, 174, 177], "getversioninform": [0, 65, 124], "getviewoffset": [0, 250, 341], "getviewscal": [0, 250, 341], "getwidgettyp": [0, 196, 222, 227, 251, 260, 341], "getwidth": [0, 223, 341], "getxref": [0, 65, 124], "getxrefsforvari": [0, 65, 124], "getzoomfactor": [0, 13, 63], "gh": 351, "ghidra": [342, 348, 359, 383], "gif": 371, "gift": 346, "git": [342, 348], "github": [342, 346, 348, 355, 380, 383], "gitmodul": 345, "give": [34, 247, 342, 346, 359, 360, 364], "given": [10, 13, 14, 30, 33, 42, 65, 136, 154, 297, 357, 374, 382, 390], "gleefulli": 351, "glibcheapbinsdialog": [0, 166, 354], "glibcheapinfodialog": [0, 166, 354], "glibcheapmodel": [0, 341, 354], "glibcheapwidget": [0, 341, 354], "global": [45, 65, 185, 195, 196, 216, 217, 345, 352, 353, 354, 360, 387], "globaldescript": [0, 65, 124, 244, 354], "globaldescriptionrol": [0, 244, 341], "globalsmodel": [0, 245, 341, 354], "globalsproxymodel": [0, 1, 341, 354], "globalswidget": [0, 216, 341, 354], "globalvariabledialog": [0, 166, 354], "globalvarschang": [0, 65, 124], "gml": 217, "gnuinstalldir": 342, "go": [65, 158, 247, 345, 346, 347, 348, 351, 352, 360, 363, 375], "goal": [224, 354], "goe": [247, 351], "good": [342, 343, 345, 346, 347], "got": 34, "graph": [0, 10, 13, 65, 217, 223, 241, 247, 248, 249, 250, 271, 341, 342, 354, 356, 360, 364, 375, 382, 387], "graphblock": [0, 223, 249, 250, 252, 271, 297, 327, 341, 354], "graphclos": [0, 251, 341], "graphcommand": 217, "graphedg": [0, 249, 250, 329, 341, 354], "graphexporttyp": [0, 217, 341], "graphgridlayout": [0, 249, 341, 354], "graphheapchunk": [0, 341, 354], "graphhorizontaladapt": [0, 249, 341, 354], "graphic": [342, 347], "graphisbitamp": [0, 217, 341], "graphlayout": [0, 247, 248, 250, 252, 341, 354], "graphmov": [0, 217, 341], "graphoptionschang": [0, 65, 124], "graphtyp": 217, "graphview": [0, 195, 217, 223, 271, 297, 341, 354], "graphviz": [65, 342, 371], "graphvizlayout": [0, 249, 341, 354], "graphwidget": [0, 76, 266, 272, 341, 354], "great": [343, 346, 351], "greedili": 247, "grid": [247, 371], "grid_block": [0, 327, 341], "gridaaa": [0, 250, 341], "gridaab": [0, 250, 341], "gridaba": [0, 250, 341], "gridabb": [0, 250, 341], "gridbaa": [0, 250, 341], "gridbab": [0, 250, 341], "gridbba": [0, 250, 341], "gridbbb": [0, 250, 341], "gridblock": [0, 327, 341, 354], "gridedg": [0, 327, 341, 354], "gridmedium": [0, 250, 341], "gridnarrow": [0, 250, 341], "gridwid": [0, 250, 341], "group": [247, 343, 348, 360, 375, 391], "guarante": [363, 365, 389], "guess": 364, "gui": [10, 346, 347, 354, 390], "guid": [342, 343, 346, 352, 354, 356], "guidelin": [342, 343, 344, 346, 351, 354], "gv": [65, 217], "gvdot": [0, 217, 341], "gvgif": [0, 217, 341], "gvjpeg": [0, 217, 341], "gvjson": [0, 217, 341], "gvpdf": [0, 217, 341], "gvpng": [0, 217, 341], "gvpostscript": [0, 217, 341], "gvsvg": [0, 217, 341], "h": [37, 342, 345, 346, 347, 357], "h4x0r": 352, "ha": [13, 16, 24, 46, 65, 174, 247, 342, 347, 351, 360, 390], "haddr": [0, 95, 124], "half": [0, 25, 65, 124, 185, 216], "hand": 346, "handl": [34, 342], "handlerev": [0, 65, 124], "happen": [65, 348], "happi": 346, "happili": 353, "hardwar": [361, 363, 366], "has_par": [0, 325, 341], "has_valu": [0, 78, 124], "hash": 348, "hasnext": 389, "have": [1, 3, 13, 65, 185, 197, 216, 229, 232, 238, 241, 244, 247, 253, 261, 281, 291, 294, 303, 342, 343, 346, 347, 351, 352, 358, 387, 390], "head": [0, 25, 63], "header": [65, 253, 342, 345, 360], "header_text": [0, 320, 341], "headerdata": [0, 130, 152, 161, 166, 191, 197, 212, 229, 232, 235, 238, 242, 244, 253, 261, 267, 277, 281, 284, 288, 291, 294, 298, 300, 303, 308, 311, 341], "headerdescript": [0, 65, 124, 253, 354], "headerdescriptionrol": [0, 253, 341], "headersmodel": [0, 254, 341, 354], "headersproxymodel": [0, 1, 341, 354], "headerswidget": [0, 264, 341, 354], "heap": 65, "heapbinsgraphview": [0, 297, 341, 354], "heapdockwidget": [0, 216, 341, 354], "height": [0, 9, 21, 63, 247, 248, 249, 252, 271, 329, 341], "hello": [352, 379], "help": [0, 76, 124, 203, 207, 247, 343, 346, 347, 349, 352, 353, 356, 357, 358, 360, 375, 383, 389], "helper": [34, 136, 345, 347, 352], "helpev": [0, 223, 341], "henc": 390, "here": [342, 352, 354, 355, 359, 363, 364, 390, 392], "heurist": 247, "hex": [65, 201, 383, 389], "hexadecim": 360, "hexcursor": [0, 341, 354], "hexdump": [0, 65, 124, 346, 354, 356, 360, 375, 382, 387], "hexdumpformat": [0, 65, 124], "hexdumprangedialog": [0, 166, 354], "hexdumpwidget": [0, 266, 341, 354], "hexnavigationmod": [0, 259, 341], "hexselect": [0, 341, 354], "hexstringtobyt": [0, 65, 124], "hexwidget": [0, 341, 354], "hide": [0, 264, 341, 352], "hidebydefault": [0, 264, 341], "hidexreffrom": 162, "high": [247, 346, 359], "highdpipixmap": [0, 63, 354], "higher": 247, "highlight": [0, 7, 8, 16, 37, 60, 63, 169, 227, 260, 297, 341, 342, 347, 354, 360, 363, 383], "highlightcolor": [0, 37, 60, 63], "highlightconnectprev": [0, 37, 60, 63], "highlightcurrentlin": [0, 227, 341], "highlightfont": 238, "highlightingrul": [0, 63, 354], "highlightpc": [0, 10, 222, 341], "highlightpclin": [0, 227, 341], "highlightwidth": [0, 37, 60, 63], "histori": [14, 65, 345], "historytyp": 65, "hit": [343, 348, 363, 365], "home": 342, "homebrew": 342, "hope": 351, "hor": 240, "horizont": [13, 247, 248, 250, 360, 371], "host": 351, "how": [342, 343, 346, 347, 349, 352, 354, 356, 360, 372, 373], "howev": 389, "hsv": [201, 203, 207], "html": [37, 350, 352], "htmlrichtext": [0, 37, 63], "http": [342, 348, 351, 352, 354, 379, 383], "hue": 203, "hundr": 346, "hw": [0, 91, 124], "hybrid": 389, "hyperlink": 390, "i": [7, 8, 10, 13, 14, 16, 19, 25, 26, 30, 34, 36, 45, 46, 49, 65, 76, 137, 140, 158, 174, 179, 185, 186, 201, 205, 216, 224, 241, 247, 250, 259, 271, 272, 316, 325, 342, 345, 346, 347, 348, 351, 352, 353, 354, 355, 356, 357, 358, 359, 362, 363, 364, 365, 371, 372, 374, 375, 376, 377, 379, 381, 382, 383, 384, 385, 388, 389, 390, 391, 392], "id": [0, 13, 15, 65, 79, 81, 124, 241, 325, 341, 342, 346, 347], "idea": 346, "identifi": [197, 383, 389], "ignor": [65, 216], "ignorevisibilitystatu": [0, 216, 341], "imag": [359, 371], "imagin": 65, "immedi": [65, 356, 360, 364], "implement": [15, 24, 42, 174, 247, 345, 346, 355], "impli": 357, "import": [10, 209, 216, 345, 346, 347, 348, 351, 352, 360, 375, 392], "importaddress": 238, "importcolumn": [0, 238, 341], "importdescript": [0, 65, 124, 354], "importdescriptionrol": [0, 261, 341], "importsarrai": 345, "importsmodel": [0, 262, 341, 354], "importsproxymodel": [0, 1, 341, 354], "importswidget": [0, 264, 341, 354], "importthem": [0, 10, 63], "improperli": 342, "improv": [343, 345, 346, 347, 351, 354, 356], "inact": 361, "includ": [25, 65, 342, 347, 357, 359, 363, 377, 379, 382], "inclus": [24, 29, 30, 33, 259], "incom": [34, 36], "incompat": 342, "inconveni": 347, "increas": [0, 144, 166, 348], "increment": 360, "incrementdecrementdialog": [0, 166, 354], "independ": [383, 387], "index": [0, 1, 3, 31, 65, 83, 91, 110, 124, 130, 140, 152, 161, 190, 191, 197, 200, 208, 212, 229, 232, 235, 238, 242, 244, 253, 261, 267, 277, 281, 284, 288, 291, 294, 298, 300, 303, 308, 311, 341, 348, 350], "indextyp": 55, "indic": [10, 37], "indirectcal": [0, 320, 341], "individu": [345, 382], "inexperienc": 346, "info": [0, 316, 336, 341, 352, 360], "inform": [65, 136, 216, 247, 344, 347, 351, 352, 354, 356, 357, 359, 360, 377, 379, 380, 382, 383, 385, 388], "infunct": [0, 89, 124], "init": [0, 258, 341, 342], "initi": [0, 13, 24, 42, 65, 124, 136, 162, 174, 247, 347, 352, 354, 356, 388], "initialcapac": 25, "initialopt": [0, 4, 63, 76, 145, 178, 180, 354], "initialoptionsdialog": [0, 166, 354], "initialvalu": [24, 29, 33, 42], "initialvar": 138, "initpars": [0, 260, 341], "inject": 65, "inlin": [2, 3, 4, 5, 9, 10, 12, 13, 14, 15, 20, 24, 25, 26, 27, 29, 30, 31, 32, 33, 36, 39, 41, 42, 43, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 100, 127, 156, 174, 175, 178, 185, 186, 194, 197, 200, 202, 204, 207, 208, 210, 215, 216, 223, 226, 238, 247, 249, 250, 251, 258, 265, 266, 271, 272, 316, 317, 321, 322, 324, 326, 330, 334], "inner": [24, 42], "input": [65, 154, 346, 392], "input_iterator_tag": [70, 71, 73, 74], "inputcount": [0, 325, 341], "inputvaluegraph": 13, "insert": [25, 347, 348], "insid": [345, 347, 364, 374, 380, 382, 383], "inspect": [363, 364], "inst": 65, "instal": [342, 347, 350, 351, 354, 371, 380], "instanc": [0, 10, 13, 63, 65, 124, 185, 216, 352, 360, 375], "instead": [45, 185, 216, 247, 342, 347, 348, 350, 352, 355, 357, 376, 379, 391], "instr": [0, 320, 323, 341, 354], "instruct": [8, 65, 135, 346, 347, 351, 352, 360, 364, 366, 368, 369, 370, 376, 389, 392], "instructionchang": [0, 65, 124], "instructioneditmod": 135, "int": [0, 5, 13, 21, 25, 27, 30, 33, 37, 42, 45, 54, 60, 62, 63, 65, 70, 71, 73, 74, 89, 91, 92, 103, 105, 115, 120, 128, 130, 137, 140, 152, 157, 161, 178, 183, 184, 191, 194, 197, 208, 212, 215, 219, 223, 225, 227, 229, 232, 235, 238, 242, 244, 247, 248, 249, 252, 253, 259, 261, 265, 267, 271, 277, 281, 284, 288, 291, 294, 298, 300, 303, 308, 311, 317, 323, 325, 326, 327, 328, 329, 331, 334, 345, 354], "int16_t": [326, 328], "int64_t": [91, 317], "integertyp": [29, 42], "integr": [382, 383], "intel": [363, 365], "intellij": 347, "intend": [346, 348], "interact": [223, 250, 297, 383], "interchang": 247, "interest": [342, 346], "interfac": [13, 209, 353, 359], "interfacethemechang": [0, 13, 63, 209], "intern": [76, 351], "interpret": [247, 357], "interrupt": [0, 4, 5, 41, 63], "intersect": [0, 247, 258, 324, 341], "intex": [1, 3, 197, 229, 232, 238, 244, 253, 261, 281, 291, 294, 303], "introduc": 379, "invalid": [10, 25, 27, 76], "invert": 367, "invit": 353, "invok": 342, "involv": 343, "io": [352, 389], "iocachechang": [0, 65, 124], "iomodechang": [0, 65, 124], "iomodescontrol": [0, 63, 354], "ioread": [0, 65, 124], "ip": [360, 376], "irc": 343, "isaddressmap": [0, 65, 124], "isavail": 272, "isavailablechang": [0, 272, 341], "isbreakpoint": [0, 65, 124], "iscancel": [0, 15, 63], "iscustomthem": [0, 10, 63], "isdebugtaskinprogress": [0, 65, 124], "isdecompilerannotationhighlighteren": [0, 13, 63], "iseditingbyt": 135, "isempti": [0, 25, 26, 63, 258, 341, 345], "isfilethem": [0, 10, 63], "isfirstexecut": [0, 13, 63], "isgraphempti": [0, 65, 124, 223, 341], "isimportrol": [0, 238, 341], "isinterrupt": [0, 5, 63], "isiocacheen": [0, 65, 124], "isn": [247, 342, 347, 348, 351, 353, 376, 379], "isnest": [0, 212, 238, 341], "ispickingfromscreen": [0, 201, 341], "isredirectabledebuge": [0, 65, 124], "isrun": [0, 5, 15, 63], "issu": [342, 343, 347, 348, 351, 354, 356, 360, 375], "issynchron": [0, 14, 63], "isthemeexist": [0, 10, 63], "isvis": [0, 334, 341], "isvisibletous": [0, 216, 341], "iswritemodeen": [0, 65, 124], "item": [0, 1, 3, 17, 25, 26, 27, 63, 167, 186, 197, 209, 229, 232, 238, 244, 253, 259, 261, 281, 291, 294, 298, 303, 341, 345, 354, 360, 361, 364, 372, 379, 381, 383, 385, 386], "itemchang": [0, 210, 341], "itemflag": [191, 298], "itemformat": [0, 259, 341], "itemformatdec": [0, 259, 341], "itemformatfloat": [0, 259, 341], "itemformathex": [0, 259, 341], "itemformatoct": [0, 259, 341], "itemformatsigneddec": [0, 259, 341], "items": [0, 259, 341], "itemsizebyt": [0, 259, 341], "itemsizedword": [0, 259, 341], "itemsizeqword": [0, 259, 341], "itemsizeword": [0, 259, 341], "iter": [0, 25, 27, 67, 70, 73, 124, 247, 354], "iterator_categori": [0, 25, 27, 63, 70, 71, 73, 74, 124], "itoa": [0, 65, 124], "its": [49, 65, 223, 247, 271, 342, 345, 346, 353, 356, 360, 361, 364, 372, 382, 387], "itself": [342, 352, 382], "j": [352, 392], "java": 379, "javascript": 379, "je": 367, "jetbrain": 347, "jmpfromoffset": [0, 324, 341], "jmprevers": [0, 65, 124], "jmptoffset": [0, 324, 341], "jne": 367, "jointask": [0, 40, 63], "jpeg": [0, 217, 341, 371], "jpg": 371, "jsdec": [342, 359], "json": [65, 217, 241, 347, 352, 371], "jump": [14, 224, 247, 360], "just": [174, 342, 348, 352], "k": [65, 347, 392], "kdevelop": 347, "keep": [29, 185, 216, 223, 247, 271, 342, 347, 348, 354, 363, 365], "kei": [0, 10, 13, 45, 65, 67, 124, 217], "kept": 36, "kernel": 377, "keyboard": [354, 360, 363], "kf6": 342, "kind": [0, 185, 216, 241, 247, 316, 326, 328, 341, 346, 389], "kit": 347, "know": [343, 345, 346, 351, 359], "knowledg": 351, "known": [13, 247], "ksyntaxhighlight": [19, 342], "l": [13, 24, 29, 33, 73, 348], "l10n": 342, "label": [10, 156, 241, 297, 352], "lack": [346, 351], "laddr": [0, 95, 124], "lambda": [216, 345], "land": 346, "lang": [0, 110, 124, 284, 341], "languag": [13, 347, 353, 355, 379, 383], "larg": [65, 247, 347, 348, 358], "last": [0, 13, 14, 65, 67, 124, 209, 247, 325, 390, 391], "last_remaind": [0, 82, 124], "lastclick": 13, "lastrowleft": [0, 325, 341], "lastrowright": [0, 325, 341], "later": [13, 65, 247, 346, 347, 364, 379, 389], "latest": [46, 342, 347, 348, 354], "launch": [347, 390], "launchnewinst": [0, 178, 181], "layer": 247, "layout": [0, 13, 146, 185, 216, 247, 248, 250, 341, 342, 348, 354, 356, 360, 374, 375, 388], "layout_config": 249, "layoutconfig": [0, 248, 249, 250, 341, 354], "layoutmanag": [0, 166, 354], "layoutst": [0, 341, 354], "layouttyp": [0, 247, 252, 341], "lazili": 24, "lazysegmenttreebas": [0, 29, 33, 42, 63, 354], "ld_library_path": [342, 358], "ldbinit": 347, "ldd": 342, "learn": [346, 347, 351, 354, 358, 359, 380], "least": [247, 348], "leav": [24, 31, 42, 185, 216, 346, 347], "left": [0, 24, 29, 30, 33, 42, 152, 224, 247, 249, 325, 330, 341, 347, 371, 378], "leftchild": 30, "leftmostlessthan": [0, 30, 63], "leftposit": [0, 325, 341], "leftsideshap": [0, 325, 341], "len": [65, 183, 194, 265], "length": [0, 118, 124, 247, 265, 323, 324, 341, 360, 367], "lengthcolumn": [0, 300, 341], "less": [30, 247, 379], "lessthan": [0, 152, 166], "let": [352, 363, 366], "level": [0, 13, 247, 324, 341, 355, 357, 359], "lib": 342, "libera": 354, "libgraphviz": 342, "libnam": [0, 103, 124, 261, 341], "libqt6core5compat6": 342, "libqt6svg6": 342, "libqt6svgwidgets6": 342, "librari": [342, 347, 377, 379], "librarycolumn": [0, 261, 341], "librz_": 342, "librz_lang": 342, "libzip": 342, "libzlib": 342, "licens": [0, 111, 112, 113, 114, 124, 380], "lifetim": 16, "lightflag": 13, "like": [34, 158, 247, 342, 343, 345, 346, 347, 348, 351, 352, 358, 372, 379, 383, 385, 387], "lima": 13, "limit": [29, 247, 358, 376], "limitless": 351, "line": [0, 13, 18, 63, 65, 225, 227, 247, 259, 322, 341, 342, 345, 347, 352, 354, 356, 360], "linear": [247, 389], "linears": [0, 100, 124], "linehighlight": 10, "linehl": 10, "liner": 247, "linestyl": [0, 250, 332, 341], "link": [25, 345, 346], "linkedlistpool": [0, 63, 325, 354], "linker": 342, "linux": [344, 346, 350, 354, 358, 376, 379], "list": [0, 10, 11, 13, 17, 25, 27, 37, 63, 65, 209, 241, 316, 322, 325, 342, 345, 346, 347, 351, 352, 354, 355, 358, 363, 364, 374, 377, 379, 383, 391], "listdockwidget": [0, 199, 214, 216, 231, 240, 255, 263, 268, 283, 285, 293, 296, 305, 341, 354], "listflagsasstringat": [0, 65, 124], "listiter": [0, 25, 63, 354], "literatur": 42, "littl": [0, 54, 63, 346, 357], "ll": [342, 345, 346, 379], "load": [65, 158, 174, 175, 342, 347, 352, 354, 357, 358, 376, 377, 379, 381, 382, 383, 389, 390, 391], "loadbin": 65, "loadbininfo": [0, 54, 63], "loadcurrentgraph": [0, 223, 341], "loadcutterrc": [0, 65, 124], "loaddefaultcutterrc": [0, 65, 124], "loadfil": [0, 65, 124], "loadiniti": [0, 13, 63], "loadopt": [0, 145, 166], "loadpdb": [0, 65, 124], "loadplugin": [0, 65, 175, 177], "loadscript": [0, 65, 124], "local": [13, 65, 162, 342, 345, 350, 353, 360, 392], "locat": [13, 14, 65, 137, 342, 352, 355, 364, 368, 372, 375, 378, 383, 387, 390], "lock": [76, 226, 348, 360, 375], "lockdock": [0, 76, 124], "log": [5, 348], "logchang": [0, 5, 63], "logic": [34, 250], "logicaltoviewcoordin": [0, 250, 341], "login": 347, "long": [16, 197, 354], "longer": 358, "look": [342, 343, 345, 346, 351, 352, 354, 368, 379], "loop": [247, 376], "lose": 379, "lost": 357, "lot": 347, "love": 351, "lower": [247, 342], "lowlevelvalu": [0, 67, 124], "lr": [0, 252, 341], "m": [345, 357, 379], "machin": [342, 354, 359], "maco": [346, 354, 379], "macro": 345, "made": [345, 346, 347, 364, 379, 390], "mai": [17, 25, 27, 247, 342, 347, 358], "main": [10, 65, 140, 145, 150, 174, 188, 193, 195, 196, 199, 214, 215, 220, 221, 222, 227, 228, 231, 234, 237, 240, 241, 243, 246, 247, 251, 255, 256, 257, 260, 263, 264, 268, 270, 272, 274, 279, 280, 283, 285, 286, 287, 290, 293, 296, 299, 302, 305, 307, 310, 313, 315, 345, 348, 352, 360, 379, 383], "mainadress": 238, "maincolumn": [0, 326, 341], "maintain": [342, 347, 359], "mainwindow": [0, 124, 140, 145, 150, 162, 167, 168, 169, 170, 174, 178, 185, 186, 188, 193, 195, 196, 199, 214, 215, 216, 220, 221, 222, 223, 227, 228, 231, 234, 237, 240, 241, 243, 246, 251, 255, 256, 257, 260, 263, 264, 266, 268, 270, 272, 274, 279, 280, 283, 285, 286, 287, 290, 293, 296, 297, 299, 302, 305, 307, 310, 313, 315, 352, 354], "major": [342, 345, 346, 347, 348, 354], "make": [65, 185, 216, 247, 272, 343, 345, 346, 347, 348, 350, 352, 353, 354, 358, 379, 383, 389], "makegraphlayout": [0, 250, 341], "makelist": [0, 25, 26, 63], "maker": 347, "makewarn": [0, 15, 63], "malwar": 351, "manag": [346, 347, 356, 360, 364, 375, 377, 383], "mani": [247, 345, 347, 351, 352, 372, 373, 379], "manipul": 377, "manual": [342, 347, 376, 379], "map": [65, 185, 216, 223, 357, 360, 363, 375, 389], "mapaddr": [0, 54, 63, 65], "mapfil": [0, 65, 124], "mapfiledialog": [0, 166, 354], "mapnam": [0, 78, 124], "mark": 348, "markdown": 351, "master": 345, "match": 347, "math": [0, 65, 124], "matrix": 13, "max": [0, 29, 62, 63, 215, 247, 324, 341], "max_system_mem": [0, 82, 124], "maxcol": 37, "maximum": [29, 33, 247, 389], "maxindex": [0, 183, 194, 265, 341], "mayb": 76, "mb": 358, "md5": 383, "mdhighlight": [0, 63, 354], "me": 354, "mean": [247, 316, 345, 352], "meant": 352, "mechan": [185, 216, 347, 353], "medium": [0, 247, 341, 347, 371], "member": [7, 18, 37, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 60, 61, 62, 65, 76, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 130, 148, 163, 164, 165, 171, 172, 180, 184, 221, 223, 242, 249, 250, 259, 260, 271, 298, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 345], "memori": [13, 25, 65, 247, 348, 360, 374, 375, 379], "memorydata": [0, 183, 341, 354], "memorydescriptionrol": [0, 267, 341], "memorydockwidget": [0, 76, 185, 196, 222, 227, 251, 260, 341, 354], "memorymap": 267, "memorymapdescript": [0, 65, 124, 267, 354], "memorymapmodel": [0, 269, 341, 354], "memorymapwidget": [0, 264, 341, 354], "memoryproxymodel": [0, 1, 341, 354], "memorywidget": 76, "memorywidgettyp": [76, 266], "mention": [347, 352], "mentor": 346, "menu": [0, 17, 76, 179, 186, 272, 345, 347, 352, 354, 356, 391], "menutyp": [0, 76, 124], "merg": [247, 348], "mergeblock": [0, 325, 341], "meson": 342, "messag": [0, 10, 46, 65, 76, 124, 347, 348, 357], "messageboxwarn": [0, 76, 124], "meta": [352, 364], "meth": [65, 136], "method": [0, 24, 34, 42, 45, 65, 86, 121, 124, 136, 174, 197, 216, 316, 341, 345, 352], "metric": [0, 63, 354], "microsoft": 347, "middl": 247, "might": [342, 346, 347, 351, 358], "mileston": 348, "millisecond": 46, "min": [0, 29, 62, 63, 324, 341], "mind": [346, 354], "minim": [247, 250, 347], "minimum": [13, 29, 271], "minimumsizehint": [0, 32, 63], "minindex": [0, 183, 265, 341], "minmax": 29, "minmaxaccumulatetre": [0, 42, 63, 354], "minut": 358, "miss": [342, 346, 347], "mistak": 346, "mitig": 247, "mkdir": 342, "mmio_address": [0, 61, 63], "mmio_lookup_context": [0, 63, 354], "mode": [0, 23, 44, 63, 65, 129, 144, 158, 166, 216, 247, 259, 347, 357, 360, 363, 365, 375, 377, 383, 384, 389], "mode_16": [0, 12, 63], "mode_16m": [0, 12, 63], "mode_256": [0, 12, 63], "model": [182, 190, 197, 276, 312, 314, 316, 345], "modif": [31, 65, 346], "modifi": [14, 24, 25, 45, 65, 185, 216, 247, 342, 345, 346, 347, 372, 377, 382, 390, 391], "modifyglobalvari": [0, 65, 124], "modul": [0, 91, 124, 352], "moduledelta": [0, 91, 124], "monokai": 13, "more": [185, 216, 247, 342, 343, 344, 345, 347, 351, 352, 353, 354, 358, 359, 361, 363, 364, 366, 367, 374, 379, 380, 383, 385], "most": [30, 158, 247, 342, 345, 347, 348, 351, 352, 358, 382, 385, 388, 392], "mostli": [347, 352], "mous": 271, "mousemov": [0, 271, 341], "mouserelativepo": 217, "mousewheel": 392, "move": [247, 250, 271, 346, 351, 352, 358, 382], "movecheck": [0, 317, 341], "movement": 250, "msec": 334, "msg": [65, 215], "msvc": 347, "msvc2019_64": 342, "much": [13, 346, 347], "multipl": [25, 65, 185, 216, 247, 342, 347, 348, 352, 359, 363, 372, 377, 383, 387, 390, 391], "multitypefilesavedialog": [0, 166, 354], "must": [65, 345, 382], "my": 352, "myclassthatexist": 345, "mycutterplugin": 352, "mydockwidget": 352, "myobject": 345, "myparam": 34, "myplugin": 352, "mywidget": 34, "n": [247, 348, 352, 363, 364, 372, 379, 392], "n_modul": [0, 99, 124], "name": [0, 1, 3, 10, 13, 15, 50, 63, 65, 80, 85, 86, 87, 88, 91, 93, 96, 97, 98, 100, 101, 102, 103, 104, 107, 108, 109, 110, 111, 112, 113, 114, 116, 117, 119, 122, 124, 134, 136, 158, 162, 163, 166, 167, 171, 172, 173, 197, 217, 223, 229, 232, 238, 244, 247, 253, 261, 281, 284, 291, 294, 303, 311, 319, 323, 341, 342, 345, 346, 347, 352, 357, 360, 364, 374, 379, 382, 383, 385, 391], "nameaddrmap": [0, 184, 341], "nameaddrsizemap": [0, 184, 341], "namechang": [0, 223, 341], "namecolumn": [0, 191, 229, 235, 238, 244, 253, 261, 267, 281, 291, 294, 303, 341], "nameheightmap": [0, 184, 341], "nameofvar": 162, "nameofvari": [161, 162], "nameposymap": [0, 184, 341], "namerol": [0, 197, 341], "narg": [0, 100, 124], "nargscolumn": [0, 238, 341], "narrow": [0, 247, 341, 371], "nativ": [13, 149, 355], "nativedebugdialog": [0, 166, 354], "nativewindowisdark": [0, 13, 63], "natur": [65, 351], "natvi": 347, "navbar": 10, "navig": [346, 355, 380, 383, 387], "nbb": [0, 100, 124], "nbbscolumn": [0, 238, 341], "nbyte": 259, "nearest": [65, 247], "nearestflag": [0, 65, 124], "neato": [0, 252, 341], "necesarili": [223, 297], "necessari": [34, 185, 216, 247, 342, 347], "need": [24, 25, 36, 223, 271, 342, 343, 345, 346, 347, 350, 351, 353], "needsnop": [0, 135, 166], "nest": [212, 238, 389], "nestedcolumn": [0, 212, 341], "nestedcolumncount": [0, 212, 341], "nestedcom": 212, "network": 360, "neutralpromis": 24, "never": [345, 352, 391], "new": [0, 13, 14, 25, 34, 36, 37, 65, 124, 136, 158, 342, 343, 344, 345, 346, 348, 351, 355, 360, 363, 364, 375, 376, 380, 382, 390, 391, 392], "new_nam": 65, "newcom": 346, "newdebugmessag": [0, 65, 124], "newer": [342, 345], "newfiledialog": [0, 13, 166, 354], "newlin": 345, "newmessag": [0, 65, 124], "newmethod": [0, 136, 166], "newmethodnam": 65, "newnam": [10, 65, 187], "newoffset": 168, "newtypesload": [0, 158, 166], "newval": 65, "next": [0, 55, 63, 82, 124, 346, 352, 392], "next_fre": [0, 82, 124], "nextinstr": [0, 223, 341], "nextopaddr": [0, 65, 124], "nice": [342, 347, 374], "ninja": 342, "nlocal": [0, 100, 124], "nlocalscolumn": [0, 238, 341], "node": [10, 24, 25, 42, 65, 241, 247, 271, 297, 383], "node_0_tittl": 241, "nodeblock": 371, "nodeposit": [0, 24, 29, 42, 63], "nodetyp": [0, 24, 29, 30, 31, 33, 42, 63], "nodetypet": 42, "non": [25, 26, 65, 247, 259, 347, 363], "none": [0, 65, 124, 249, 330, 341, 347], "nop": 360, "nopinstruct": [0, 65, 124], "nor": [65, 345, 372], "normal": [0, 65, 124, 348, 352, 391], "note": [342, 348, 363, 372, 377, 379, 382], "noth": [7, 8, 347, 348], "notic": [348, 351], "notif": 179, "now": [34, 342, 346, 352], "null": [46, 360, 368, 389], "nullptr": [2, 6, 7, 8, 14, 15, 16, 17, 19, 22, 28, 32, 34, 36, 37, 46, 65, 76, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 141, 142, 143, 144, 147, 148, 149, 151, 153, 154, 155, 156, 157, 158, 159, 161, 182, 184, 186, 189, 190, 191, 192, 197, 198, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 218, 219, 225, 226, 229, 230, 232, 233, 236, 238, 239, 242, 244, 245, 250, 253, 254, 259, 261, 262, 267, 269, 270, 273, 275, 276, 278, 281, 282, 284, 288, 289, 291, 292, 294, 295, 298, 300, 301, 303, 304, 306, 308, 309, 311, 312, 314, 315, 327], "num": [0, 65, 124], "num_of_lin": 65, "number": [24, 25, 29, 42, 65, 247, 325, 346, 347, 348, 372, 389], "nummodulescolumn": [0, 235, 341], "nwith": 352, "nx": 383, "o": [0, 54, 63, 70, 71, 73, 74, 355, 357, 379, 390], "object": [13, 14, 65, 158, 160, 216, 217, 223, 247, 266, 297, 342, 345], "obtain": [342, 347], "occasion": 358, "occur": 216, "octal": [0, 65, 124, 360], "off": [247, 342, 347], "offici": [345, 347, 355, 359], "offset": [0, 9, 13, 14, 17, 65, 79, 81, 82, 85, 92, 93, 94, 97, 100, 115, 124, 132, 138, 139, 141, 142, 161, 162, 166, 167, 169, 172, 173, 197, 224, 232, 247, 250, 288, 298, 317, 319, 328, 339, 341, 345, 348, 360, 363, 365, 374, 379, 385], "offsetcolumn": [0, 212, 229, 238, 242, 253, 298, 300, 341], "offsetlist": 168, "offsetnestedcolumn": [0, 212, 341], "offsetrol": [0, 197, 341], "often": [42, 345], "ograi": 13, "ok": 10, "old": 346, "old_nam": 65, "older": [342, 345, 347], "oldmethodnam": 65, "oldnam": [65, 187], "omnibar": [0, 341, 354], "on_actionanalyze_trigg": [0, 76, 124], "on_actionnew_trigg": 345, "on_actionrun_script_trigg": [0, 76, 124], "on_actiontabs_trigg": [0, 76, 124], "onasciiarea": [0, 334, 341], "onc": [175, 247, 345, 346, 347, 352], "oncurrentchang": [0, 140, 166], "one": [36, 217, 223, 247, 248, 271, 342, 345, 347, 348, 359, 360, 363, 364, 367, 371, 372, 383, 385, 387, 389], "onedark": 13, "onelin": 345, "ones": [347, 348], "onli": [10, 13, 16, 25, 26, 45, 65, 174, 209, 241, 247, 345, 347, 352, 355, 357, 358, 360, 363, 364, 365, 366, 375, 376, 377, 383, 384, 389], "onseekchang": [0, 223, 341], "opcod": [0, 11, 321, 341, 389], "open": [0, 13, 17, 65, 143, 166, 342, 343, 344, 347, 348, 350, 354, 357, 361, 363, 364, 366, 368, 371, 372, 374, 378, 379, 380, 382, 383, 386, 388, 389, 390, 391, 392], "openfilefail": [0, 4, 63], "opennewfil": [0, 76, 124], "opennewfilefail": [0, 76, 124], "openproject": [0, 76, 124], "oper": [0, 24, 25, 27, 29, 33, 63, 67, 69, 70, 71, 72, 73, 74, 75, 77, 124, 175, 176, 177, 247, 317, 341, 342, 347, 348, 357, 364, 372], "operand": 370, "opt": [64, 342], "optim": [247, 342], "option": [1, 3, 4, 10, 13, 34, 76, 145, 178, 185, 190, 197, 200, 210, 216, 229, 232, 238, 244, 247, 253, 261, 281, 291, 294, 303, 347, 354, 355, 356, 358, 361, 363, 364, 365, 371, 373, 379, 380, 382, 384, 385, 388], "optioninfo": [0, 341, 354], "optionnam": [0, 318, 341], "order": [247, 345, 346, 348, 352, 358, 379, 383], "ordin": [0, 103, 124], "orient": [130, 152, 161, 191, 197, 212, 229, 232, 235, 238, 242, 244, 253, 261, 267, 277, 281, 284, 288, 291, 294, 298, 300, 303, 308, 311], "origin": [247, 345, 347, 348, 352, 371, 372, 379], "ortho": 371, "ot": 376, "other": [37, 67, 69, 227, 247, 324, 342, 345, 346, 347, 348, 351, 359, 363, 365, 372, 379, 387], "otherwis": [10, 13, 65, 136, 137, 247, 346, 379], "our": [342, 343, 344, 345, 346, 351, 352, 353, 354, 359], "out": [137, 183, 194, 247, 265, 344, 345, 346, 352, 359, 360, 375, 383, 392], "out_nod": 241, "outgo": [247, 325], "output": [10, 13, 65, 217, 241, 247, 345, 352, 357], "outputcount": [0, 325, 341], "outputredirectionen": [0, 180, 181], "outsid": [17, 247, 250, 342], "over": [24, 34, 342, 351, 352, 356, 360, 375, 392], "overcom": 65, "overlap": [247, 347], "overrid": [1, 4, 5, 12, 20, 32, 34, 36, 41, 43, 44, 76, 127, 130, 145, 156, 161, 179, 185, 190, 191, 194, 195, 197, 200, 201, 202, 203, 206, 207, 208, 210, 212, 214, 216, 217, 223, 224, 227, 229, 232, 238, 240, 241, 242, 244, 247, 248, 250, 251, 252, 253, 259, 260, 261, 264, 265, 266, 267, 271, 272, 276, 281, 284, 287, 288, 291, 294, 297, 298, 300, 303, 308, 314, 315, 390], "overview": [10, 223, 271, 272, 347, 352, 354, 360, 375], "overviewview": [0, 250, 272, 341, 354], "overviewwidget": [0, 216, 341, 354], "overwritten": 136, "own": [25, 26, 347, 351, 353, 387], "owner": [67, 69], "ownership": [34, 36], "p": [65, 70, 71, 223, 250, 297, 347, 357, 364, 392], "packag": [347, 348, 350, 354], "packg": 342, "pacman": 342, "paddr": [0, 95, 96, 102, 109, 116, 117, 124], "page": [342, 346, 347, 350, 351, 356, 358, 377, 380, 392], "paint": [0, 44, 63, 200, 250, 341], "painter": [37, 44, 200, 223, 297], "paintev": [0, 76, 124, 224, 315, 341], "paintrichtext": [0, 37, 63], "pair": [29, 42, 49, 223, 247], "palett": [201, 347], "pane": [224, 372], "panel": [360, 375, 383], "parallel": 247, "param": [34, 35, 36, 345], "paramet": [1, 3, 10, 13, 14, 16, 24, 25, 29, 30, 31, 33, 34, 36, 37, 42, 65, 76, 136, 137, 158, 160, 162, 167, 169, 174, 175, 185, 197, 209, 216, 217, 223, 229, 232, 238, 244, 250, 253, 259, 261, 271, 281, 291, 294, 297, 303, 352], "paramresult": 216, "paramsresult": 34, "parent": [0, 1, 2, 6, 14, 15, 16, 17, 19, 22, 23, 28, 29, 30, 32, 33, 34, 42, 46, 65, 76, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 146, 147, 148, 149, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 167, 168, 169, 170, 182, 184, 185, 186, 187, 189, 190, 191, 192, 195, 197, 198, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 216, 217, 218, 219, 223, 225, 226, 229, 230, 232, 233, 235, 236, 238, 239, 241, 242, 243, 244, 245, 247, 250, 253, 254, 256, 259, 261, 262, 266, 267, 269, 270, 271, 273, 275, 276, 277, 278, 281, 282, 284, 288, 289, 291, 292, 294, 295, 297, 298, 300, 301, 303, 304, 306, 308, 309, 311, 312, 314, 315, 341, 345, 352], "parenthes": 247, "parentmodel": [2, 3], "pars": [352, 379], "parsejson": [0, 65, 124], "part": [65, 185, 216, 247, 343, 345, 346, 347, 358, 360, 363, 388], "parti": [342, 347], "particip": 343, "particular": 316, "pass": [25, 34, 36, 65, 158, 216, 271, 342, 345, 347, 352], "pastend": [0, 317, 341], "patch": [356, 360, 364, 373, 379], "path": [0, 10, 65, 105, 124, 217, 247, 250, 342, 345, 347, 352], "pathcolumn": [0, 152, 166], "pattern": [0, 42, 52, 53, 56, 63], "paus": [363, 365, 376], "pc": [10, 227, 360], "pd": [65, 352], "pdb": [360, 375], "pdbfile": [0, 54, 63], "pdf": [65, 379], "pdj": 352, "pe": 383, "peev": 346, "penstyl": [250, 332], "peopl": [348, 351, 358], "per": 360, "percentag": [0, 83, 124], "perfect": [42, 247, 379], "perform": [25, 247, 345, 346, 347, 357, 379], "perm": [0, 65, 78, 116, 117, 124], "permcolumn": [0, 267, 294, 341], "permiss": [0, 65, 91, 104, 114, 124], "permissionscolumn": [0, 291, 341], "person": [346, 351], "pet": 346, "phymod": 357, "pick": [201, 203, 346, 348, 351], "picker": [201, 371], "pid": [0, 65, 105, 124], "pidcolumn": [0, 152, 166], "pink": 13, "pip": [342, 347, 350], "pip3": 350, "pipe": 352, "pixel": 247, "pixmap": [0, 44, 63, 223, 271], "pkg_config_path": [342, 347], "pkgconf": 342, "pkgconfig": 342, "place": [247, 342, 346, 348, 351, 359, 379, 389], "placement": [247, 391], "plai": 345, "plain": [37, 136, 342, 347], "plaintext": [0, 297, 321, 341], "plan": [342, 346, 355], "platform": [353, 354, 356, 376, 379], "pleas": [247, 342, 343, 345, 346, 354, 372, 379], "plenti": 346, "plt": [0, 103, 124], "plugin": [0, 65, 76, 124, 174, 175, 342, 343, 348, 351, 354, 356, 357, 359, 360, 375, 380], "pluginmanag": [0, 177, 354], "pluginptr": [0, 175, 177], "plugintermin": [0, 175, 177, 354], "png": [0, 217, 341, 371], "po": [219, 223, 258, 317], "point": [0, 13, 25, 27, 31, 250, 324, 326, 341, 342, 346, 348, 354, 360, 387], "pointer": [0, 25, 27, 63, 65, 70, 71, 73, 74, 76, 124], "pointsetmintre": [0, 42, 63, 354], "pointsetsegmenttre": [0, 30, 42, 63, 354], "polici": 240, "polish": [0, 179, 181], "pollut": 342, "polylin": [0, 249, 330, 341, 371], "pool": 25, "poorli": 346, "popular": [346, 347, 351], "popup": [17, 347], "port": [360, 376], "portion": [363, 379], "posit": [0, 9, 29, 30, 63, 65, 247, 250, 352, 363, 382, 383, 389, 392], "positionchang": [0, 259, 341], "positionexpress": [0, 91, 124], "positionin": 250, "positiontyp": [0, 91, 124], "possibl": [247, 342, 347, 351, 353], "possibli": 347, "post": [346, 379], "postscript": 371, "potenti": [137, 346], "power": [345, 347, 353, 356, 373], "powerof2": [0, 259, 341], "powershel": 342, "ppid": [0, 105, 124], "pr": 346, "practic": [34, 346, 351], "pre": [342, 348], "prealloc": 25, "predecessor": 247, "predefin": 347, "prefer": [45, 65, 76, 160, 347, 352, 355, 360, 375, 388, 389, 390], "prefix": [0, 25, 163, 166, 342, 372], "preform": [65, 389], "prepar": [342, 348], "prepareforwrit": [0, 23, 63], "present": [65, 241, 342, 359, 363, 364, 390], "preserv": [37, 209, 247], "press": [271, 347], "pretti": 347, "pretty_printer_script": 347, "prev": 140, "prevent": [17, 247, 382], "preview": [13, 65, 363, 364, 367, 372], "previewmod": 227, "previnstr": [0, 223, 341], "previou": [37, 227, 247, 347, 348, 378, 390, 392], "previous": [247, 342, 364, 391], "prevopaddr": [0, 65, 124], "primit": 65, "print": [65, 345, 347, 352, 389], "printabl": 383, "printer": 347, "priorit": [247, 346], "prioriti": 346, "privat": 345, "probabl": 351, "problem": [247, 342, 346, 347, 348, 351], "procdescriptionrol": [0, 152, 166], "procedur": [343, 344, 354, 376], "process": [65, 201, 247, 342, 343, 345, 346, 348, 360, 375], "processbeinganalysedproxymodel": [0, 166, 354], "processdescript": [0, 65, 124, 152, 354], "processesfiltermodel": [0, 341, 354], "processeswidget": [0, 216, 341, 354], "processmodel": [0, 151, 153, 166, 354], "processproxymodel": [0, 166, 354], "produc": 247, "profil": 351, "program": [42, 65, 247, 345, 359, 360, 361, 362, 376, 379, 383, 389], "progress": [0, 64, 124, 346, 382], "progressind": [0, 63, 354], "project": [13, 185, 216, 342, 345, 351, 353, 357, 360, 375], "project_nam": 76, "projectfil": [0, 54, 63], "prologu": 389, "promis": 24, "promisetyp": 24, "prompt": 10, "prompttyp": 65, "prone": 389, "proper": [224, 342, 348], "properti": [30, 185, 216, 247, 342, 382, 391], "prototyp": 345, "proud": 351, "provid": [10, 46, 201, 203, 207, 209, 316, 342, 347, 352, 353, 354, 355, 356, 359, 360, 376, 382, 388], "pt": [222, 227], "ptr": [0, 5, 6, 40, 63, 127, 156, 166], "ptrdepth": 389, "ptrdiff_t": [70, 71, 73, 74], "public": [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 58, 59, 60, 61, 62, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 167, 168, 169, 170, 171, 172, 174, 175, 176, 178, 179, 180, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 351], "publish": 351, "pull": [344, 345, 348, 351, 354], "purpos": [25, 247], "push": [345, 348, 351], "pushdown": [0, 24, 29, 33, 63], "pushret": 389, "put": [247, 352], "px": 65, "py": [348, 352], "pysid": 347, "pyside2": [347, 352], "pyside6": 342, "python": [76, 174, 342, 343, 347, 348, 354, 355, 357, 379], "python3": [342, 350], "pythonhom": [0, 180, 181, 357], "q": 379, "q_nullptr": 345, "qabstractitemmodel": [2, 3, 190, 311], "qabstractlistmodel": [3, 152, 161, 191, 208, 229, 232, 235, 244, 253, 267, 277, 284, 288, 291, 294, 300, 303, 308], "qabstractscrollarea": [225, 250], "qabstracttablemodel": [3, 130, 242, 261, 281, 298], "qaction": [76, 216, 221, 223, 345, 352], "qapplic": 178, "qbytearrai": [51, 65, 129, 194], "qchar": 9, "qcheckbox": [164, 345], "qcloseev": 76, "qcolor": [7, 8, 10, 13, 37, 44, 47, 48, 60, 65, 106, 201, 202, 203, 204, 206, 207, 208, 210, 250, 318, 322, 332, 334], "qcombobox": [17, 136, 209, 211], "qdebug": 345, "qdialog": [125, 126, 127, 128, 129, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 149, 150, 154, 155, 156, 157, 158, 159, 160, 162], "qdir": [65, 175], "qdockwidget": [182, 216], "qelapsedtim": 5, "qevent": [190, 216, 217, 266], "qfiledialog": 148, "qfont": [9, 13, 238, 259], "qfontmetr": [58, 227], "qfontmetricsf": 59, "qframe": 224, "qgraphicsscen": 184, "qhash": [10, 13, 65, 184, 208], "qhelper": [0, 63, 354], "qhelpev": 223, "qicon": [44, 221], "qiconengin": 44, "qint64": 5, "qjsonvalu": 345, "qlabel": [136, 352], "qlineedit": 270, "qlist": [13, 20, 43, 54, 64, 65, 86, 90, 114, 121, 189, 212, 223, 227, 229, 232, 235, 238, 244, 253, 267, 277, 284, 288, 291, 294, 300, 303, 308, 311, 319], "qlistview": 210, "qlocal": 13, "qmainwindow": 76, "qmap": [51, 146], "qmenu": [76, 167, 168, 169, 170, 179], "qmodelindex": [1, 3, 130, 140, 152, 161, 190, 191, 197, 200, 208, 212, 229, 232, 235, 238, 242, 244, 253, 261, 267, 277, 281, 284, 288, 291, 294, 298, 300, 303, 308, 311], "qmouseev": 223, "qobject": [1, 2, 5, 6, 10, 13, 14, 15, 23, 34, 40, 46, 65, 130, 151, 152, 153, 161, 175, 189, 190, 191, 192, 197, 198, 200, 208, 212, 213, 216, 219, 221, 229, 230, 232, 233, 235, 236, 238, 239, 242, 244, 245, 253, 254, 261, 262, 266, 267, 269, 273, 277, 278, 281, 282, 284, 288, 289, 291, 292, 294, 295, 298, 300, 301, 303, 304, 306, 308, 309, 311, 312, 345, 352], "qpainter": [37, 44, 200, 223, 250, 297], "qpaintev": [76, 224, 315], "qpalett": 44, "qpixmap": [21, 44], "qplaintextedit": 226, "qpoint": [13, 222, 223, 227, 250], "qpointf": 217, "qpolygonf": [249, 330], "qproxystyl": 179, "qpushbutton": 345, "qreal": [0, 13, 21, 37, 63, 226, 250, 332, 354], "qrect": [44, 58, 200, 250], "qrectf": [59, 271, 334], "qregularexpress": [52, 53, 56], "qrunnabl": 5, "qscrollarea": 259, "qset": 238, "qsharedpoint": [5, 40, 65, 67, 69, 78, 156], "qshortcut": 345, "qsize": [32, 44, 200], "qsizepolici": [62, 240], "qsortfilterproxymodel": [1, 3, 151, 153, 236, 273, 278, 306, 309, 312], "qstandardpath": 390, "qstring": [1, 3, 4, 5, 9, 10, 11, 12, 13, 15, 20, 37, 38, 41, 43, 44, 45, 46, 49, 50, 51, 54, 60, 61, 65, 67, 76, 78, 79, 80, 81, 82, 85, 86, 87, 88, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 122, 123, 130, 132, 134, 135, 136, 138, 141, 146, 148, 149, 154, 156, 158, 161, 162, 163, 165, 167, 168, 169, 171, 172, 174, 175, 180, 184, 187, 196, 197, 208, 211, 215, 217, 221, 222, 223, 227, 229, 232, 238, 241, 244, 250, 251, 253, 260, 261, 275, 281, 291, 294, 298, 301, 303, 309, 318, 319, 321, 322, 323, 333, 334, 336, 337, 338, 339], "qstringlist": [10, 13, 65, 67, 76, 134, 178, 180, 270], "qstyleditemdeleg": [190, 200], "qstyleoptionviewitem": [190, 200], "qsyntaxhighlight": [13, 16, 19, 22, 28], "qt": [130, 152, 161, 191, 197, 208, 212, 229, 232, 235, 238, 242, 244, 250, 253, 261, 267, 277, 281, 284, 288, 291, 294, 298, 300, 303, 308, 311, 332, 342, 344, 352, 354, 357], "qt5": [342, 347, 352], "qt5compat": 342, "qt6": [342, 347], "qtbase": 342, "qtcore": 352, "qtextblockuserdata": 18, "qtextcharformat": [52, 53, 56], "qtextdocu": [13, 16, 19, 22, 28, 37], "qthread": 64, "qtimer": 334, "qtoolbar": [221, 315], "qtreeview": 218, "qtsvg": 342, "qttool": 342, "qtwidget": 352, "quad": [0, 65, 124], "queri": [29, 30, 31, 358], "question": 343, "quick": [346, 347, 350], "quickfilterview": [0, 341, 354], "quickli": [346, 363, 364, 380], "quit": [351, 360, 375, 376], "quot": 345, "qvariant": [13, 65, 130, 148, 152, 161, 165, 191, 197, 208, 212, 229, 232, 235, 238, 242, 244, 253, 261, 267, 277, 281, 284, 288, 291, 294, 298, 300, 303, 308, 311, 316], "qvariantmap": [51, 185, 216], "qvboxlayout": 219, "qvector": [65, 130, 148, 168, 175], "qversionnumb": 46, "qwheelev": [224, 272], "qwidget": [17, 23, 32, 62, 76, 125, 126, 127, 128, 129, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 146, 147, 148, 149, 154, 155, 156, 157, 158, 159, 160, 167, 168, 169, 170, 179, 182, 184, 186, 190, 201, 202, 203, 204, 205, 206, 207, 209, 210, 211, 217, 218, 223, 225, 226, 227, 243, 250, 256, 259, 270, 271, 275, 276, 297, 314, 315, 345], "qword": [65, 360, 372], "r": [24, 29, 33, 317, 392], "rais": 65, "raisememorywidget": [0, 216, 341], "random": [360, 379], "rang": [24, 29, 30, 31, 33, 259], "rangeassignmaxtre": [0, 42, 63, 354], "rangemaximum": [0, 33, 63], "rangeminmax": [0, 29, 63], "rangeoper": [0, 24, 63], "rasta": 13, "rather": 346, "raw": [65, 374, 389], "rawaddrdock": [0, 182, 341, 354], "rc": 348, "rc1": 348, "rdx": 65, "re": [65, 76, 343, 346, 351, 360, 379, 383], "reach": [346, 351, 358, 360, 362, 363, 365, 376], "react": [354, 355], "read": [0, 10, 65, 259, 341, 342, 345, 346, 347, 348, 351, 357, 360, 375, 383], "read_onli": [0, 23, 63], "readabl": [247, 347, 352], "reader": [360, 388], "readforoffset": [0, 161, 166], "readforvari": [0, 161, 166], "readonli": 158, "readset": [0, 76, 124], "real": 197, "real_nam": [0, 197, 341], "realli": [42, 376], "realnam": [0, 80, 97, 124, 232, 341], "realnamerol": [0, 197, 341], "rebas": 65, "rebasebin": [0, 65, 124], "receiv": [65, 345, 359], "recent": [13, 345, 347], "recommend": [247, 346, 354, 358], "recommonmark": 350, "reconstruct": 359, "rect": [0, 44, 58, 59, 63, 250, 271, 272], "rectangl": 250, "recur": 42, "recurs": [65, 247, 342, 389], "reddit": 348, "redirect": [13, 65, 357], "redo": [0, 14, 65, 124, 360, 375], "reduc": 247, "ref": [0, 65, 78, 106, 107, 108, 124, 363, 364, 389], "refcolor": [0, 106, 124], "refcolumn": [0, 277, 341], "refdesc": [0, 298, 337, 339, 341], "refdescript": [0, 65, 124, 298, 337, 339, 354], "refer": [14, 25, 26, 27, 42, 63, 65, 70, 71, 73, 74, 124, 162, 167, 345, 347, 351, 352, 354, 360, 375], "referenc": [14, 384, 389], "refresh": [0, 34, 191, 216, 259, 270, 271, 341, 345, 360, 375, 392], "refreshal": [0, 65, 76, 124, 187, 341], "refreshcodeview": [0, 65, 124], "refreshdeferr": [0, 35, 63, 216, 354], "refreshdeferreraccumul": [0, 34, 36, 63, 354], "refreshdeferrerparam": [34, 345], "refreshdeferrerparamsresult": 34, "refreshfont": [0, 13, 63], "refreshnow": [0, 34, 63], "refreshnowfunc": 216, "refreshomnibar": [0, 76, 124], "refreshview": [0, 195, 217, 223, 241, 271, 297, 341], "reg": [0, 65, 78, 124, 337, 341], "regard": 65, "regcolumn": [0, 277, 341], "regex": 345, "regexp": 345, "region": 65, "regist": [13, 15, 65, 174, 216, 352, 354, 356, 360, 363, 365, 375], "register_qt_print": 347, "registerdecompil": [0, 15, 65, 124, 174, 177], "registerfor": [0, 34, 63], "registerref": [0, 65, 124, 277, 354], "registerrefdescript": [0, 277, 341, 354], "registerrefdescriptionrol": [0, 277, 341], "registerrefmodel": [0, 278, 341, 354], "registerrefproxymodel": [0, 341, 354], "registerrefswidget": [0, 216, 341, 354], "registerrefvaluedescript": [0, 65, 124, 354], "registerrol": 65, "registerschang": [0, 65, 124], "registerswidget": [0, 216, 341, 354], "regnam": 65, "regroup": 392, "regular": [352, 363, 366], "regvalu": 65, "reject": [0, 127, 145, 156, 166, 259], "rel": 247, "relat": [346, 348, 351], "relationship": 247, "releas": [342, 343, 344, 346, 347, 354, 355, 383], "relev": [174, 346, 358, 380, 385], "relevantthem": [0, 13, 63], "reli": 379, "reload": [0, 130, 166, 242, 261, 281, 298, 341], "reloc": [25, 27, 348, 360], "relocdescript": [0, 65, 124, 354], "relocdescriptionrol": [0, 281, 341], "relocsmodel": [0, 282, 341, 354], "relocsproxymodel": [0, 1, 341, 354], "relocswidget": [0, 264, 341, 354], "rememb": 346, "remot": [65, 154, 360, 375], "remotedebugdialog": [0, 166, 354], "remov": [10, 65, 241, 247, 250, 347, 360, 361, 364, 377, 392], "removerow": [0, 308, 341], "removestr": [0, 65, 124], "removewidget": [0, 76, 124], "renam": [10, 65, 360, 382, 383, 391, 392], "renameanalysismethod": [0, 65, 124], "renameclass": [0, 65, 124], "renameflag": [0, 65, 124], "renamefunct": [0, 65, 124], "renamefunctionvari": [0, 65, 124], "renamethem": [0, 10, 63], "render": [17, 347], "reopen": 391, "reorder": 247, "repeat": [65, 344, 348, 354], "replac": [36, 216, 347, 367], "replaceifnul": [36, 216], "replacingrefreshdeferreraccumul": [0, 34, 35, 63, 216, 354], "repo": 342, "report": [346, 358, 360, 375], "repositori": [347, 348, 351, 359, 380], "repres": [13, 76, 247, 383, 389], "represent": [65, 158, 201, 359, 370], "reproduc": 379, "request": [46, 65, 76, 259, 344, 345, 348, 351, 354], "requir": [25, 217, 247, 297, 345, 346, 347, 348, 349, 351, 354, 357, 358, 374], "reserv": [25, 247], "reset": [65, 76, 160, 185, 216, 360, 375, 391, 392], "resetal": [0, 13, 63], "resettodefaultasmopt": [0, 13, 63], "resetwritecach": [0, 65, 124], "resiz": [0, 217, 272, 341], "resourc": [284, 346, 352, 360], "resourcesdescript": [0, 65, 124, 284, 354], "resourcesmodel": [0, 341, 354], "resourceswidget": [0, 264, 341, 354], "respect": 355, "respons": [0, 16, 46, 76, 124], "rest": [347, 387], "restart": 390, "restartdebuglabel": [0, 221, 341], "restarticon": [0, 221, 341], "restor": [45, 364, 371, 391], "restoreheight": [0, 62, 63], "restorewidth": [0, 62, 63], "restructuredtext": 351, "result": [0, 12, 17, 64, 65, 124, 247, 342, 352], "retdec": 359, "retri": 358, "return": [1, 3, 7, 8, 10, 13, 14, 24, 25, 29, 30, 33, 34, 46, 65, 76, 136, 137, 185, 197, 201, 216, 229, 232, 238, 244, 250, 253, 261, 281, 291, 294, 303, 345, 352, 376], "returnaddress": [65, 66], "returnvalu": 137, "retweet": 351, "revers": [354, 356, 359, 360], "review": [346, 351], "rgb": 201, "rh": [70, 71, 73, 74], "rich": 37, "richtext": [37, 322], "richtextpaint": [0, 11, 63, 322, 354], "right": [0, 24, 29, 30, 33, 34, 42, 65, 152, 174, 247, 249, 325, 330, 341, 346, 347, 352, 358, 361, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 378, 384, 385, 386], "rightchild": 30, "rightmostlessthan": [0, 30, 63], "rightposit": [0, 325, 341], "rightsideshap": [0, 325, 341], "rip": [363, 365], "risk": 379, "rizin": [10, 13, 45, 49, 65, 195, 209, 217, 241, 316, 342, 345, 347, 348, 352, 354, 355, 356, 357, 358, 360, 375, 382, 383, 389], "rizincmdtask": [0, 40, 63, 354], "rizinfunctiontask": [0, 40, 63, 354], "rizingraphwidget": [0, 216, 241, 341, 354], "rizinorg": [342, 348, 383], "rizinpluginsdialog": [0, 166, 354], "rizintask": [0, 38, 39, 63, 65, 156, 354], "rizintaskdialog": [0, 166, 354], "rizinunusedopt": [0, 10, 63], "rm": 342, "role": [0, 130, 152, 161, 166, 191, 197, 208, 212, 229, 232, 235, 238, 242, 244, 253, 261, 267, 277, 281, 284, 288, 291, 294, 298, 300, 303, 308, 311, 341, 346], "roll": 347, "room": 247, "root": [345, 347, 352], "rough": 247, "roughli": [316, 358], "rount": 247, "rout": 247, "row": [0, 212, 238, 247, 308, 311, 325, 326, 327, 328, 341, 360, 385], "row_count": [0, 325, 341], "rowcount": [0, 130, 152, 161, 166, 191, 208, 212, 229, 232, 235, 238, 242, 244, 253, 261, 267, 277, 281, 284, 288, 291, 294, 298, 300, 303, 308, 311, 341], "rowheight": [0, 327, 341], "rowoffset": [0, 327, 341], "rowtyp": [0, 197, 341], "rpath": 342, "rst": 348, "rule": 342, "run": [0, 5, 63, 64, 65, 124, 247, 271, 342, 345, 346, 352, 357, 360, 363, 365, 375, 376, 377], "runpath": 342, "runscripttask": [0, 5, 63, 354], "runtim": 345, "rva": [1, 3, 7, 8, 14, 15, 47, 48, 54, 61, 65, 66, 67, 76, 78, 79, 80, 82, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 100, 101, 102, 103, 104, 109, 110, 115, 116, 117, 118, 119, 121, 123, 130, 131, 132, 133, 138, 139, 140, 141, 142, 157, 161, 162, 167, 168, 169, 172, 184, 191, 195, 197, 212, 217, 223, 224, 229, 232, 238, 242, 244, 253, 259, 261, 267, 281, 284, 288, 291, 294, 298, 300, 303, 319, 324, 335, 338, 339, 340, 345, 352], "rva_invalid": [54, 65, 86, 87, 88, 131, 217, 223, 271], "rw": 65, "rwx": [0, 89, 124], "rz": [217, 342, 352, 383], "rz_": 342, "rz_annotated_cod": 342, "rz_api": 65, "rz_core": 342, "rz_core_graph_format_dot": [65, 217], "rz_core_graph_format_gml": [65, 217], "rz_core_graph_type_funcal": [65, 217], "rz_core_graph_type_import": [65, 217], "rz_heap_arenas_list": 65, "rz_heap_chunk": 65, "rz_heap_chunks_list": 65, "rz_perm_r": 65, "rz_util": 342, "rzanalysisbyt": 65, "rzanalysisfunct": 65, "rzanalysisvarstoragetyp": 122, "rzannotatedcod": [15, 16], "rzasmplugindescript": [0, 65, 124, 354], "rzbasefindopt": 64, "rzbasenam": 65, "rzbin": 65, "rzbinplugindescript": [0, 65, 124, 354], "rzcodeannot": 168, "rzcore": [0, 39, 65, 77, 124], "rzcoregraphformat": [65, 217], "rzcoregraphtyp": [65, 217], "rzcorelock": [0, 65, 124, 354], "rzcoreplugindescript": [0, 65, 124, 354], "rzdebugpidst": 105, "rzdec": 348, "rzghidra": [348, 359], "rzgml": [0, 217, 341], "rzheapbin": [65, 130, 256], "rzheapchunksimpl": 65, "rzioplugindescript": [0, 65, 124, 354], "rziter": 72, "rzjson": [0, 67, 68, 69, 217, 341], "rzjsontyp": 67, "rzlineprompttyp": 65, "rzlist": [73, 130], "rzlistit": [73, 74], "rzprojecterr": 76, "rzpvector": 70, "rzreg": 65, "rzstrenc": 65, "safe": 348, "safer": 379, "safetycolumn": [0, 261, 341], "same": [25, 223, 227, 241, 247, 271, 346, 347, 379, 383, 387], "sampl": 348, "sanitizestringforcommand": [0, 65, 124], "satisfi": 247, "satur": 203, "save": [0, 10, 63, 185, 216, 347, 348, 360, 375, 390, 391], "saveasbitmap": [0, 250, 341], "saveassvg": [0, 250, 341], "saveproject": [0, 76, 124], "saveprojecta": [0, 76, 124], "saveset": [0, 76, 124], "scale": [13, 217, 250, 271], "scaler": 250, "scan": 65, "scare": 346, "scope": 45, "score": [0, 84, 124], "screen": [17, 201, 227, 347, 375], "screenpo": [0, 334, 341], "screenshot": [342, 346], "script": [0, 54, 63, 347, 348, 354, 356, 357, 360, 375, 388], "scriptnam": 65, "scrollinstruct": [0, 227, 341], "scrolllin": [0, 225, 341], "sdb": [217, 360], "sdbget": [0, 65, 124], "sdblist": [0, 65, 124], "sdblistkei": [0, 65, 124], "sdbset": [0, 65, 124], "sdbwidget": [0, 216, 341, 354], "search": [30, 65, 247, 288, 342, 346, 348, 360, 375, 392], "searchbarpolici": [0, 264, 341], "searchdescript": [0, 65, 124, 288, 354], "searchdescriptionrol": [0, 288, 341], "searchfor": 65, "searchmodel": [0, 289, 341, 354], "searchsortfilterproxymodel": [0, 1, 341, 354], "searchwidget": [0, 216, 341, 354], "second": [25, 247, 347], "secondaryprior": [0, 326, 341], "section": [0, 78, 118, 124, 130, 152, 161, 191, 197, 212, 229, 232, 235, 238, 242, 244, 253, 261, 267, 277, 281, 284, 288, 291, 298, 300, 301, 303, 308, 311, 342, 346, 351, 352, 359, 360, 383, 389], "sectioncolumn": [0, 300, 341], "sectiondescript": [0, 65, 124, 291, 354], "sectiondescriptionrol": [0, 291, 341], "sectionsmodel": [0, 182, 276, 292, 314, 341, 354], "sectionsproxymodel": [0, 1, 341, 354], "sectionswidget": [0, 264, 341, 346, 354], "see": [13, 24, 65, 247, 342, 343, 347, 348, 351, 352, 358, 363, 364, 372, 390], "seek": [0, 10, 14, 63, 65, 124, 259, 341, 352, 360, 375, 387, 392], "seekabl": [14, 223], "seekableseekchang": [0, 14, 63], "seekaddrmap": [0, 184, 341], "seekaddrsizemap": [0, 184, 341], "seekandshow": [0, 65, 124], "seekchang": [0, 14, 65, 124, 345, 352], "seekhistorytyp": [0, 14, 65, 124], "seeknext": [0, 65, 124], "seekprev": [0, 14, 63, 65, 124, 227, 341], "seekreturn": [0, 65, 124, 354], "seeksil": [0, 65, 124], "seektemp": [0, 65, 124], "seektofunctionlastinstruct": [0, 76, 124], "seektofunctionstart": [0, 76, 124], "seektorefer": [0, 14, 63], "seem": 346, "segment": [42, 247, 294, 360, 383], "segmentdescript": [0, 65, 124, 294, 354], "segmentdescriptionrol": [0, 294, 341], "segmentsmodel": [0, 295, 341, 354], "segmentsproxymodel": [0, 1, 341, 354], "segmentswidget": [0, 264, 341, 354], "segmenttreebas": [0, 24, 31, 63, 354], "select": [0, 13, 61, 63, 76, 134, 186, 209, 227, 247, 259, 297, 341, 347, 348, 354, 357, 358, 360, 361, 364, 365, 371, 372, 373, 382, 384, 385, 389, 391], "selectblockwithid": [0, 297, 341], "selectedtyp": [0, 148, 166], "selectionchang": [0, 259, 341], "selectrang": [0, 259, 341], "self": [352, 376], "send": [46, 65, 345, 348], "sender": 345, "sens": [185, 216, 272, 316, 348], "sensit": [359, 363], "separ": [25, 65, 247, 342, 352, 391], "sepia": 13, "seq": 10, "sequenc": [367, 389], "sequenti": 241, "serial": [185, 216], "serializeviewproprti": [0, 185, 216, 341], "seriou": 347, "serv": [347, 351], "session": [65, 359, 376, 379, 382, 383], "set": [0, 13, 14, 16, 29, 31, 45, 63, 65, 137, 158, 169, 175, 185, 186, 201, 207, 209, 216, 217, 247, 250, 258, 259, 271, 341, 342, 343, 346, 347, 348, 354, 356, 357, 358, 360, 371, 375, 379, 391, 392], "setalphaen": [0, 201, 341], "setanalysismethod": [0, 65, 124], "setanim": [0, 32, 63], "setannot": [0, 16, 63], "setannotationher": [0, 168, 173], "setarg": [0, 149, 166], "setasstr": [0, 65, 124], "setautoupdateen": [0, 13, 63], "setavailablebreakpoint": [0, 168, 173], "setbitmapexportscalefactor": [0, 13, 63], "setbitmaptransparentst": [0, 13, 63], "setblinkperiod": [0, 334, 341], "setblockselectionen": [0, 297, 341], "setbreakonclos": [0, 156, 166], "setbreakpointtrac": [0, 65, 124], "setcallconlist": [0, 134, 166], "setcallconselect": [0, 134, 166], "setcancopi": [0, 169, 173], "setcategori": [0, 309, 341], "setchaininfo": [0, 140, 166], "setcheck": 352, "setclass": [0, 136, 166, 189, 341], "setcolor": [0, 13, 63, 65, 124, 201, 202, 203, 204, 206, 207, 341], "setcolorthem": [0, 13, 63], "setcolumnmod": [0, 259, 341], "setcom": [0, 65, 124, 132, 166], "setconfig": [0, 13, 63, 65, 124], "setcpu": [0, 65, 124], "setcurhighlightedword": [0, 168, 169, 173], "setcurrentbit": [0, 65, 124], "setcurrentdebugprocess": [0, 65, 124], "setcurrentdebugthread": [0, 65, 124], "setcurrentmemorywidget": [0, 76, 124], "setdata": [0, 191, 208, 271, 298, 341], "setdebugoutputen": [0, 215, 341], "setdebugplugin": [0, 65, 124], "setdecompiledfunctionaddress": [0, 168, 173], "setdecompilerautorefreshen": [0, 13, 63], "setdesc": [0, 156, 166], "seten": 345, "setendaddrtext": [0, 134, 166], "setendian": [0, 65, 124], "setfilenam": [0, 41, 63, 76, 124], "setfilestablastclick": 13, "setfirstoffsetinlin": [0, 168, 173], "setfixedlines": [0, 259, 341], "setfont": [0, 13, 63], "setfunctionswidgetlayout": [0, 13, 63], "setgraphblockentryoffset": [0, 13, 63], "setgraphblockmaxchar": [0, 13, 63], "setgraphcommand": [0, 241, 341], "setgraphempti": [0, 65, 124], "setgraphlayout": [0, 250, 341], "setgraphminfonts": [0, 13, 63], "setgraphpreview": [0, 13, 63], "setgraphspac": [0, 13, 63], "setgraphview": [0, 140, 166], "setimmediatebas": [0, 65, 124], "setinitialopt": [0, 178, 181], "setinstruct": [0, 135, 166], "setinterfacethem": [0, 13, 63], "setinterruptonclos": [0, 127, 166], "setiocach": [0, 65, 124], "setiomod": [0, 23, 63], "setitemcontextmenu": [0, 186, 341], "setitemendian": [0, 259, 341], "setitemformat": [0, 259, 341], "setitemgroups": [0, 259, 341], "setitems": [0, 259, 341], "setlabeltext": [0, 211, 341], "setlastthemeof": [0, 13, 63], "setlayoutconfig": [0, 248, 249, 250, 341], "setlayoutoptim": [0, 247, 341], "setlocal": [0, 13, 63], "setlocalebynam": [0, 13, 63], "setlockscrol": [0, 226, 341], "setmainwindow": [0, 186, 341], "setmaxhistoryentri": [0, 215, 341], "setmethod": [0, 136, 166], "setmodel": [0, 186, 341], "setmonospacefont": [0, 259, 341], "setnametext": [0, 134, 166], "setnest": [0, 212, 238, 341], "setnewfilelastclick": [0, 13, 63], "setobjectnam": 352, "setoffset": [0, 167, 168, 169, 173], "setopt": [0, 4, 63, 64, 124], "setoutputredirectionen": [0, 13, 63], "setparentbetweendirectchild": [0, 247, 341], "setpopupdirect": [0, 17, 63], "setpreviewmod": [0, 227, 341], "setpreviewvalu": [0, 13, 63], "setprogressindicatorvis": [0, 32, 63], "setrang": [0, 33, 63], "setrangerect": [0, 271, 341], "setrecentfil": [0, 13, 63], "setrecentfold": [0, 13, 63], "setrecentproject": [0, 13, 63], "setregist": [0, 65, 124], "setselecteddecompil": [0, 13, 63], "setselectedsect": [0, 301, 341], "setset": [0, 65, 124], "setshowitemcontextmenuwithoutaddress": [0, 186, 341], "setshowonlycustom": [0, 209, 341], "setshowvartooltip": [0, 13, 63], "setsourcemodel": [0, 1, 63], "setstacksizetext": [0, 134, 166], "setstartaddress": [0, 143, 166], "setstartaddrtext": [0, 134, 166], "setstringsizevalu": [0, 137, 166], "setstringstartaddress": [0, 137, 166], "setsynchron": [0, 14, 63], "settabloc": [0, 76, 124], "settarget": [0, 167, 170, 173], "settargetgraphwidget": [0, 272, 341], "setter": 13, "settext": 352, "settightsubtreeplac": [0, 247, 341], "settingsupgrad": [185, 216], "settocod": [0, 65, 124], "settodata": [0, 65, 124], "settodatadialog": [0, 166, 354], "settransi": [0, 216, 341], "settyp": [0, 148, 166], "settypenam": [0, 158, 166], "setup": [174, 342, 343, 344, 351, 354], "setupandstartanalysi": [0, 145, 166], "setupinterfac": [0, 174, 177, 352], "setupplugin": [0, 174, 177, 352], "setuptool": 342, "setverticalblockalignmentmiddl": [0, 247, 341], "setviewoffset": [0, 250, 341], "setviewscal": [0, 250, 341], "setwholefunct": [0, 167, 173], "setwidget": 352, "setwindowtitl": 352, "setwritemod": [0, 65, 124], "setxkbmap": 358, "setzoom": [0, 217, 341], "setzoomfactor": [0, 13, 63], "sever": [346, 379], "sfdp": [0, 252, 341], "sha1": 383, "shadow": 247, "shape": 247, "share": [342, 351], "shell": 65, "shellcod": [0, 54, 63], "shiboken": 342, "shiboken2": [347, 352], "shiboken6": 342, "shift": [347, 363, 364, 374, 383, 392], "ship": 383, "short": [1, 3, 197, 229, 232, 238, 244, 247, 253, 261, 281, 291, 294, 303], "short_path": [0, 99, 124], "shortcut": [179, 347, 354, 356, 360, 361, 363, 364, 366, 368, 374, 376, 378, 379, 382, 383], "shorter": 247, "should": [25, 31, 36, 65, 136, 158, 175, 185, 209, 216, 227, 272, 342, 345, 346, 347, 348, 352, 353, 373], "shouldn": [34, 175, 342, 352], "show": [13, 46, 65, 76, 136, 160, 195, 216, 217, 219, 250, 264, 272, 348, 352, 360, 375, 390, 392], "showaddress": [0, 195, 341], "showblock": [0, 250, 341], "showbydefault": [0, 264, 341], "showcount": [0, 264, 341], "showdecompilercontextmenu": [0, 222, 341], "showdialog": [0, 136, 166], "showdisascontextmenu": [0, 227, 341], "showdontcheckforupdatesbutton": 46, "showexportdialog": [0, 195, 217, 341], "showexportgraphdialog": [0, 217, 341], "showfilt": [0, 211, 275, 341], "showitemsnumb": [0, 219, 341], "showmemorywidget": [0, 65, 76, 124], "showmemorywidgetrequest": [0, 65, 124], "shown": [13, 136, 186, 209, 272, 352, 357], "showprojectsaveerror": [0, 76, 124], "showrectangl": [0, 250, 341], "showstatusbar": [0, 219, 341], "showupdatedialog": [0, 46, 63], "shutdown": [174, 175, 352], "side": [24, 29, 30, 33, 247, 325, 347], "sidewai": 247, "sigdb": 235, "sign": [0, 65, 124], "signal": [4, 5, 6, 12, 13, 14, 15, 20, 34, 40, 43, 46, 64, 65, 76, 158, 167, 168, 169, 201, 204, 210, 211, 216, 217, 223, 225, 250, 251, 259, 271, 272, 275, 352], "signalsandslot": 352, "signatur": 360, "silent": [65, 345], "similar": [14, 346, 347, 348, 351, 372, 374], "simpl": [241, 297, 347, 348, 352], "simpler": 355, "simplest": 347, "simpletextgraphview": [0, 195, 217, 241, 256, 341, 354], "simpli": [36, 247, 342, 345, 346, 352], "simplic": 247, "simplifi": 247, "sinc": [209, 227, 247, 342, 347, 351, 352], "singl": [25, 26, 65, 216, 247, 342, 352, 376], "singleton": 10, "singli": 25, "situat": [185, 216, 344, 354], "size": [0, 8, 13, 24, 29, 30, 31, 33, 42, 44, 48, 63, 65, 67, 89, 91, 92, 96, 97, 110, 115, 116, 117, 118, 120, 124, 137, 232, 247, 258, 259, 284, 288, 308, 321, 341, 347, 352, 364, 382, 383, 385], "size_t": [24, 25, 27, 29, 30, 31, 33, 42, 67, 83, 133, 183, 194, 265, 325, 327], "sizecolumn": [0, 130, 166, 229, 238, 242, 291, 294, 300, 341], "sizehint": [0, 32, 63, 200, 341], "sizeofdatameta": [0, 65, 124], "sizepolici": [0, 62, 63], "sizepolicyminmax": [0, 63, 354], "skill": [343, 346], "skip": 376, "skipoptionsdialog": 76, "slider": 358, "slightli": [247, 345, 347], "slot": [13, 14, 23, 64, 76, 127, 143, 152, 156, 167, 168, 169, 170, 185, 187, 201, 204, 209, 211, 215, 216, 217, 222, 223, 227, 259, 260, 270, 271, 275, 297, 315, 345, 352], "slower": 389, "small": 65, "smyck": 13, "so": [65, 247, 250, 271, 342, 343, 345, 346, 347, 351, 352, 376], "softwar": [347, 361], "solar": 13, "solidlin": [250, 332], "solut": [247, 342, 351], "solv": [346, 351, 358], "solver": 247, "some": [34, 247, 342, 346, 347, 348, 351, 352, 357, 358, 382, 383, 389, 391], "someobject": 345, "someth": [344, 345, 347, 348, 351, 354], "sometim": [347, 351], "somewhat": 347, "somewher": 352, "soon": 383, "sort": [65, 197, 247, 345], "sourc": [37, 247, 345, 346, 347, 348, 351, 359], "source_model": [230, 233, 239, 289, 309], "sourcemodel": [1, 151, 153, 192, 213, 236, 245, 254, 262, 269, 278, 282, 292, 295, 301, 304], "space": [65, 247, 347, 361, 379, 392], "spacingoverrid": [0, 328, 341], "spars": 247, "sparser": 247, "spawn": 376, "special": [247, 347], "specif": [65, 167, 185, 216, 217, 247, 346, 347, 354, 357, 364, 379, 382, 383], "specifi": [7, 8, 65, 162, 185, 216, 217, 250, 342, 347, 348, 357, 372, 379], "sphinx": [350, 351], "split": [25, 247], "splithead": [0, 25, 63], "splittail": [0, 25, 63], "spot": 383, "spread": 247, "squar": 247, "squish": 247, "srandard": 209, "src": [0, 342, 345, 354], "srcthemenam": 10, "st64": [67, 80, 88], "stabl": 348, "stack": [65, 247, 354, 356, 360, 364, 375, 383], "stackchang": [0, 65, 124], "stackdescriptionrol": [0, 298, 341], "stackfram": [0, 100, 124], "stackmodel": [0, 341, 354], "stacksiz": 134, "stackwidget": [0, 216, 341, 354], "stage": 356, "stai": 345, "standalon": [342, 347], "standard": 345, "star": 379, "start": [0, 6, 46, 63, 65, 143, 175, 201, 247, 258, 259, 323, 341, 342, 343, 344, 346, 347, 348, 349, 351, 354, 355, 357, 360, 364, 372, 375, 379, 392], "start_arrow": [0, 250, 332, 341], "startaddr": [65, 134, 157], "startaddress": [0, 259, 335, 341], "startblink": [0, 334, 341], "startdebug": [0, 65, 124], "startdebugicon": [0, 221, 341], "startdebuglabel": [0, 221, 341], "startemul": [0, 65, 124], "startpickingfromscreen": [0, 201, 341], "starttask": [0, 40, 63], "starttraceicon": [0, 221, 341], "starttracelabel": [0, 221, 341], "starttracesess": [0, 65, 124], "startup": [352, 358], "state": [0, 13, 44, 51, 63, 65, 247, 272, 348, 360, 379, 389, 391], "statement": [247, 345], "static": [10, 11, 13, 15, 37, 46, 65, 131, 132, 136, 152, 161, 175, 197, 217, 218, 222, 227, 232, 238, 250, 251, 260, 265, 288, 300, 308, 311], "statu": [0, 64, 92, 105, 124, 141, 216, 347], "statuscolumn": [0, 152, 166, 242, 341], "std": [25, 27, 29, 37, 39, 42, 65, 70, 71, 73, 74, 175, 223, 248, 249, 250, 252, 271, 320, 321, 322, 325, 326, 327, 329], "step": [185, 216, 247, 346, 347, 348, 350, 351, 352, 354, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 374, 375, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 389, 390, 391, 392], "stepbackdebug": [0, 65, 124], "stepdebug": [0, 65, 124], "stepoutdebug": [0, 65, 124], "stepoverdebug": [0, 65, 124], "stick": 346, "still": [342, 356], "stop": [346, 376], "stopblink": [0, 334, 341], "stopdebug": [0, 65, 124], "stopicon": [0, 221, 341], "stoppickingfromscreen": [0, 201, 341], "stoptraceicon": [0, 221, 341], "stoptracelabel": [0, 221, 341], "stoptracesess": [0, 65, 124], "storagetyp": [0, 122, 124], "store": [24, 36, 42, 352, 391], "str": [10, 65], "straight": [351, 383], "strict": [342, 347], "string": [0, 13, 20, 43, 46, 65, 78, 89, 118, 124, 137, 300, 346, 360, 374, 375, 389, 392], "stringcolumn": [0, 300, 341], "stringdescript": [0, 43, 65, 124, 300, 354], "stringdescriptionrol": [0, 300, 341], "stringsearchfinish": [0, 43, 63], "stringsmodel": [0, 301, 341, 354], "stringsproxymodel": [0, 1, 341, 354], "stringstask": [0, 5, 63, 354], "stringswidget": [0, 216, 341, 354], "stringtyp": [0, 137, 166], "stringtypeformat": [0, 65, 124], "strip": 352, "strive": [343, 345], "strong": 376, "strongli": 355, "struct": [7, 37, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 65, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 148, 163, 164, 165, 171, 172, 180, 249, 250, 259, 298, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340], "structur": [29, 33, 65, 247, 342, 360, 377, 383], "structureoffset": 65, "studio": [342, 344, 354], "style": [344, 346, 347, 354], "sub": [316, 352, 360, 364, 371, 375], "subclass": [1, 2, 3, 5, 35, 40, 42, 182, 183, 185, 197, 204, 216, 217, 218, 249, 250, 264, 266, 297, 352], "subdirectori": [352, 355], "subject": [351, 352], "submenu": [76, 363], "submodul": [342, 348], "submodule_name_1": 345, "submodule_name_2": 345, "subset": [247, 325], "subtract": 372, "subtre": [24, 247, 325], "succeed": 65, "success": [10, 13, 65, 137], "successfulli": [65, 346], "sudo": [342, 350], "suffici": [16, 347, 348], "suffix": [25, 352], "suggest": [346, 351, 355], "suitabl": [185, 216, 342, 346, 347], "summari": 348, "super": 352, "suppli": 368, "support": [24, 29, 33, 195, 217, 342, 345, 346, 347, 352, 353, 355, 359, 371, 374, 376, 379, 383, 389], "sure": [342, 345, 346, 348, 358], "suspend": 376, "suspenddebug": [0, 65, 124], "suspendicon": [0, 221, 341], "suspendlabel": [0, 221, 341], "svg": [0, 217, 341, 342, 371], "svgiconengin": [0, 63, 354], "sweep": [247, 389], "switch": [247, 345, 347, 377, 392], "switchedprocess": [0, 65, 124], "switchedthread": [0, 65, 124], "sy": 347, "sym": 10, "symbol": [0, 89, 124, 360, 389], "symboldescript": [0, 65, 124, 303, 354], "symboldescriptionrol": [0, 303, 341], "symbolsmodel": [0, 304, 341, 354], "symbolsproxymodel": [0, 1, 341, 354], "symbolswidget": [0, 264, 341, 354], "symlink": 352, "sync": [14, 342, 354, 356, 360, 383], "syncandseekprogramcount": [0, 65, 124], "syncchang": [0, 14, 63], "synchron": [14, 16, 76, 387], "synchronon": [185, 216], "synopsi": 354, "syntax": [342, 345, 351], "syntaxhighlight": [16, 19], "syscal": [360, 375], "system": [342, 347, 348, 352, 357], "system_mem": [0, 82, 124], "syu": 342, "sz": 13, "t": [1, 3, 9, 13, 24, 25, 26, 27, 29, 34, 35, 36, 37, 45, 46, 55, 57, 70, 71, 72, 73, 74, 75, 175, 185, 197, 216, 223, 229, 232, 238, 241, 244, 247, 253, 261, 271, 281, 291, 294, 303, 342, 343, 345, 346, 347, 348, 351, 352, 353, 354, 358, 363, 372, 376, 379, 392], "tab": [13, 360, 375], "tabl": [345, 347, 354, 356, 360, 374], "tag": [346, 348], "tail": 25, "take": [34, 36, 216, 346, 347, 354, 379, 389], "takefals": [0, 223, 341], "taken": 346, "taketru": [0, 223, 341], "tallest": 247, "tango": 13, "target": [0, 241, 247, 249, 250, 330, 341, 342, 389], "targetgraph": 76, "task": [6, 65, 127, 156, 346, 347, 379], "taskschang": [0, 6, 63], "tb": [0, 252, 341], "tbl": 389, "tcach": 65, "team": [346, 353], "telegram": [343, 348, 354], "telescop": [65, 377], "tell": [14, 34, 346, 368], "tempconfig": [0, 63, 354], "templat": [2, 9, 24, 25, 29, 31, 36, 37, 42, 57, 58, 59, 70, 72, 73, 75, 186, 216, 346, 347, 380], "temporari": [45, 216], "temporarili": 65, "term": 247, "termin": [0, 174, 177, 201, 320, 341, 352, 360, 368], "test": [25, 27, 344, 346, 347, 354], "text": [0, 9, 37, 60, 63, 65, 68, 94, 124, 169, 211, 217, 241, 247, 275, 320, 321, 338, 341, 347, 352, 354, 363, 364], "textbackground": [0, 37, 60, 63], "textcolor": [0, 37, 60, 63], "textedit": [0, 143, 158, 166], "texthtml": 37, "textoffset": [0, 226, 341], "textplain": 37, "textual": 65, "than": [30, 247, 259, 342, 353, 358, 379], "thank": 346, "thankfulli": 351, "thei": [34, 223, 271, 342, 346, 347, 351, 352, 353, 358, 360, 363, 365, 374, 379, 383, 389, 390], "them": [25, 36, 65, 247, 342, 346, 347, 348, 351, 377, 379, 383, 389, 390], "theme": [0, 10, 13, 63, 209], "themenam": 10, "thi": [13, 14, 30, 34, 36, 45, 46, 65, 76, 174, 185, 186, 195, 209, 216, 217, 223, 224, 227, 247, 271, 272, 316, 342, 343, 345, 346, 347, 348, 350, 351, 352, 354, 355, 356, 357, 358, 359, 360, 361, 363, 364, 365, 366, 368, 371, 372, 374, 376, 377, 379, 380, 381, 382, 383, 384, 385, 387, 388, 389, 392], "thing": [65, 247, 346, 351, 352], "thingusedher": [0, 173, 354], "think": 351, "third": [342, 348], "thorough": 346, "thoroughli": 351, "those": [45, 241, 346, 347], "thread": [65, 360, 375], "threadsfiltermodel": [0, 341, 354], "threadswidget": [0, 216, 341, 354], "through": [65, 343, 346, 347, 352], "thu": [65, 353, 379], "tid": 65, "tie": 247, "tilt": 247, "time": [13, 34, 65, 342, 345, 346, 347, 348, 352, 354, 356, 383], "time_t": 46, "timeout": [5, 46], "timeoutm": 46, "tintcolor": 44, "tip": [346, 347], "titl": [76, 136, 348, 382, 385], "tittl": 241, "to_str": [0, 123, 124], "tobool": [0, 67, 124], "togeth": [247, 346, 347, 348, 357, 389], "toggl": [14, 345, 360, 382], "togglebreakpoint": [0, 65, 124], "toggledebugview": [0, 65, 124], "toggledockwidget": [0, 216, 341], "toggleoverview": [0, 76, 124], "togglerespons": [0, 76, 124], "togglesynchron": [0, 14, 63], "togglesyncwithcor": 14, "token": [0, 341, 354], "tomodel": 162, "too": [247, 347, 352], "tool": [342, 347, 379], "toolbar": [221, 354, 356, 360], "toolchain": 347, "tooltip": [13, 65], "top": [0, 82, 124, 247, 360, 371, 375], "topolog": 247, "toposort": 247, "toqstr": [0, 322, 341], "torva": [0, 67, 124], "tost64": [0, 67, 124], "tostr": [0, 67, 124], "tout64": [0, 67, 124], "trace": [0, 10, 65, 91, 124], "tracecolumn": [0, 191, 341], "track": [29, 247, 346], "tradit": 347, "transapar": 13, "transfer": 379, "transient": [38, 39], "transit": 247, "translat": [13, 343, 348, 354], "transpar": 250, "travers": 247, "treasur": 346, "treat": [65, 368, 389], "tree": [24, 31, 42, 247, 325, 385], "tree_edg": [0, 325, 341], "tri": [65, 345, 359], "trigger": [65, 345, 363, 365, 389], "triggerasmoptionschang": [0, 65, 124], "triggerflagschang": [0, 65, 124], "triggerfunctionrenam": [0, 65, 124], "triggergraphoptionschang": [0, 65, 124], "triggerrefreshal": [0, 65, 124], "triggervarschang": [0, 65, 124], "trivial": 346, "troubl": 343, "troubleshoot": [346, 354], "true": [10, 13, 17, 36, 38, 39, 46, 54, 65, 76, 91, 148, 158, 175, 180, 186, 201, 209, 216, 238, 247, 250, 275, 332, 352, 392], "true_path": [0, 320, 341], "try": [342, 346, 347, 348, 351, 352, 389], "tryfil": [0, 65, 124], "tryraisememorywidget": [0, 266, 341], "tun": 345, "turn": [247, 342], "tutori": [344, 345], "tweet": 348, "twilight": 13, "twitter": 354, "two": [247, 352, 355, 383], "twopi": [0, 252, 341], "txt": [342, 347, 348], "typ": 65, "type": [0, 5, 10, 11, 12, 14, 23, 24, 25, 27, 30, 33, 36, 37, 40, 42, 54, 58, 59, 65, 67, 70, 71, 73, 74, 76, 78, 82, 91, 95, 96, 101, 103, 104, 109, 110, 112, 118, 119, 120, 122, 123, 124, 129, 130, 137, 144, 148, 152, 156, 158, 161, 163, 166, 172, 173, 175, 191, 197, 201, 212, 216, 217, 223, 229, 232, 235, 238, 242, 244, 247, 249, 250, 252, 253, 259, 261, 264, 266, 267, 274, 277, 281, 284, 288, 291, 294, 298, 300, 303, 307, 308, 311, 316, 323, 330, 341, 345, 346, 347, 350, 360, 363, 367, 368, 375, 390], "type_num": 11, "typecolumn": [0, 130, 166, 191, 229, 244, 261, 281, 300, 303, 341], "typedef": [10, 37, 65], "typedescript": [0, 65, 124, 148, 166, 308, 354], "typedescriptionrol": [0, 308, 341], "typenam": [9, 37, 57, 70, 72, 73, 216], "typerol": [0, 197, 341], "typesinteractiondialog": [0, 166, 354], "typesmodel": [0, 309, 341, 354], "typessortfilterproxymodel": [0, 341, 354], "typeswidget": [0, 216, 341, 354], "typic": [247, 345, 379], "u": [34, 247, 343, 345, 346, 358, 364, 392], "ubuntu": [342, 347], "ui": [154, 174, 345, 346, 352, 354, 360], "uid": [0, 105, 124], "uidcolumn": [0, 152, 166], "uint32_t": [137, 324], "uint64_t": [65, 137, 144, 183, 194, 258, 259, 265, 317, 334], "uint8_t": [33, 42, 144, 183, 194, 265], "umodifi": [185, 216], "un": 387, "unblock": 247, "uncheck": 382, "uncondit": 392, "undefin": [360, 392], "under": [227, 342, 348, 352, 363, 364], "underli": [382, 389], "understand": [346, 383, 389], "undo": [0, 14, 65, 124, 378], "unhighlight": 360, "uninstal": 347, "union": 65, "uniqu": [65, 345, 346], "unique_ptr": [175, 248, 250], "unix": 352, "unknown": [0, 76, 124], "unless": [342, 347, 379, 381], "unlik": [376, 379], "unlock": [360, 375], "unmap": 348, "unnecessari": [345, 379], "unordered_map": [223, 249, 252, 271, 327], "unreli": 216, "unsign": 321, "unsort": 65, "unspecifi": 347, "unsur": [352, 355], "unsync": 387, "untest": 342, "until": [247, 348, 360, 375], "unwant": 342, "up": [0, 17, 65, 249, 324, 330, 341, 343, 345, 346, 352, 382], "updat": [0, 29, 46, 65, 209, 223, 227, 258, 271, 272, 341, 342, 347, 348, 351, 352, 382], "update_cont": 352, "updatebreakpoint": [0, 65, 124], "updatecolor": [0, 201, 217, 259, 341], "updatecont": [0, 126, 166], "updatecurrentindex": [0, 238, 341], "updatedata": [0, 152, 166], "updatedock": [0, 182, 276, 314, 341], "updatefromchildren": [0, 29, 30, 33, 42, 63], "updatefromconfig": [0, 209, 341], "updategraphicsscen": [0, 315, 341], "updaterang": [0, 29, 63], "updateseek": [0, 65, 124], "updatethem": [0, 208, 341], "updatewindowtitl": [0, 185, 341], "updatework": [0, 63, 354], "upgrad": [185, 216, 342, 348], "upon": [76, 160, 358], "upstream": 342, "upward": [17, 247], "uri": [0, 65, 114, 124, 154], "us": [5, 10, 15, 16, 19, 25, 26, 27, 29, 30, 33, 34, 37, 40, 42, 45, 58, 59, 65, 70, 71, 73, 74, 76, 156, 175, 179, 185, 197, 216, 223, 224, 241, 247, 249, 250, 297, 316, 342, 346, 348, 351, 352, 353, 356, 357, 358, 359, 361, 363, 364, 371, 377, 379, 382, 383, 386, 388, 389, 390, 391, 392], "usag": [344, 354, 358, 363, 364], "usedecompilerhighlight": 13, "usedetect": 148, "user": [10, 13, 46, 76, 136, 160, 201, 209, 272, 342, 346, 353, 354, 355, 358, 359, 360, 363, 364, 368, 372, 376, 377, 379, 380, 383, 389], "useropen": 272, "useropenedchang": [0, 272, 341], "userrol": [161, 197, 232, 238, 288, 300, 308, 311], "useva": [0, 54, 63], "usr": 342, "usual": [174, 247, 346, 358, 389], "ut32": [83, 84, 118], "ut64": [11, 65, 67, 78, 81, 82, 107, 110, 143, 171, 223, 238, 247, 248, 249, 252, 271, 297, 320, 321, 324, 325, 326, 327, 329, 330, 333], "ut8": 89, "utf8": [0, 65, 124, 137, 166, 368], "util": [352, 359, 374], "v": [65, 127, 156, 216, 344, 354, 357, 379], "v1": [324, 348], "v2": 324, "v3": 342, "va": 65, "vaddr": [0, 95, 96, 102, 109, 110, 116, 117, 118, 119, 124, 284, 341], "vaddrcolumn": [0, 281, 341], "val": [65, 186], "valid": [0, 25, 27, 67, 124, 154, 166, 247], "valu": [0, 10, 12, 13, 23, 24, 25, 27, 29, 30, 31, 33, 36, 37, 42, 45, 54, 55, 63, 65, 67, 68, 69, 76, 78, 91, 102, 107, 108, 122, 124, 129, 130, 137, 144, 152, 161, 166, 169, 172, 185, 191, 197, 208, 209, 212, 216, 217, 223, 229, 232, 235, 238, 242, 244, 247, 249, 250, 252, 253, 259, 261, 264, 267, 271, 274, 277, 281, 284, 288, 291, 294, 297, 298, 300, 303, 307, 308, 311, 316, 330, 337, 339, 341, 342, 345, 347, 360, 363, 364, 365, 370, 372, 377, 389], "value_typ": [0, 25, 27, 63, 70, 71, 73, 74, 124], "valueatpoint": [0, 31, 63], "valuecolumn": [0, 253, 277, 298, 341], "valuetyp": [0, 29, 33, 63], "valus": 207, "var": [0, 13, 172, 173], "vari": [342, 390], "variabl": [13, 65, 162, 247, 316, 342, 347, 358, 360, 389, 392], "variabledescript": [0, 65, 124, 354], "variablenam": 65, "variant": 352, "variou": 390, "varschang": [0, 65, 124], "vcpkg": 347, "ve": [342, 346], "vec": 70, "vector": [25, 37, 65, 175, 249, 320, 321, 322, 325, 326, 327, 329, 347], "veloc": 217, "ver": 240, "veri": [346, 347, 351, 358, 376], "verifi": [342, 346], "versa": 387, "version": [0, 46, 65, 111, 124, 342, 345, 347, 348, 352, 355, 357, 380], "versioninfodialog": [0, 166, 354], "verson": 46, "vertex": 247, "vertic": [13, 247, 248, 360, 371], "via": 347, "vice": 387, "view": [0, 76, 124, 158, 185, 216, 218, 241, 250, 345, 347, 354, 356, 358, 359, 360, 371, 374, 375, 380, 381, 383, 385, 391], "viewoffsetchang": [0, 250, 341], "viewproperti": [0, 51, 63], "viewrefresh": [0, 217, 341], "viewscalechang": [0, 250, 341], "viewtologicalcoordin": [0, 250, 341], "viewzoom": [0, 217, 341], "virtual": [1, 2, 3, 4, 5, 10, 12, 15, 16, 19, 20, 32, 35, 40, 41, 43, 64, 68, 161, 174, 182, 183, 185, 191, 194, 195, 197, 201, 204, 208, 210, 212, 216, 217, 223, 229, 232, 238, 241, 244, 247, 248, 249, 252, 253, 261, 265, 267, 276, 281, 284, 288, 291, 294, 297, 300, 303, 314, 345, 357, 374], "virtualaddrdock": [0, 182, 341, 354], "virtualsizecolumn": [0, 291, 341], "visibl": [32, 34, 76, 216, 227, 250, 357], "visit": [346, 350, 390], "visual": [247, 342, 344, 351, 354, 374], "visualnavbar": [0, 341, 354], "void": [1, 4, 5, 6, 7, 8, 11, 12, 13, 14, 15, 16, 17, 20, 23, 29, 30, 31, 32, 33, 34, 37, 39, 40, 41, 43, 44, 46, 62, 64, 65, 75, 76, 126, 127, 130, 131, 132, 134, 135, 136, 137, 140, 143, 145, 148, 149, 152, 156, 158, 161, 162, 167, 168, 169, 170, 174, 175, 176, 178, 179, 182, 183, 185, 186, 187, 189, 191, 194, 195, 200, 201, 202, 203, 204, 206, 207, 208, 209, 210, 211, 212, 215, 216, 217, 218, 219, 221, 222, 223, 224, 225, 226, 227, 238, 240, 241, 242, 247, 248, 249, 250, 251, 252, 258, 259, 260, 261, 264, 265, 270, 271, 272, 275, 276, 281, 297, 298, 301, 309, 314, 315, 326, 334, 345], "vscode": 347, "vsize": [0, 116, 117, 124], "vtabl": [0, 197, 311, 316, 341, 360], "vtableaddr": [0, 86, 124], "vtabledescript": [0, 65, 124, 311, 354], "vtabledescriptionrol": [0, 311, 341], "vtablemodel": [0, 312, 341, 354], "vtableoffset": [0, 80, 88, 124], "vtablerol": [0, 197, 341], "vtablesortfilterproxymodel": [0, 341, 354], "vtableswidget": [0, 216, 341, 354], "vulner": 351, "w": [37, 357], "wa": [10, 65, 136, 209, 346, 348, 354, 355, 359, 364], "wai": [247, 343, 346, 347, 351, 354], "wait": [0, 5, 63, 348], "walk": 346, "want": [13, 65, 342, 343, 346, 347, 348, 351, 352, 353, 355, 363, 372, 379, 383, 390], "warn": [76, 347, 389], "warningmessag": 15, "wasn": 351, "wchar": 372, "we": [34, 65, 342, 343, 345, 346, 347, 351, 352, 353, 359, 387], "web": 354, "websit": [46, 347, 351], "welcom": [76, 160, 343, 351], "welcomedialog": [0, 76, 166, 354], "well": [197, 247, 347, 351, 352, 358, 360], "welocmedialog": 76, "went": 389, "were": [345, 346, 347, 351, 374], "weren": 351, "what": [247, 346, 351], "wheelev": [0, 224, 272, 341], "when": [13, 19, 25, 34, 45, 46, 65, 158, 174, 185, 201, 216, 247, 271, 272, 342, 343, 345, 346, 347, 351, 352, 357, 371, 376, 379, 382, 391], "where": [10, 65, 137, 174, 185, 216, 247, 342, 345, 348, 352, 383, 385, 390], "wheter": 10, "whether": [10, 13, 14, 36, 65, 136, 137, 209, 216, 247, 272, 346, 351, 372, 379, 383], "which": [14, 17, 24, 34, 36, 42, 46, 65, 76, 158, 162, 247, 316, 325, 342, 345, 346, 347, 352, 355, 359, 363, 364, 368, 372, 374, 377, 379, 382, 383, 385, 389], "while": [34, 216, 247, 342, 346, 347, 348, 351, 353, 354, 363, 365, 389], "white": 13, "white2": 13, "who": [346, 348], "whole": [167, 345, 348, 352, 383], "whole_funct": [65, 161, 162], "wholefunciton": 167, "whose": 390, "why": 346, "wide": [0, 247, 341, 360, 371], "wider": 247, "widest": 247, "widget": [0, 13, 17, 34, 62, 65, 76, 179, 185, 201, 203, 207, 216, 223, 224, 272, 297, 346, 347, 348, 351, 354, 355, 356, 357, 359, 360, 374, 375, 377, 382, 385, 391], "widget_bg": 10, "widget_sel": 10, "widgettyp": 76, "width": [0, 9, 21, 63, 247, 248, 249, 252, 271, 329, 341], "width_scal": [0, 250, 332, 341], "windbg": 376, "window": [0, 76, 124, 160, 344, 346, 354, 356, 360, 375, 376, 377, 379, 381], "windowcolorisdark": [0, 13, 63], "windowtitl": [0, 223, 341], "wish": [346, 347, 351], "within": [25, 26, 29, 247, 342, 347], "without": [65, 216, 247, 250, 342, 345, 346, 347, 352, 357, 379, 389, 390], "wl": 342, "won": 372, "word": [0, 65, 124, 168, 169, 227, 259, 341, 359, 360, 363, 372], "wordchar": [0, 259, 341], "wordhighlight": 10, "wordhl": 10, "work": [10, 342, 343, 344, 345, 347, 348, 351, 352, 354, 358, 382], "workaround": 342, "workflow": 355, "world": [352, 353, 379], "worri": 347, "worst": 247, "would": [76, 160, 247, 346, 347, 351, 364, 372], "wrap": 65, "wrapper": 65, "write": [0, 10, 23, 34, 63, 65, 161, 183, 194, 265, 341, 346, 351, 352, 355, 357, 360, 375, 383], "writeedit": [0, 259, 341], "writeen": [0, 54, 63], "writegraphvizgraphtofil": [0, 65, 124], "writeheapchunk": [0, 65, 124], "writemod": 357, "writemodechang": [0, 65, 124], "writenotedit": [0, 259, 341], "writenotstart": [0, 259, 341], "writetocach": [0, 265, 341], "written": [65, 346, 351, 372, 383], "wrong": [345, 358, 389], "wrt": 14, "x": [0, 37, 249, 329, 341, 342, 348, 354, 363, 364, 389, 392], "x64dbg": 37, "x86": [45, 383], "x_end": [0, 340, 341], "x_i": 247, "x_j": 247, "x_start": [0, 340, 341], "xcode": 342, "xinc": 37, "xml": [347, 348], "xorg": 358, "xref": 392, "xrefdescript": [0, 65, 124, 354], "xrefmodel": [0, 166, 354], "xrefsdialog": [0, 166, 354], "xrefstrigg": [0, 167, 173], "xreftypestr": [0, 161, 166], "xtoaddress": [0, 341, 354], "xtr": 65, "xvilka": 13, "y": [0, 37, 247, 249, 329, 341, 342, 348, 363, 364, 392], "ye": 347, "yellow": 347, "yet": [347, 351, 353], "yml": 348, "you": [13, 65, 342, 343, 345, 346, 347, 348, 349, 350, 352, 353, 354, 355, 358, 359, 361, 363, 364, 366, 372, 377, 379, 382, 383, 390, 391], "young": 351, "your": [342, 343, 344, 345, 347, 350, 351, 352, 354, 358, 359, 375, 378, 379, 380], "yourself": [346, 351], "yum": 342, "z": 247, "zenburn": 13, "zero": [65, 247, 360], "zip": 354, "zlib1g": 342, "zoom": [0, 13, 217, 341, 360, 375, 383, 392], "zoomin": [0, 217, 341], "zoomout": [0, 217, 341], "zoomreset": [0, 217, 341]}, "titles": ["API Reference", "AddressableFilterProxyModel", "AddressableItemModel", "AddressableItemModelI", "AnalysisTask", "AsyncTask", "AsyncTaskManager", "BasicBlockHighlighter", "BasicInstructionHighlighter", "CachedFontMetrics", "ColorThemeWorker", "Colors", "CommandTask", "Configuration", "CutterSeekable", "Decompiler", "DecompilerHighlighter", "DirectionalComboBox", "DisassemblyTextBlockUserData", "FallbackSyntaxHighlighter", "FunctionsTask", "HighDpiPixmap", "Highlighter", "IOModesController", "LazySegmentTreeBase", "LinkedListPool", "LinkedListPool::List", "LinkedListPool::ListIterator", "MdHighlighter", "MinMaxAccumulateTree", "PointSetMinTree", "PointSetSegmentTree", "ProgressIndicator", "RangeAssignMaxTree", "RefreshDeferrer", "RefreshDeferrerAccumulator", "ReplacingRefreshDeferrerAccumulator", "RichTextPainter", "RizinCmdTask", "RizinFunctionTask", "RizinTask", "RunScriptTask", "SegmentTreeBase", "StringsTask", "SvgIconEngine", "TempConfig", "UpdateWorker", "BasicBlockHighlighter::BasicBlock", "BasicInstruction", "CommandDescription", "CutterInterfaceTheme", "Cutter::CutterLayout", "FallbackSyntaxHighlighter::HighlightingRule", "Highlighter::HighlightingRule", "InitialOptions", "LinkedListPool::Item", "MdHighlighter::HighlightingRule", "Metrics", "Metrics< int >", "Metrics< qreal >", "RichTextPainter::CustomRichText_t", "mmio_lookup_context", "qhelpers::SizePolicyMinMax", "Common", "Basefind", "CutterCore", "CutterCore::SeekReturn", "CutterJson", "CutterJsonOwner", "CutterJson::iterator", "CutterPVector", "CutterPVector::iterator", "CutterRzIter", "CutterRzList", "CutterRzList::iterator", "FreeBinder", "MainWindow", "RzCoreLocked", "AddrRefs", "AnalysisBaseClassDescription", "AnalysisMethodDescription", "AnalysisVTableDescription", "Arena", "BasefindCoreStatusDescription", "BasefindResultDescription", "BinClassBaseClassDescription", "BinClassDescription", "BinClassFieldDescription", "BinClassMethodDescription", "BlockDescription", "BlockStatistics", "BreakpointDescription", "Chunk", "CommentDescription", "DisassemblyLine", "EntrypointDescription", "ExportDescription", "FlagDescription", "FlagspaceDescription", "FlirtDescription", "FunctionDescription", "GlobalDescription", "HeaderDescription", "ImportDescription", "MemoryMapDescription", "ProcessDescription", "RefDescription", "RegisterRef", "RegisterRefValueDescription", "RelocDescription", "ResourcesDescription", "RzAsmPluginDescription", "RzBinPluginDescription", "RzCorePluginDescription", "RzIOPluginDescription", "SearchDescription", "SectionDescription", "SegmentDescription", "StringDescription", "SymbolDescription", "TypeDescription", "VTableDescription", "VariableDescription", "XrefDescription", "Core", "AboutDialog", "ArenaInfoDialog", "AsyncTaskDialog", "AttachProcDialog", "Base64EnDecodedWriteDialog", "BinsModel", "BreakpointsDialog", "CommentsDialog", "DuplicateFromOffsetDialog", "EditFunctionDialog", "EditInstructionDialog", "EditMethodDialog", "EditStringDialog", "EditVariablesDialog", "FlagDialog", "GlibcHeapBinsDialog", "GlibcHeapInfoDialog", "GlobalVariableDialog", "HexdumpRangeDialog", "IncrementDecrementDialog", "InitialOptionsDialog", "LayoutManager", "MapFileDialog", "MultitypeFileSaveDialog", "NativeDebugDialog", "NewFileDialog", "ProcessBeingAnalysedProxyModel", "ProcessModel", "ProcessProxyModel", "RemoteDebugDialog", "RizinPluginsDialog", "RizinTaskDialog", "SetToDataDialog", "TypesInteractionDialog", "VersionInfoDialog", "WelcomeDialog", "XrefModel", "XrefsDialog", "DbgBackend", "InitialOptionsDialog::AnalysisCommands", "MultitypeFileSaveDialog::TypeDescription", "Dialogs", "AddressableItemContextMenu", "DecompilerContextMenu", "DisassemblyContextMenu", "FlirtContextMenu", "DisassemblyContextMenu::DoRenameInfo", "DisassemblyContextMenu::ThingUsedHere", "Menus", "CutterPlugin", "PluginManager", "PluginManager::PluginTerminator", "Plugins", "CutterApplication", "CutterProxyStyle", "CutterCommandLineOptions", "Src", "AbstractAddrDock", "AbstractData", "AddrDockScene", "AddressableDockWidget", "AddressableItemList", "AnalysisClassesModel", "BacktraceWidget", "BinClassesModel", "BoolTogggleDelegate", "BreakpointModel", "BreakpointProxyModel", "BreakpointWidget", "BufferData", "CallGraphView", "CallGraphWidget", "ClassesModel", "ClassesSortFilterProxyModel", "ClassesWidget", "ColorOptionDelegate", "ColorPicker", "ColorPickerHelpers::AlphaChannelBar", "ColorPickerHelpers::ColorPickArea", "ColorPickerHelpers::ColorPickWidgetAbstract", "ColorPickerHelpers::ColorPickerWidget", "ColorPickerHelpers::ColorShowWidget", "ColorPickerHelpers::ColorValueBar", "ColorSettingsModel", "ColorThemeComboBox", "ColorThemeListView", "ComboQuickFilterView", "CommentsModel", "CommentsProxyModel", "CommentsWidget", "ConsoleWidget", "CutterDockWidget", "CutterGraphView", "CutterTreeView", "CutterTreeWidget", "Dashboard", "DebugActions", "DecompilerWidget", "DisassemblerGraphView", "DisassemblyLeftPanel", "DisassemblyScrollArea", "DisassemblyTextEdit", "DisassemblyWidget", "EntrypointWidget", "ExportsModel", "ExportsProxyModel", "ExportsWidget", "FlagsModel", "FlagsSortFilterProxyModel", "FlagsWidget", "FlirtModel", "FlirtProxyModel", "FlirtWidget", "FunctionModel", "FunctionSortFilterProxyModel", "FunctionsWidget", "GenericRizinGraphView", "GlibcHeapModel", "GlibcHeapWidget", "GlobalsModel", "GlobalsProxyModel", "GlobalsWidget", "GraphGridLayout", "GraphHorizontalAdapter", "GraphLayout", "GraphView", "GraphWidget", "GraphvizLayout", "HeadersModel", "HeadersProxyModel", "HeadersWidget", "HeapBinsGraphView", "HeapDockWidget", "HexSelection", "HexWidget", "HexdumpWidget", "ImportsModel", "ImportsProxyModel", "ImportsWidget", "ListDockWidget", "MemoryData", "MemoryDockWidget", "MemoryMapModel", "MemoryMapWidget", "MemoryProxyModel", "Omnibar", "OverviewView", "OverviewWidget", "ProcessesFilterModel", "ProcessesWidget", "QuickFilterView", "RawAddrDock", "RegisterRefModel", "RegisterRefProxyModel", "RegisterRefsWidget", "RegistersWidget", "RelocsModel", "RelocsProxyModel", "RelocsWidget", "ResourcesModel", "ResourcesWidget", "RizinGraphWidget", "SdbWidget", "SearchModel", "SearchSortFilterProxyModel", "SearchWidget", "SectionsModel", "SectionsProxyModel", "SectionsWidget", "SegmentsModel", "SegmentsProxyModel", "SegmentsWidget", "SimpleTextGraphView", "StackModel", "StackWidget", "StringsModel", "StringsProxyModel", "StringsWidget", "SymbolsModel", "SymbolsProxyModel", "SymbolsWidget", "ThreadsFilterModel", "ThreadsWidget", "TypesModel", "TypesSortFilterProxyModel", "TypesWidget", "VTableModel", "VTableSortFilterProxyModel", "VTablesWidget", "VirtualAddrDock", "VisualNavbar", "AnalysisClassesModel::Attribute", "BasicCursor", "ColorOption", "CommentGroup", "DisassemblerGraphView::DisassemblyBlock", "DisassemblerGraphView::Instr", "DisassemblerGraphView::Text", "DisassemblerGraphView::Token", "DisassemblyLeftPanel::Arrow", "GraphGridLayout::GridBlock", "GraphGridLayout::GridEdge", "GraphGridLayout::LayoutState", "GraphGridLayout::Point", "GraphLayout::GraphBlock", "GraphLayout::GraphEdge", "GraphLayout::LayoutConfig", "GraphView::EdgeConfiguration", "HeapBinsGraphView::GraphHeapChunk", "HexCursor", "HexWidget::Selection", "OptionInfo", "RegisterRefDescription", "SimpleTextGraphView::BlockContent", "StackModel::Item", "VisualNavbar::XToAddress", "Widgets", "Building", "Contributing to Cutter", "Developer Documentation", "Cutter Development Guidelines", "Contributing code to Cutter", "Development environment setup", "Release Procedure", "Contributing Documentation", "Building docs", "Contributing documentation to Cutter", "Getting Started with Python Plugins", "Translate Cutter", "Cutter", "Plugins", "User Documentation", "Command-line Options", "Common Issues", "Features", "Menus", "Breakpoints Widget Context Menu", "Debug Buttons Toolbar", "Decompiler Context Menu", "Disassembly Context Menu", "Debug Context Menu", "Manage Breakpoints Context Menu", "Patching", "Set as CodeDataString", "Set Current Bits", "Set Immediate Base", "Graph Widget Context Menu", "Patching", "Hexdump Widget Context Menu", "Information Windows Menu", "Menu Bar", "Debug Menu", "Debug -> View Menu", "Edit Menu", "File Menu", "Help Menu", "Plugins Menu", "View Menu", "Windows Menu", "Registers Widget Context Menu", "Set Table Layout", "Stack Widget Context Menu", "Syncing a Widget", "Configuration", "Analysis Options", "Initialization Script", "Layout", "Shortcuts"], "titleterms": {"16": 369, "32": 369, "64": 369, "In": 382, "Into": 376, "about": 380, "aboutdialog": 125, "abstractaddrdock": 182, "abstractdata": 183, "add": [363, 364, 366, 383], "addrdockscen": 184, "address": [363, 364, 370], "addressabledockwidget": 185, "addressablefilterproxymodel": 1, "addressableitemcontextmenu": 167, "addressableitemlist": 186, "addressableitemmod": 3, "addressableitemmodel": 2, "addrref": 78, "advanc": [363, 366, 368], "advic": [345, 347], "alphachannelbar": 202, "alreadi": 389, "an": [380, 387], "analysi": [358, 389], "analysisbaseclassdescript": 79, "analysisclassesmodel": [187, 316], "analysiscommand": 164, "analysismethoddescript": 80, "analysistask": 4, "analysisvtabledescript": 81, "analyz": 389, "anoth": [363, 364], "api": [0, 351], "appimag": 358, "arena": 82, "arenainfodialog": 126, "argument": 363, "arrow": 324, "assign": 346, "asynctask": 5, "asynctaskdialog": 127, "asynctaskmanag": 6, "attach": 376, "attachprocdialog": 128, "attribut": 316, "auto": 368, "back": 378, "backtrac": 377, "backtracewidget": 188, "bar": 375, "base": 370, "base64": 372, "base64endecodedwritedialog": 129, "basefind": 64, "basefindcorestatusdescript": 83, "basefindresultdescript": 84, "basic": 348, "basicblock": 47, "basicblockhighlight": [7, 47], "basiccursor": 317, "basicinstruct": 48, "basicinstructionhighlight": 8, "binari": 370, "binclassbaseclassdescript": 85, "binclassdescript": 86, "binclassesmodel": 189, "binclassfielddescript": 87, "binclassmethoddescript": 88, "binsmodel": 130, "bit": 369, "block": 371, "blockcont": 338, "blockdescript": 89, "blockstatist": 90, "blog": 351, "booltogggledeleg": 190, "boundari": 389, "breakpoint": [361, 363, 366, 377], "breakpointdescript": 91, "breakpointmodel": 191, "breakpointproxymodel": 192, "breakpointsdialog": 131, "breakpointwidget": 193, "browser": 374, "bufferdata": 194, "bug": 346, "bugfix": 348, "build": [342, 347, 350, 354], "button": 362, "byte": [367, 368, 372, 373], "cach": 379, "cachedfontmetr": 9, "call": [362, 376], "callgraphview": 195, "callgraphwidget": 196, "can": 351, "chang": [347, 379], "choos": 371, "chunk": 92, "clang": 347, "class": [345, 374], "classesmodel": 197, "classessortfilterproxymodel": 198, "classeswidget": 199, "clion": 347, "clone": 346, "cmake": [342, 347], "code": [345, 346, 347, 352, 363, 368, 379], "codedatastr": 368, "color": 11, "coloropt": 318, "coloroptiondeleg": 200, "colorpick": 201, "colorpickarea": 203, "colorpickerhelp": [202, 203, 204, 205, 206, 207], "colorpickerwidget": 205, "colorpickwidgetabstract": 204, "colorsettingsmodel": 208, "colorshowwidget": 206, "colorthemecombobox": 209, "colorthemelistview": 210, "colorthemework": 10, "colorvaluebar": 207, "comboquickfilterview": 211, "command": 357, "commanddescript": 49, "commandtask": 12, "comment": [363, 364, 383], "commentdescript": 93, "commentgroup": 319, "commentsdialog": 132, "commentsmodel": 212, "commentsproxymodel": 213, "commentswidget": 214, "commit": 379, "common": [63, 345, 351, 358], "compil": 346, "con": 347, "configur": [13, 347, 388], "connect": [345, 376], "consol": 383, "consolewidget": 215, "content": [354, 382], "context": [361, 363, 364, 365, 366, 371, 373, 384, 386], "continu": [362, 363, 365, 376], "contribut": [343, 346, 349, 351], "copi": [363, 364, 384], "core": 124, "counter": [363, 365], "crash": 358, "creat": [345, 352, 355, 389], "creator": 347, "cross": [363, 364], "current": [345, 346, 369], "customrichtext_t": 60, "cutter": [51, 343, 345, 346, 351, 353, 354, 358, 379], "cutterappl": 178, "cuttercommandlineopt": 180, "cuttercor": [65, 66, 345], "cutterdockwidget": 216, "cuttergraphview": 217, "cutterinterfacethem": 50, "cutterjson": [67, 69], "cutterjsonown": 68, "cutterlayout": 51, "cutterplugin": 174, "cutterproxystyl": 179, "cutterpvector": [70, 71], "cutterrzit": 72, "cutterrzlist": [73, 74], "cutterseek": 14, "cuttertreeview": 218, "cuttertreewidget": 219, "dashboard": [220, 383], "data": [352, 368], "dbgbackend": 163, "debug": [347, 362, 363, 365, 376, 377, 392], "debugact": 221, "debugg": 376, "decim": 370, "decod": 372, "decompil": [15, 359, 363, 383], "decompilercontextmenu": 168, "decompilerhighlight": 16, "decompilerwidget": 222, "decrement": 372, "default": 382, "defin": [364, 389], "definit": 368, "delet": [361, 363, 364], "depth": 389, "detect": 368, "dev": 342, "develop": [344, 345, 347, 351], "dialog": [166, 363, 366, 368, 389], "direct": 371, "directionalcombobox": 17, "disassemblergraphview": [223, 320, 321, 322, 323], "disassembli": [364, 383, 392], "disassemblyblock": 320, "disassemblycontextmenu": [169, 171, 172], "disassemblyleftpanel": [224, 324], "disassemblylin": 94, "disassemblyscrollarea": 225, "disassemblytextblockuserdata": 18, "disassemblytextedit": 226, "disassemblywidget": 227, "distribut": 342, "doc": 350, "dock": 382, "docstr": 345, "document": [344, 345, 349, 351, 356, 380], "dorenameinfo": 171, "drag": 382, "duplic": 372, "duplicatefromoffsetdialog": 133, "dword": 368, "edgeconfigur": 332, "edit": [347, 361, 363, 364, 367, 378, 386], "editfunctiondialog": 134, "editinstructiondialog": 135, "editmethoddialog": 136, "editor": 390, "editstringdialog": 137, "editvariablesdialog": 138, "emul": 376, "enabl": 379, "encod": 372, "entri": 374, "entrypointdescript": 95, "entrypointwidget": 228, "environ": 347, "error": 351, "event": 352, "export": [371, 374, 379], "exportdescript": 96, "exportsmodel": 229, "exportsproxymodel": 230, "exportswidget": 231, "fallbacksyntaxhighlight": [19, 52], "familiar": 346, "featur": [346, 359], "fetch": 352, "file": [345, 347, 379], "find": 346, "fix": 346, "flag": [364, 374], "flagdescript": 97, "flagdialog": 139, "flagsmodel": 232, "flagspacedescript": 98, "flagssortfilterproxymodel": 233, "flagswidget": 234, "flirtcontextmenu": 170, "flirtdescript": 99, "flirtmodel": 235, "flirtproxymodel": 236, "flirtwidget": 237, "follow": 389, "format": 347, "freebind": 75, "freez": 358, "from": [354, 372, 379, 389], "full": 352, "function": [345, 363, 364, 383, 389], "functiondescript": 100, "functionmodel": 238, "functionsortfilterproxymodel": 239, "functionstask": 20, "functionswidget": 240, "gener": [345, 347], "genericrizingraphview": 241, "get": [342, 346, 352, 354], "git": 345, "give": 363, "glibcheapbinsdialog": 140, "glibcheapinfodialog": 141, "glibcheapmodel": 242, "glibcheapwidget": 243, "global": [363, 392], "globaldescript": 101, "globalsmodel": 244, "globalsproxymodel": 245, "globalswidget": 246, "globalvariabledialog": 142, "go": 378, "graph": [371, 383, 392], "graphblock": 329, "graphedg": 330, "graphgridlayout": [247, 325, 326, 327, 328], "graphheapchunk": 333, "graphhorizontaladapt": 248, "graphlayout": [249, 329, 330, 331], "graphview": [250, 332], "graphvizlayout": 252, "graphwidget": 251, "gridblock": 325, "gridedg": 326, "group": 382, "guidelin": 345, "header": 374, "headerdescript": 102, "headersmodel": 253, "headersproxymodel": 254, "headerswidget": 255, "heapbinsgraphview": [256, 333], "heapdockwidget": 257, "help": [351, 354, 380], "hexadecim": 370, "hexcursor": 334, "hexdump": [373, 383], "hexdumprangedialog": 143, "hexdumpwidget": 260, "hexselect": 258, "hexwidget": [259, 335], "highdpipixmap": 21, "highlight": [22, 53, 371], "highlightingrul": [52, 53, 56], "horizont": 385, "how": 351, "immedi": 370, "import": [374, 379], "importdescript": 103, "importsmodel": 261, "importsproxymodel": 262, "importswidget": 263, "includ": 345, "increment": 372, "incrementdecrementdialog": 144, "info": 374, "inform": [346, 374, 389], "initi": [358, 390], "initialopt": 54, "initialoptionsdialog": [145, 164], "instanc": [379, 383], "instr": 321, "instruct": [363, 367, 371], "int": 58, "integr": 347, "iomodescontrol": 23, "ip": 370, "issu": [346, 358, 380], "item": [55, 339, 363], "iter": [69, 71, 74], "jmp": 389, "jump": [367, 389], "keyboard": 358, "label": 346, "layout": [358, 371, 382, 385, 391], "layoutconfig": 331, "layoutmanag": 146, "layoutst": 327, "lazysegmenttreebas": 24, "length": [368, 372], "line": [357, 363, 365], "linkedlistpool": [25, 26, 27, 55], "linux": [342, 347], "list": 26, "listdockwidget": 264, "listiter": 27, "load": 355, "local": [363, 364], "lock": 382, "long": 358, "loop": 345, "maco": 342, "main": 362, "mainwindow": 76, "make": 342, "manag": [366, 382, 391], "map": [377, 379], "mapfiledialog": 147, "mdhighlight": [28, 56], "memori": 377, "memorydata": 265, "memorydockwidget": 266, "memorymapdescript": 104, "memorymapmodel": 267, "memorymapwidget": 268, "memoryproxymodel": 269, "menu": [173, 360, 361, 363, 364, 365, 366, 371, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 386], "metric": [57, 58, 59], "mileston": 346, "minmaxaccumulatetre": 29, "mmio_lookup_context": 61, "mode": 379, "more": 346, "multitypefilesavedialog": [148, 165], "name": [363, 389], "nativedebugdialog": 149, "need": 354, "network": 370, "new": [379, 383, 389], "newfiledialog": 150, "nop": 367, "null": 372, "nullptr": 345, "octal": 370, "offset": [364, 372, 387], "omnibar": 270, "onli": 379, "open": 346, "option": [342, 357, 389], "optioninfo": 336, "organ": 346, "out": [376, 382], "output": 389, "over": 376, "overview": [355, 383], "overviewview": 271, "overviewwidget": 272, "packag": 342, "panel": 382, "patch": [367, 372], "pc": [363, 365], "pdb": 379, "per": 373, "perform": 389, "plugin": [177, 347, 352, 355, 381], "pluginmanag": [175, 176], "plugintermin": 176, "point": [328, 374], "pointer": 389, "pointsetmintre": 30, "pointsetsegmenttre": 31, "port": 370, "post": 351, "prefer": 378, "prelud": 389, "pro": 347, "procedur": 348, "process": [376, 377], "processbeinganalysedproxymodel": 151, "processdescript": 105, "processesfiltermodel": 273, "processeswidget": 274, "processmodel": 152, "processproxymodel": 153, "program": [363, 365], "progressind": 32, "project": [346, 347, 354, 379], "pull": 346, "push": 389, "python": 352, "qhelper": 62, "qreal": 59, "qt": [345, 347], "quickfilterview": 275, "quit": 379, "qword": 368, "random": 372, "rangeassignmaxtre": 33, "rawaddrdock": 276, "re": 364, "react": 352, "read": 379, "recommend": [342, 347], "redo": 378, "refdescript": 106, "refer": [0, 363, 364, 377, 384, 389], "refresh": 382, "refreshdeferr": 34, "refreshdeferreraccumul": 35, "regist": [377, 384], "registerref": 107, "registerrefdescript": 337, "registerrefmodel": 277, "registerrefproxymodel": 278, "registerrefswidget": 279, "registerrefvaluedescript": 108, "registerswidget": 280, "releas": 348, "reloc": 374, "relocdescript": 109, "relocsmodel": 281, "relocsproxymodel": 282, "relocswidget": 283, "remot": 376, "remotedebugdialog": 154, "remov": [363, 366, 368], "renam": [363, 364], "repeat": 346, "replacingrefreshdeferreraccumul": 36, "report": 380, "request": 346, "requir": [342, 350], "reset": 382, "resourc": [345, 374], "resourcesdescript": 110, "resourcesmodel": 284, "resourceswidget": 285, "ret": 389, "revers": 367, "richtextpaint": [37, 60], "rizin": 379, "rizincmdtask": 38, "rizinfunctiontask": 39, "rizingraphwidget": 286, "rizinpluginsdialog": 155, "rizintask": 40, "rizintaskdialog": 156, "row": 373, "run": [347, 379], "runscripttask": 41, "rzasmplugindescript": 111, "rzbinplugindescript": 112, "rzcorelock": 77, "rzcoreplugindescript": 113, "rzioplugindescript": 114, "save": [379, 382], "script": [379, 390], "sdb": 374, "sdbwidget": 287, "search": [378, 383, 389], "searchdescript": 115, "searchmodel": 288, "searchsortfilterproxymodel": 289, "searchwidget": 290, "section": 374, "sectiondescript": 116, "sectionsmodel": 291, "sectionsproxymodel": 292, "sectionswidget": 293, "seek": [345, 378], "seekreturn": 66, "segment": 374, "segmentdescript": 117, "segmentsmodel": 294, "segmentsproxymodel": 295, "segmentswidget": 296, "segmenttreebas": 42, "select": [335, 363], "set": [363, 364, 365, 368, 369, 370, 382, 385, 389], "settodatadialog": 157, "setup": 347, "shortcut": 392, "show": [363, 364, 374, 377, 378, 382, 383, 389], "signal": 345, "signatur": 374, "simpletextgraphview": [297, 338], "situat": 346, "sizepolicyminmax": 62, "someth": 346, "sourc": [342, 354], "specif": 342, "specul": 389, "src": 181, "stack": [377, 386], "stackmodel": [298, 339], "stackwidget": 299, "start": [352, 376], "state": 361, "statement": 389, "step": [342, 376], "string": [368, 370, 372, 383], "stringdescript": 118, "stringsmodel": 300, "stringsproxymodel": 301, "stringstask": 43, "stringswidget": 302, "structur": 364, "studio": 347, "style": 345, "sub": [374, 381], "submodul": 345, "svgiconengin": 44, "switch": 389, "symbol": 374, "symboldescript": 119, "symbolsmodel": 303, "symbolsproxymodel": 304, "symbolswidget": 305, "sync": 387, "synopsi": 357, "syscal": [362, 370, 376], "tab": 382, "tabl": [385, 389], "take": 358, "tempconfig": 45, "termin": 372, "test": 348, "text": 322, "thingusedher": 172, "thread": 377, "threadsfiltermodel": 306, "threadswidget": 307, "time": 358, "toggl": 361, "token": 323, "toolbar": 362, "top": 382, "translat": 353, "troubleshoot": [342, 351], "type": [364, 383, 389], "typedescript": [120, 165], "typesinteractiondialog": 158, "typesmodel": 308, "typessortfilterproxymodel": 309, "typeswidget": 310, "ui": [347, 358], "uncondit": 389, "undefin": 364, "unhighlight": 371, "unlock": 382, "until": [362, 363, 365, 376], "updat": 345, "updatework": 46, "us": [345, 347], "usag": 345, "user": [351, 356], "v": 347, "valu": [384, 386], "variabl": [363, 364], "variabledescript": 122, "verbos": 389, "versioninfodialog": 159, "vertic": 385, "view": [377, 382, 392], "virtualaddrdock": 314, "visual": 347, "visualnavbar": [315, 340], "vtabl": 374, "vtabledescript": 121, "vtablemodel": 311, "vtablesortfilterproxymodel": 312, "vtableswidget": 313, "wai": 342, "want": 354, "welcomedialog": 160, "when": 389, "wide": 372, "widget": [341, 345, 352, 361, 363, 364, 371, 373, 378, 383, 384, 386, 387, 392], "window": [342, 347, 374, 383], "word": 368, "work": 346, "write": [372, 379], "xrefdescript": 123, "xrefmodel": 161, "xrefsdialog": 162, "xtoaddress": 340, "you": 351, "your": 346, "zero": 372, "zoom": 382}}) \ No newline at end of file diff --git a/docs/user-docs.html b/docs/user-docs.html new file mode 100644 index 000000000..5d73e5e11 --- /dev/null +++ b/docs/user-docs.html @@ -0,0 +1,162 @@ + + + + + + + + User Documentation — Cutter 2.4.0 documentation + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+ +
+

User Documentation

+

This page contains information about the different menus in Cutter.

+

Cutter is an advanced reverse engineering platform powered by Rizin. +This user’s guide provides detailed information on how to use Cutter. +The documentation for users is still on its early stages and will be improved over time.

+ +
+ + +
+
+
+
+ + +
+
+ + + + + + + \ No newline at end of file diff --git a/docs/user-docs/command-line.html b/docs/user-docs/command-line.html new file mode 100644 index 000000000..190581f5f --- /dev/null +++ b/docs/user-docs/command-line.html @@ -0,0 +1,264 @@ + + + + + + + + Command-line Options — Cutter 2.4.0 documentation + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+ +
+

Command-line Options

+
+

Synopsis

+

Cutter [options] [<filename> | –project <project>]

+
+
+

Options

+
+
+<filename>
+

Filename to open. If not specified file selection dialog will be shown.

+
+ +
+
+-h, --help
+

Displays help on command-line options.

+
+ +
+
+--help-all
+

Displays help including Qt specific options.

+
+ +
+
+-v, --version
+

Displays version information.

+
+ +
+
+-A, --analysis <level>
+

When opening a file automatically perform analysis at a given level. Requires +<filename> to be specified. Following levels are available:

+
+
0

No analysis.

+
+
1

aaa

+
+
2

aaaa (experimental)

+
+
+
+ +
+
+-a, --arch <arch>
+

Sets a specific architecture name.

+
+ +
+
+-b, --bits <bits>
+

Sets a specific architecture bits.

+
+ +
+
+-c, --cpu <cpu>
+

Sets a specific CPU.

+
+ +
+
+-o, --os <os>
+

Sets a specific operating system.

+
+ +
+
+-e, --endian <big|little>
+

Sets the endianness (big or little).

+
+ +
+
+-F, --format <name>
+

Force using a specific file format (bin plugin).

+
+ +
+
+-B, --base <base address>
+

Load binary at a specific base address.

+
+ +
+
+-m, --map <map address>
+

Map the binary at a specific address.

+
+ +
+
+-i <file>
+

Run script file.

+
+ +
+
+-p, --project <file>
+

Load project file.

+
+ +
+
+-w, --writemode
+

Open a file in write mode, instead of the default read-only mode. +When used together with -A/–analysis <level>, it will open a file directly +in write mode without any further dialog or confirmation.

+
+ +
+
+-P, --phymode
+

Disables virtual addressing.

+
+ +
+
+--pythonhome <PYTHONHOME>
+

PYTHONHOME to use for the embedded python interpreter.

+
+ +
+
+--no-output-redirect
+

Disable output redirection. Some of the output in the console widget will not +be visible. Use this option when debugging a crash or freeze and output +redirection is causing some messages to be lost.

+
+ +
+
+--no-plugins
+

Start cutter with all plugins disabled. Implies --no-cutter-plugins and --no-rizin-plugins.

+
+ +
+
+--no-cutter-plugins
+

Start cutter with cutter plugins disabled.

+
+ +
+
+--no-rizin-plugins
+

Start cutter with rizin plugins disabled.

+
+ +
+
+ + +
+
+
+
+ + +
+
+ + + + + + + \ No newline at end of file diff --git a/docs/user-docs/common-issues.html b/docs/user-docs/common-issues.html new file mode 100644 index 000000000..314f0c1ed --- /dev/null +++ b/docs/user-docs/common-issues.html @@ -0,0 +1,139 @@ + + + + + + + + Common Issues — Cutter 2.4.0 documentation + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+ +
+

Common Issues

+

This page lists common issues encountered by users.

+
+

AppImage Crashes

+

If the Linux AppImage binary crashes upon startup, make sure your +LD_LIBRARY_PATH environment variable is empty. +For a detailed explanation, see the issue #579

+
+
+

Keyboard Layout Issue

+

Some people report that they have keyboard issues. Usually it is because +the Xorg layout is wrong. You can check it with: setxkbmap -query +Most of the time using setxkbmap us solves the issue, but it might +not be enough and require a more advanced Xorg configuration.

+
+
+

Initial Analysis takes a long time or Cutter UI freezes

+

Cutter and Rizin currently don’t work very well with large and very large binaries. +The exact limits depend on the content of the binary, but roughly a few MB can be considered large +and may take a few minutes to analyze. More than 100MB is very large, +analysis with default settings will likely take a very long time and it might occasionally +freeze the UI during usage.

+

If the analysis takes longer than 5-15 minutes it is recommended to retry it with different +analysis options. In the “Load Options” dialog, move the analysis slider to the right in order to reach +the “Advanced Analysis” view. This view will help you learn more about the options that can +be used to more selectively analyze only the relevant parts of code.

+
+
+ + +
+
+
+
+ + +
+
+ + + + + + + \ No newline at end of file diff --git a/docs/user-docs/features.html b/docs/user-docs/features.html new file mode 100644 index 000000000..4c9f775e9 --- /dev/null +++ b/docs/user-docs/features.html @@ -0,0 +1,122 @@ + + + + + + + + Features — Cutter 2.4.0 documentation + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+ +
+

Features

+

This section in the user docs gives a more detailed information about different features in Cutter. These are the different +utilities and views that can be used and controlled by you during your session. As more familiar and comfort you feel with the +different features in Cutter, the more efficient and effective you are during your reverse-engineering experience.

+
+

Decompiler

+

A decompiler is a program that will analyze binaries and attempt to create a high-level representation of the machine code in it. In other words, it tries to reconstruct the source code from which the binary was compiled in the first place.

+

Here’s an image that compares one of the decompiler Cutter supports with the Cutter’s disassembler.

+../_images/decompiler_vs_disassembly.png +

Cutter provides an interface that supports plugins of multiple decompilers including Ghidra, RetDec and JSDec. The interface receives data from the decompiler and presenting the decompiler code in a context-sensitive decompiler widget. Check the Decompilers section on our Plugins repository to know more about the decompilers we support.

+

Out of the decompiler plugins that we support, the one that’s officially maintained by the developers of Cutter is RzGhidra. Click here to learn more about the functionalities we provide in the decompiler.

+
+
+ + +
+
+
+
+ + +
+
+ + + + + + + \ No newline at end of file diff --git a/docs/user-docs/menus.html b/docs/user-docs/menus.html new file mode 100644 index 000000000..bb6f23e16 --- /dev/null +++ b/docs/user-docs/menus.html @@ -0,0 +1,378 @@ + + + + + + + + Menus — Cutter 2.4.0 documentation + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+ + + + +
+
+
+
+ + +
+
+ + + + + + + \ No newline at end of file diff --git a/docs/user-docs/menus/breakpoints-widget-context-menu.html b/docs/user-docs/menus/breakpoints-widget-context-menu.html new file mode 100644 index 000000000..20d6755ac --- /dev/null +++ b/docs/user-docs/menus/breakpoints-widget-context-menu.html @@ -0,0 +1,141 @@ + + + + + + + + Breakpoints Widget Context Menu — Cutter 2.4.0 documentation + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+ +
+

Breakpoints Widget Context Menu

+
+

Edit a Breakpoint

+

Description: Open the Advanced Breakpoint Edit dialog to edit the selected breakpoint. In this dialog, you can define a software or hardware breakpoint, use conditionals, and more.

+

Steps: Right-click on an item in the Breakpoints widget and choose Edit.

+
+
+

Toggle Breakpoint State

+

Description: Enable or disable a breakpoint, depending on its current state. An active breakpoint will be disabled, and an inactive breakpoint will be enabled.

+

Steps: Right-click on an item in the Breakpoints widget and choose Toggle breakpoint.

+

Shortcut: Space

+
+
+

Delete Breakpoint

+

Description: These options will disable and remove the selected breakpoint from the program.

+

Steps: Right-click on an item in the Breakpoints widget and choose Delete breakpoint

+

Shortcut: Del

+
+
+ + +
+
+
+
+ + +
+
+ + + + + + + \ No newline at end of file diff --git a/docs/user-docs/menus/debug-buttons-toolbar.html b/docs/user-docs/menus/debug-buttons-toolbar.html new file mode 100644 index 000000000..31c5f488d --- /dev/null +++ b/docs/user-docs/menus/debug-buttons-toolbar.html @@ -0,0 +1,139 @@ + + + + + + + + Debug Buttons Toolbar — Cutter 2.4.0 documentation + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+ +
+

Debug Buttons Toolbar

+
+

Continue until Main

+

Description: Continue the execution of the program until the Main function is reached.

+

Steps: Continue until main

+
+
+

Continue until Call

+

Description: Continue the execution of the program until a function call is reached.

+

Steps: Continue until call

+
+
+

Continue until Syscall

+

Description: Continue the execution of the program until a Syscall is reached.

+

Steps: Continue until syscall

+
+
+ + +
+
+
+
+ + +
+
+ + + + + + + \ No newline at end of file diff --git a/docs/user-docs/menus/decompiler-context-menu.html b/docs/user-docs/menus/decompiler-context-menu.html new file mode 100644 index 000000000..6f4ba60b1 --- /dev/null +++ b/docs/user-docs/menus/decompiler-context-menu.html @@ -0,0 +1,223 @@ + + + + + + + + Decompiler Context Menu — Cutter 2.4.0 documentation + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+ +
+

Decompiler Context Menu

+

The decompiler context menu is a context-sensitive menu that contains actions that are available for the position under the cursor.

+
+

Copy

+

Description: If text is selected, copy the selected text to the clipboard. If a word is highlighted, copy that word. In all other cases, copy the line under the cursor.

+

Steps: Right-click on a selected text and choose Copy

+

Shortcut: Ctrl-C

+
+
+

Copy Instruction Address

+

Description: Copy the address of the instruction mapped to the part of the code under the cursor.

+

Steps: Right-click on the portion of code for which you want the instruction’s address and choose Copy instruction address (<address>)

+
+
+

Copy Address of Reference

+

Description: Copy the address of the reference under the cursor. References include functions, global variables, and constant variables with an address.

+

Steps: Right-click on a reference and choose Copy  address [of <name>] (<address>)

+

Shortcut: Ctrl-Shift-C

+
+
+

Show the code in another widget

+

Description: Show the code under the cursor in another opened widget, or open a new one. If a non-decompiler widget is chosen, the address mapped to the portion of code under the cursor will be opened in that widget.

+

Steps: Right-click on an item and go to the Show in submenu. You can choose a widget or open a new widget from here.

+
+
+

Show the selected item in another widget

+

Description: Show the selected item in another opened widget, or open a new one. Items include functions, global variables, and constant variables under the cursor.

+

Steps: Right-click on an item and go to the submenu Show <item> in or <function name> (<address>). You can choose a widget or open a new widget from here.

+
+
+

Add and Edit Comment

+

Description: Add a comment for the line of code under the cursor or edit the comment under the cursor. The Edit comment option is only available for user-defined comments.

+

Steps: Right-click and choose Add Comment or Edit Comment.

+

Shortcut: ;

+
+
+

Delete a Comment

+

Description: Delete the comment under the cursor. If a comment doesn’t exist under the cursor, delete the comment at the offset mapped to the portion of code under the cursor.

+

Steps: Right-click on an instruction with a user-defined comment and choose Delete comment

+
+
+

Rename function

+

Description: Rename a function under the cursor.

+

Steps: Right-click on a function name and choose Rename function <name>

+

Shortcut: N

+
+
+

Give a name or rename global variables

+

Description: Give a name or rename the global variable under the cursor.

+

Steps: Right-click the global variable and choose Add name to <address of global variable> or Rename <name>.

+

Shortcut: N

+
+
+

Delete the name of a global variable

+

Description: Delete the name of the global variable under the cursor.

+

Steps: Right-click on a global variable and choose Remove <name>.

+
+
+

Rename Function Variable

+

Description: Rename local variables and arguments in the decompiled function. Note that this option is available only for function variables defined in the disassembly.

+

Steps: Right-click on a variable and choose Rename variable <name>.

+

Shortcut: N

+
+
+

Edit Local Variables and Arguments

+

Description: Rename or set the types of the function’s variables and arguments. Note that this option is available only for function variables and arguments defined in the disassembly.

+

Steps: Right-click on a variable and choose Edit variable <name>.

+

Shortcut: Y

+
+
+

Show Cross References

+

Description: Show X-Refs to the reference under the cursor. This option will open Cutter’s X-Refs dialog in which you will be able to see a list of X-Refs from and to the address of the reference. You can also see a preview of each cross-reference to quickly inspect the different usages. Note that references refer to function names, global variables, and constant variables with an address.

+

Steps: Right-click on a reference and choose Show X-Refs

+

Shortcut: X

+
+
+
+

Debug Context Menu

+
+

Add or Remove Breakpoint

+

Description: Add a breakpoint at the earliest offset in the line under the cursor. If you use the keyboard shortcut to remove a breakpoint, all the breakpoints defined in the line will be removed.

+

Steps: Right-click on a line of code and choose Breakpoint ‣ Add breakpoint or Breakpoint ‣ Remove breakpoint.

+

Shortcut: F2

+
+
+

Advanced Breakpoint Dialog

+

Description: Open the advanced breakpoint dialog. This dialog lets you define not only a regular breakpoint in this address, but also a hardware breakpoint, a conditional breakpoint, and more.

+

Steps: Right-click on a line of code and choose Breakpoint ‣ Advanced breakpoint. If multiple breakpoints are present in the line, you will be able choose the breakpoint you want to edit from the Edit breakpoint submenu.

+

Shortcut: Ctrl-F2

+
+
+

Continue Until Line

+

Description: Continue the execution of the program until it reaches the offset in the selected line. The program is not guaranteed to ever reach this address and will keep running until exited or until reached another breakpoint. If other breakpoints hit before reaching this line, they will be triggered and pause the execution. This option is only available on Debug or Emulation modes.

+

Steps: While in Debug or Emulation modes, right-click on a line of code and choose Debug ‣ Continue until line.

+
+
+

Set Program Counter (PC)

+

Description: Set the Program Counter of the debugger to the current offset. For example, on an Intel 64bit program, Cutter will set the value of the RIP register to the current address. This option is only available on Debug or Emulation modes.

+

Steps: While in Debug or Emulation modes, right-click on a line of code and choose Debug ‣ Set PC.

+
+
+ + +
+
+
+
+ + +
+
+ + + + + + + \ No newline at end of file diff --git a/docs/user-docs/menus/disassembly-context-menu.html b/docs/user-docs/menus/disassembly-context-menu.html new file mode 100644 index 000000000..7143bcace --- /dev/null +++ b/docs/user-docs/menus/disassembly-context-menu.html @@ -0,0 +1,214 @@ + + + + + + + + Disassembly Context Menu — Cutter 2.4.0 documentation + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+ +
+

Disassembly Context Menu

+ +

The Disassembly context menu contains actions that operate with selected instruction in disassembly and graph widgets.

+
+

Copy

+

Description: Copy the selected text.

+

Steps: Right-click on a selected text and choose Copy

+

Shortcut: Ctrl + C

+
+
+

Copy Address

+

Description: Copy the address of the location under the cursor.

+

Steps: Right-click on a location and choose Copy address

+

Shortcut: Ctrl + Shift + C

+
+
+

Show address in another widget

+

Description: Show the selected address or item in another opened widget, or open a new one.

+

Steps: Right-click on an address or an item in instruction and choose the Show in sub-menu

+
+
+

Add Comment

+

Description: Add a comment in the current location.

+

Steps: Right-click an address and choose Add Comment.

+

Shortcut: ;

+
+
+

Add Flag

+

Description: Add a flag to the selected item or location by bookmarking and giving it a name.

+

Steps: Right-click an address or item and choose Add Flag. This will open the Flag dialog in which you can name the location.

+
+
+

Rename

+

Description: Rename the flag, function or local variable at current location. If empty, remove the currently associated name.

+

Steps: Right-click an address or item and choose Rename

+

Shortcut: N

+
+
+

Edit Function

+

Description: Open the Function edit dialog in which you can define the name of the function, its start address, stack size, calling convention, and more.

+

Steps: Right-click on a location inside a function and choose Edit function.

+

Shortcut: Shift + P

+
+
+

Re-type Local Variables

+

Description: Rename or set the types of the function’s variables and arguments.

+

Steps: Right-click anywhere inside a function and then choose Re-type Local Variables.

+

Shortcut: Y

+
+
+

Delete a Comment

+

Description: Delete the comment at the current address. This option only available for addresses with user-defined comments.

+

Steps: Right-click on an instruction with a user-defined comment and choose Delete comment

+
+
+

Delete a Flag

+

Description: Delete the flag at the current location.

+

Steps: Right-click on a location with a flag and choose Delete flag.

+
+
+

Undefine a Function

+

Description: Undefine the current function. This will remove the function and its associated meta-data. You can always re-define the function, but every change that was made to the previously defined function (e.g variable renaming) would not be restored.

+

Steps: Right-Click on the name of the function and choose Undefine function.

+

Shortcut: U

+
+
+

Define a function

+

Description: Define a function starting from the current location. Cutter will automatically guess the size of the function. This can later be changed using the function editor.

+

Steps: Right-click on an instruction and choose Define function here.

+

Shortcut: P

+
+
+

Set Structure Offset

+

Description: Present the current value is an offset in a structure.

+

Steps: -> Structure offset

+
+
+

Show Cross References

+

Description: Show X-Refs from and to the specific location. This option will open Cutter’s X-Refs dialog in which you will be able to see a list of X-Refs from and to the selected location, in addition to a preview of each cross-reference to quickly inspect the different usages.

+

Steps: Right-click on an instruction and choose Show X-Refs

+

Shortcut: X

+
+
+ + +
+
+
+
+ + +
+
+ + + + + + + \ No newline at end of file diff --git a/docs/user-docs/menus/disassembly-context-menu/debug-context-menu.html b/docs/user-docs/menus/disassembly-context-menu/debug-context-menu.html new file mode 100644 index 000000000..43e47e49c --- /dev/null +++ b/docs/user-docs/menus/disassembly-context-menu/debug-context-menu.html @@ -0,0 +1,135 @@ + + + + + + + + Debug Context Menu — Cutter 2.4.0 documentation + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+ +
+

Debug Context Menu

+
+

Continue Until Line

+

Description: Continue the execution of the program until reached the selected offset. The program is not guaranteed to ever reach this address and will keep running until exited or until reached another breakpoint. If other breakpoints hit before reaching this line, they will be triggered and pause the execution. This option is only available on Debug or Emulation modes.

+

Steps: While in Debug or Emulation modes, right-click and address and choose Debug -> Continue until line.

+
+
+

Set Program Counter (PC)

+

Description: Set the Program Counter of the debuggee to the current offset. For example, on an Intel 64bit program, Cutter will set the value of the RIP register to the current address. This option is only available on Debug or Emulation modes.

+

Steps: While in Debug or Emulation modes, right-click and address and choose Debug -> Set PC.

+
+
+ + +
+
+
+
+ + +
+
+ + + + + + + \ No newline at end of file diff --git a/docs/user-docs/menus/disassembly-context-menu/manage-breakpoints-context-menu.html b/docs/user-docs/menus/disassembly-context-menu/manage-breakpoints-context-menu.html new file mode 100644 index 000000000..6bc917272 --- /dev/null +++ b/docs/user-docs/menus/disassembly-context-menu/manage-breakpoints-context-menu.html @@ -0,0 +1,137 @@ + + + + + + + + Manage Breakpoints Context Menu — Cutter 2.4.0 documentation + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+ +
+

Manage Breakpoints Context Menu

+
+

Add or Remove a Breakpoint

+

Description: Add a breakpoint at the current address. If a breakpoint already exists, Cutter will remove it.

+

Steps: Right-click on an instruction and choose Breakpoint -> Add/remove breakpoint

+

Shortcut: F2

+
+
+

Advanced Breakpoint Dialog

+

Description: Open the advanced breakpoint dialog. This dialog lets you define not only a regular breakpoint in this address, but also a Hardware breakpoint, a conditional breakpoint, and more.

+

Steps: Right-click on an instruction and choose Breakpoint -> Advanced breakpoint.

+

Shortcut: Ctrl + F2

+
+
+ + +
+
+
+
+ + +
+
+ + + + + + + \ No newline at end of file diff --git a/docs/user-docs/menus/disassembly-context-menu/patching.html b/docs/user-docs/menus/disassembly-context-menu/patching.html new file mode 100644 index 000000000..66e3508f4 --- /dev/null +++ b/docs/user-docs/menus/disassembly-context-menu/patching.html @@ -0,0 +1,145 @@ + + + + + + + + Patching — Cutter 2.4.0 documentation + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+ +
+

Patching

+
+

Edit Instruction

+

Description: Edit the current instruction by typing a sequence of one or more instructions. Cutter will automatically fetch a preview of the bytes that are constructing the instruction.

+

Steps: Right-click on an instruction and choose Edit -> Instruction

+
+
+

Edit Bytes

+

Description: Edit the bytes of the current instruction by typing a sequence of bytes. Cutter will automatically disassemble a preview of the instructions that are create by the typed bytes.

+

Steps: Right-click on an instruction and choose Edit -> Bytes

+
+
+

NOP Instruction

+

Description: Fill the content of the instruction with NOP instructions. Cutter will fill the instructions with NOP as the length of the bytes constructing the instruction.

+

Steps: Right-click on an instruction and choose Edit -> Nop Instruction

+
+
+

Reverse Jump

+

Description: On conditional jumps, Cutter will detect the inverted conditional instruction and will replace it. For example, from je to jne.

+

Steps: Right-click on an instruction and choose Edit -> Reverse Jump

+
+
+ + +
+
+
+
+ + +
+
+ + + + + + + \ No newline at end of file diff --git a/docs/user-docs/menus/disassembly-context-menu/set-as-code-data-string.html b/docs/user-docs/menus/disassembly-context-menu/set-as-code-data-string.html new file mode 100644 index 000000000..464439c01 --- /dev/null +++ b/docs/user-docs/menus/disassembly-context-menu/set-as-code-data-string.html @@ -0,0 +1,173 @@ + + + + + + + + Set as CodeDataString — Cutter 2.4.0 documentation + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+ +
+

Set as CodeDataString

+
+

Set as Code

+

Description: Set the current instruction to Code. This will force Cutter to display the current instruction as Code.

+

Steps: Set as… -> Code

+

Shortcut: C

+
+
+

Set as String (auto-detect length)

+

Description: Set the current location to String. This will tell Cutter to treat the current address as a string and will auto-detect the length (e.g by looking for a string null-terminator).

+

Steps: Right click on an instruction and choose Set as... -> String... -> Auto-detect

+

Shortcut: A

+
+
+

Remove string definition

+

Description: Remove a defined string in this address. Cutter will then treat this location as a code.

+

Steps: Right click on an instruction and choose Set as... -> String... -> Remove.

+
+
+

Set as String (Advance dialog)

+

Description: Set the current location to String. This will open a String definition dialog in which the user will supply the length and the type (ASCII, UTF8, …) of the string. Cutter will then treat the current address as the defined string.

+

Steps: Right click on an instruction and choose Set as... -> String... -> Advanced.

+
+
+

Set as data (bytes)

+

Description: Convert the instruction to data of Bytes.

+

Steps: Right click on an instruction and choose Set as... -> Data... -> Byte

+
+
+

Set as data (Word)

+

Description: Convert the instruction to data of Words.

+

Steps: Right click on an instruction and choose Set as... -> Data... -> Word

+
+
+

Set as data (Dword)

+

Description: Convert the instruction to data of Dwords.

+

Steps: Right click on an instruction and choose Set as... -> Data... -> Dword

+
+
+

Set as data (Qword)

+

Description: Convert the instruction to data of Qwords.

+

Steps: Right click on an instruction and choose Set as... -> Data... -> Qword

+
+
+

Set as data (Advanced)

+

Description: Open an advanced dialog to define the custom data type of the current instruction.

+

Steps: Right click on an instruction and choose Set as... -> Data... -> ...

+

Shortcut: *

+
+
+ + +
+
+
+
+ + +
+
+ + + + + + + \ No newline at end of file diff --git a/docs/user-docs/menus/disassembly-context-menu/set-current-bits.html b/docs/user-docs/menus/disassembly-context-menu/set-current-bits.html new file mode 100644 index 000000000..93222692d --- /dev/null +++ b/docs/user-docs/menus/disassembly-context-menu/set-current-bits.html @@ -0,0 +1,140 @@ + + + + + + + + Set Current Bits — Cutter 2.4.0 documentation + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+ +
+

Set Current Bits

+
+

Set Current Bits to 16

+

Description: Set the current instruction to 16-bit.

+

Steps: Right-click on an instruction and choose Set current bits to... -> 16

+
+
+

Set Current Bits to 32

+

Description: Set the current instruction to 32-bit.

+

Steps: Right-click on an instruction and choose Set current bits to... -> 32

+
+
+

Set Current Bits to 64

+

Description: Set the current instruction to 64-bit.

+

Steps: Right-click on an instruction and choose Set current bits to... -> 64

+
+
+ + +
+
+
+
+ + +
+
+ + + + + + + \ No newline at end of file diff --git a/docs/user-docs/menus/disassembly-context-menu/set-immediate-base.html b/docs/user-docs/menus/disassembly-context-menu/set-immediate-base.html new file mode 100644 index 000000000..b4d13db59 --- /dev/null +++ b/docs/user-docs/menus/disassembly-context-menu/set-immediate-base.html @@ -0,0 +1,165 @@ + + + + + + + + Set Immediate Base — Cutter 2.4.0 documentation + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+ +
+

Set Immediate Base

+
+

Set Immediate Base to Binary

+

Description: Set the immediate value of the operand to a Binary representation.

+

Steps: Right-click on an immediate base of instruction and choose Set Immediate Base to... -> Binary

+
+
+

Set Immediate Base to Octal

+

Description: Set the immediate value of the operand to an Octal representation.

+

Steps: Right-click on an immediate base of instruction and choose Set Immediate Base to... -> Octal

+
+
+

Set Immediate Base to Decimal

+

Description: Set the immediate value of the operand to a Decimal representation.

+

Steps: Right-click on an immediate base of instruction and choose Set Immediate Base to... -> Decimal

+
+
+

Set Immediate Base to Hexadecimal

+

Description: Set the immediate value of the operand to Hexadecimal.

+

Steps: Right-click on an immediate base of instruction and choose Set Immediate Base to... -> Hexadecimal

+
+
+

Set Immediate Base to Network Port

+

Description: Set the immediate value of the operand to a Network Port

+

Steps: Right-click on an immediate base of instruction and choose Set Immediate Base to... -> Network Port

+
+
+

Set Immediate Base to IP Address

+

Description: Set the immediate value of the operand to an IP Address

+

Steps: Right-click on an immediate base of instruction and choose Set Immediate Base to... -> IP Address

+
+
+

Set Immediate Base to Syscall

+

Description: Set the immediate value of the operand to Syscall

+

Steps: Right-click on an immediate base of instruction and choose Set Immediate Base to... -> Syscall

+
+
+

Set Immediate Base to String

+

Description: Set the immediate value of the operand to String

+

Steps: Right-click on an immediate base of instruction and choose Set Immediate Base to... -> String

+
+
+ + +
+
+
+
+ + +
+
+ + + + + + + \ No newline at end of file diff --git a/docs/user-docs/menus/graph-widget-context-menu.html b/docs/user-docs/menus/graph-widget-context-menu.html new file mode 100644 index 000000000..611c84fd4 --- /dev/null +++ b/docs/user-docs/menus/graph-widget-context-menu.html @@ -0,0 +1,190 @@ + + + + + + + + Graph Widget Context Menu — Cutter 2.4.0 documentation + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+ +
+

Graph Widget Context Menu

+
+

Highlight Block

+

Description: Open the Color Picker dialog to set a background color for the selected block in the Graph view.

+

Steps: Right-click on a nodeblock in the Graph view and choose Highlight block.

+
+
+

UnHighlight Block

+

Description: If a block in the Graph view is highlighted, this option will unhighlight it and restore the original color.

+

Steps: Right-click on a highlighted nodeblock in the Graph view and choose Unhighlight block.

+
+
+

Highlight Instruction

+

Description: Open the Color Picker dialog to set a background color for the selected instruction in the Graph view.

+

Steps: Right-click on an instruction in the Graph view and choose Highlight instruction.

+
+
+

UnHighlight Instruction

+

Description: If an instruction in the Graph view is highlighted, this option will unhighlight it and restore the original color.

+

Steps: Right-click on a highlighted instruction in the Graph view and choose Unhighlight instruction.

+
+
+

Export Graph

+
+
Description: Export the current graph to one of the following formats:
    +
  • PNG Image

  • +
  • JPEG Image

  • +
  • SVG Image

  • +
+
+
When Graphviz is installed, the following options are also available:
    +
  • Graphviz PostScript File

  • +
  • Graphviz Dot File

  • +
  • Graphviz JSON File

  • +
  • Graphviz Gif Image

  • +
  • Graphviz PNG Image

  • +
  • Graphviz JPG Image

  • +
  • Graphviz SVG Image

  • +
+
+
+

Steps: Right-click anywhere on the Graph view and choose Export Graph.

+
+
+

Graph Layout Direction

+

Description: Graph layout direction can be either vertical top to bottom or horizontal left to right.

+

Steps: Right-click anywhere on the Graph view Layout -> Horizontal.

+
+
+

Choose Graph Layout

+

Description: Choose the layout to be used by Cutter to display the Graph. Cutter supports the following Graph layout algorithms:

+
+
    +
  • Grid narrow

  • +
  • Grid medium

  • +
  • Grid wide

  • +
+
+

When Graphviz is installed, the following options are also available:

+
+
    +
  • Graphviz polyline

  • +
  • Graphviz ortho

  • +
+
+

Steps: Right-click anywhere on the Graph view and choose a layout from the Layout sub-menu.

+
+
+ + +
+
+
+
+ + +
+
+ + + + + + + \ No newline at end of file diff --git a/docs/user-docs/menus/hexdump-context-menu/patching.html b/docs/user-docs/menus/hexdump-context-menu/patching.html new file mode 100644 index 000000000..24bc913fe --- /dev/null +++ b/docs/user-docs/menus/hexdump-context-menu/patching.html @@ -0,0 +1,170 @@ + + + + + + + + Patching — Cutter 2.4.0 documentation + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+ +
+

Patching

+
+

Write String

+

Description: Write ASCII string at the current location. If multiple bytes are selected, the string will be written from the start of the selection. Please note, this item won’t write a null-terminated nor wide string. Please see the other items for these features.

+

Steps: Right-click on a byte and select Edit -> Write string

+
+
+

Write Length and String

+

Description: Write a length prefix followed by ASCII string at the current location. If multiple bytes are selected, the string will be written from the start of the selection. Please note, although similar to BSTR in its concept, this item would not add a null terminator WCHAR at the end of the string.

+

Steps: Right-click on a byte and select Edit -> Write length and string

+
+
+

Write Wide String

+

Description: Write null-terminated wide string at the current location. If multiple bytes are selected, the string will be written from the start of the selection.

+

Steps: Right-click on a byte and select Edit -> Write wide string

+
+
+

Write Null-Terminated String

+

Description: Write a null-terminated ASCII string at the current location. If multiple bytes are selected, the string will be written from the start of the selection.

+

Steps: Right-click on a byte and select Edit -> Write zero terminated string

+
+
+

Write Encoded\Decoded Base64 String

+

Description: Write an encoded or decoded base64 string at the current location. If multiple bytes are selected, the string will be written from the start of the selection.

+

Steps: Right-click on a byte and select Edit -> Write De\Encoded Base64 string . On the dialog that will open choose whether you want to encode a string or decode one.

+
+
+

Write Zeroes

+

Description: Write null-bytes at the current location. The number of null-bytes is specified by the user. If multiple bytes are selected, the null-bytes will be written from the start of the selection.

+

Steps: Right-click on a byte and select Edit -> Write zeroes. On the dialog that will open, specify how many null-bytes you’d like to write.

+
+
+

Write Random Bytes

+

Description: Write random bytes at the current location. The number of bytes is specified by the user. If multiple bytes are selected, the null-bytes will be written from the start of the selection.

+

Steps: Right-click on a byte and select Edit -> Write random bytes. On the dialog that will open, specify how many bytes you’d like to write.

+
+
+

Duplicate Bytes From Offset

+

Description: Duplicate N bytes from an offset to the current location. The number of bytes to duplicated and the offset of origin are specified by the user. If multiple bytes are selected, the bytes will be written from the start of the selection. A preview pane will display the bytes to be copied.

+

Steps: Right-click on a byte and select Edit -> Duplicate from offset. On the dialog that will open, specify the offset from which to copy, and how many bytes to copy.

+
+
+

Increment/Decrement Bytes

+

Description: Increment or decrement Byte, Word, Dword or Qword at the current location. The value to add or subtract from the location is specified by the user. If multiple bytes are selected, the function will apply on the start of the selection.

+

Steps: Right-click on a byte and select Edit -> Increment/Decrement. On the dialog that will open, specify if you’d like to modify a Byte, Word, Dword or Qword, choose the value of the operation, and choose whether you want to increment or decrement.

+
+
+ + +
+
+
+
+ + +
+
+ + + + + + + \ No newline at end of file diff --git a/docs/user-docs/menus/hexdump-widget-context-menu.html b/docs/user-docs/menus/hexdump-widget-context-menu.html new file mode 100644 index 000000000..df447ca00 --- /dev/null +++ b/docs/user-docs/menus/hexdump-widget-context-menu.html @@ -0,0 +1,145 @@ + + + + + + + + Hexdump Widget Context Menu — Cutter 2.4.0 documentation + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+ +
+

Hexdump Widget Context Menu

+
+ +
+
+

Bytes Per Row

+

Description: Select how many bytes should be displayed by Cutter in each row in the Hexdump widget.

+
+
Available options are:
    +
  • 1 byte

  • +
  • 2 bytes

  • +
  • 4 bytes

  • +
  • 8 bytes

  • +
  • 16 bytes

  • +
  • 32 bytes

  • +
  • Power of 2 (Auto)

  • +
+
+
+
+
+ + +
+
+
+
+ + +
+
+ + + + + + + \ No newline at end of file diff --git a/docs/user-docs/menus/information-windows-menu.html b/docs/user-docs/menus/information-windows-menu.html new file mode 100644 index 000000000..d448b0bfb --- /dev/null +++ b/docs/user-docs/menus/information-windows-menu.html @@ -0,0 +1,201 @@ + + + + + + + + Information Windows Menu — Cutter 2.4.0 documentation + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+ +
+

Information Windows Menu

+
+

Info sub-menu

+

Description: This is a sub-menu of the Windows menu. It contains a list of available widgets to get more information about the opened binary.

+

Steps: Windows -> Info…

+
+
+

Show Classes

+

Description: List the classes that were detected in the binary.

+

Steps: Windows -> Info… -> Classes

+
+
+

Show Entry Points

+

Description: List the entry points of the binary

+

Steps: Windows -> Info… -> Entry Points

+
+
+

Show Exports

+

Description: Show a list of exported functions in the binary.

+

Steps: Windows -> Info… -> Exports

+

Shortcut: Shift + E

+
+
+

Show Flags

+

Description: Show the Flags widget. Flags are conceptually similar to bookmarks. They associate a name with a given offset in a file. Function names, strings, and more are considered flags.

+

Steps: Windows -> Info… -> Flags

+
+
+

Show Headers

+

Description: Show the Headers widget, displaying information about the opened file headers.

+

Steps: Windows -> Info… -> Headers

+
+
+

Show Imports

+

Description: Show the Imports widget with a list of all the imported functions required by the binary.

+

Steps: Windows -> Info… -> Imports

+

Shortcut: Shift + I

+
+
+

Show Relocations

+

Description: Show the Relocations widget, displaying a list of relocation information.

+

Steps: Windows -> Info… -> Relocs

+
+
+

Show Resources

+

Description: Show the resources widget, which contains a list of the resources inside the binary.

+

Steps: Windows -> Info… -> Resources

+
+
+

Show SDB Browser

+

Description: Show the SDB browser widget.

+

Steps: Windows -> Info… -> SDB Browser

+
+
+

Show Sections

+

Description: Show the Sections widget which contains a list of all the sections found in the binary. The view also contains a nice visualization of raw and virtual memory layout.

+

Steps: Windows -> Info… -> Sections

+
+
+

Show Segments

+

Description: Show the Segments widget with a list of the binary segments.

+

Steps: Windows -> Info… -> Segments

+
+
+

Show Symbols

+

Description: Show the Symbols widget, with a list of symbol information from the binary, such as function names, and more.

+

Steps: Windows -> Info… -> Symbols

+
+
+

Show VTables

+

Description: Show the VTables widget, which contains information about the Virtual Tables found in the binary.

+

Steps: Windows -> Info… -> VTables

+
+
+

Show Signatures

+

Description: Cutter supports the creation and the utilization of signatures. This widget lists all the signatures available to cutter.

+

Steps: Windows -> Info… -> Signatures

+
+
+ + +
+
+
+
+ + +
+
+ + + + + + + \ No newline at end of file diff --git a/docs/user-docs/menus/menu-bar.html b/docs/user-docs/menus/menu-bar.html new file mode 100644 index 000000000..4bbbf6425 --- /dev/null +++ b/docs/user-docs/menus/menu-bar.html @@ -0,0 +1,217 @@ + + + + + + + + Menu Bar — Cutter 2.4.0 documentation + + + + + + + + + + + + + + + + + + + + + + + +
+ + + +
+
+ + + + + + + \ No newline at end of file diff --git a/docs/user-docs/menus/menu-bar/debug-menu.html b/docs/user-docs/menus/menu-bar/debug-menu.html new file mode 100644 index 000000000..2d4ece571 --- /dev/null +++ b/docs/user-docs/menus/menu-bar/debug-menu.html @@ -0,0 +1,180 @@ + + + + + + + + Debug Menu — Cutter 2.4.0 documentation + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+ +
+

Debug Menu

+
+

Start Debugging

+

Description: Start the debugging session of the current loaded binary.

+

Steps: Debug -> Start debug

+

Shortcut: F9

+
+
+

Start Emulation

+

Description: Start an emulation session on the current loaded binary. Cutter supports emulation of different file formats. Unlike debugging, emulation isn’t really executing the binary, but only emulating the instructions. This is very strong feature for analysis of self-contained functions or programs, to analyze cryptographic algorithms or to deobfuscate data. Emulation isn’t limited by the running platform, so Linux files such as ELF can be emulated on Windows platforms, and DLL can be emulated on Linux.

+

Steps: Debug -> Start emulation

+
+
+

Attach to Process

+

Description: Attach Cutter’s debugger to a running process, instead of spawning a new process.

+

Steps: Debug -> Attach to process

+
+
+

Connect to a Remote Debugger

+

Description: Connect Cutter to a remote debugger such as GDB ot WinDbg by providing IP and Port of the remote debugger..

+

Steps: Debug -> Connect to a remote debugger

+
+
+

Step Into

+

Description: Execute a single assembler instruction, stepping into functions and loops.

+

Steps: Debug -> Step

+

Shortcut: F7

+
+
+

Step Over

+

Description: Execute a single assembler instruction, stepping over functions and procedures. The functions will not be skipped and will be executed by Cutter. The execution will pause when reaching the instruction after the function call.

+

Steps: Debug -> Step over

+

Shortcut: F8

+
+
+

Step Out

+

Description: Execute the code and suspends execution when the current function returns

+

Steps: Debug -> Step out

+

Shortcut: Ctrl + F8

+
+
+

Continue

+

Description: Continue the execution of the running program. The execution will stop when reached a breakpoint, when manually suspended by the user, or when the running program quits.

+

Steps: Debug -> Continue

+

Shortcut: F5

+
+
+

Continue Until Call

+

Description: Continue the execution of the program until a function call is reached.

+

Steps: Debug -> Continue until call

+
+
+

Continue Until Syscall

+

Description: Continue the execution of the program until a Syscall is reached.

+

Steps: Debug -> Continue until syscall

+
+
+ + +
+
+
+
+ + +
+
+ + + + + + + \ No newline at end of file diff --git a/docs/user-docs/menus/menu-bar/debug-view-menu.html b/docs/user-docs/menus/menu-bar/debug-view-menu.html new file mode 100644 index 000000000..7e7095acb --- /dev/null +++ b/docs/user-docs/menus/menu-bar/debug-view-menu.html @@ -0,0 +1,172 @@ + + + + + + + + Debug -> View Menu — Cutter 2.4.0 documentation + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+ +
+

Debug -> View Menu

+
+

Show Backtrace

+

Description: Display the Backtrace window. +*Note: This view only available on Debug mode.*

+

Steps: Debug -> View -> Backtrace

+
+
+

Show Breakpoints

+

Description: Show the Breakpoints widget in which you can list, manage, add, remove and define breakpoints.

+

Steps: Debug -> View -> Breakpoints

+
+
+

Show Threads

+

Description: List the threads of the running application. +*Note: This view only available on Debug mode.*

+

Steps: Debug -> View -> Threads

+
+
+

Show Processes

+

Description: The processes widget shows all the child processes and allows the user to switch between them. This is useful feature for kernel debugging or for following forks. +*Note: This view only available on Debug mode.*

+

Steps: Debug -> View -> Processes

+
+
+

Show Memory Map

+

Description: Show the Memory Map widget which shows the mapped memory pages of the running process. Including mapped memory of loaded libraries and dynamically allocated maps. +*Note: This view only available on Debug mode.*

+

Steps: Debug -> View -> Memory map

+
+
+

Show Registers

+

Description: Show the Registers widget with information of the registers and their value of the running process. The widget allows not only to view registers and flags, but also to manipulate and modify them. +*Note: This view only available on Debug mode.*

+

Steps: Debug -> View -> Registers

+
+
+

Show Register References

+

Description: The Register References widget is an extended view of the Register widget which allows you to “telescope”, dereference, the register values in multiple depths. +*Note: This view only available on Debug mode.*

+

Steps: Debug -> View -> Register References

+
+
+

Show Stack

+

Description: Show the Stack widget, listing the stack values and structure of the running process. +*Note: This view only available on Debug mode.*

+

Steps: Debug -> View -> Stack

+
+
+ + +
+
+
+
+ + +
+
+ + + + + + + \ No newline at end of file diff --git a/docs/user-docs/menus/menu-bar/edit-menu.html b/docs/user-docs/menus/menu-bar/edit-menu.html new file mode 100644 index 000000000..e644a2f3c --- /dev/null +++ b/docs/user-docs/menus/menu-bar/edit-menu.html @@ -0,0 +1,147 @@ + + + + + + + + Edit Menu — Cutter 2.4.0 documentation + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+ +
+

Edit Menu

+
+

Show Search Widget

+

Description: Show the Search widget

+

Steps: Edit -> Search

+
+
+

Go Back

+

Description: Seek backward to your previous location.

+

Steps: Edit -> Undo Seek

+

Shortcut: Alt + Left

+
+
+

Redo Seek

+

Description: Seek forward a location.

+

Steps: Edit -> Redo Seek

+

Shortcut: Alt + Right

+
+
+

Preferences

+

Description: Open the preferences dialog to access and define Cutter’s configurations.

+

Steps: Edit -> Preferences

+
+
+ + +
+
+
+
+ + +
+
+ + + + + + + \ No newline at end of file diff --git a/docs/user-docs/menus/menu-bar/file-menu.html b/docs/user-docs/menus/menu-bar/file-menu.html new file mode 100644 index 000000000..008046dc2 --- /dev/null +++ b/docs/user-docs/menus/menu-bar/file-menu.html @@ -0,0 +1,198 @@ + + + + + + + + File Menu — Cutter 2.4.0 documentation + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+ +
+

File Menu

+
+

New Instance of Cutter

+

Description: Open a new instance of Cutter to start a new session. This option will open a new window of Cutter without exiting the current session.

+

Steps: File -> New Window

+

Shortcut: Ctrl + N

+
+
+

Map a New File

+

Description: Cutter allows you to map the contents of other files into the same I/O space used to contain the loaded binary. The new contents can be placed at random or specific offsets. +Specifically, Cutter is able to open files and map portions of them at random or specific places in memory. It is the perfect basic tooling to reproduce an environment like a core file, a debug session, or a framework by also loading and mapping all the libraries and files the binary depends on.

+

Steps: File -> Map File

+

Shortcut: Ctrl + M

+
+
+

Import a PDB File

+

Description: Cutter allows you to load additional debugging information by loading external PDB files. Unlike other platforms, Cutter does not rely on Windows API to parse a PDB files, thus they can be loaded on any other supported platform like Linux or macOS.

+

Steps: File -> Import PDB

+
+
+

Enable Write Mode

+

Description: This option will enable Write mode and allow you to patch and edit the binary on disk. Please note that when Write mode is enabled, each change you make to the binary in Cutter will be applied to the original file on disk. In order not to take unnecessary risks, consider using Cache mode instead.

+

Steps: File -> Set mode -> Write mode

+
+
+

Enable Cache Mode

+

Description: This option will enable Cache mode and allow you to patch and edit the binary without applying the changes to the file on disk. Unlike in Write mode, in Cache mode, the changes you make to the binary in Cutter will not be applied to the original file on disk unless you specifically committing them using the “Commit changes” menu item. This is safer than using Write mode because there is no risk to lose important data.

+

Steps: File -> Set mode -> Cache mode

+
+
+

Enable Read-Only Mode

+

Description: This option is available when files are opened in Write or Cache modes. When Read-Only mode is enabled, no patches and editions to the file are allowed. This is the default mode for files in Cutter, unless specified otherwise by the user, by either enabling Write or Cache mode.

+

Steps: File -> Set mode -> Read-Only mode

+
+
+

Commit Changes from Cache

+

Description: Apply the changes performed in Cache mode to the file on disk. Cache mode will not apply the changes and patches made unless the user clicks “Commit changes”. To automatically apply every change to the file on disk, use the less-safer Write mode.

+

Steps: File -> Commit changes

+
+
+

Save Project

+

Description: Save your session to a project. If no project file assigned to your session, the “Save as…” dialog will open.

+

Steps: File -> Save

+

Shortcut: Ctrl + S

+
+
+

Save Project as…

+

Description: Save the current state of your session, including function names, comments, and more. +Note: This feature is currently in `Beta<https://rizin.re/posts/introducing-projects/>`_.

+

Steps: File -> Save As…

+
+
+

Export to Code

+

Description: Export the entire binary in different formats that later can be used in your favorite programming language. The feature supports many formats such as Python arrays, java, several C array formats, javascript, and more. +*Note: This isn’t a decompilation feature.*

+

Steps: File -> Export as code

+
+
+

Run a Rizin Script

+

Description: Cutter allows you to execute Rizin scripts to automate task or transfer information. Rizin scripts are files that contain list of Rizin commands. The scripts can be created manually by you, or automatically generated by Rizin commands (which typically end with a star character. e.g. afl*).

+

Such a script can look like this:

+
?e hello world
+?v 10+5
+pdf @ main
+
+
+

Steps: File -> Run Rizin script

+
+
+

Quit Cutter

+

Description: Quit and exit your current session of Cutter. On exit, you’ll be asked whether you want to save your session in order to avoid losing data.

+

Steps: File -> Quit

+

Shortcut: Ctrl + Q

+
+
+ + +
+
+
+
+ + +
+
+ + + + + + + \ No newline at end of file diff --git a/docs/user-docs/menus/menu-bar/help-menu.html b/docs/user-docs/menus/menu-bar/help-menu.html new file mode 100644 index 000000000..b5dbe0977 --- /dev/null +++ b/docs/user-docs/menus/menu-bar/help-menu.html @@ -0,0 +1,140 @@ + + + + + + + + Help Menu — Cutter 2.4.0 documentation + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+ +
+

Help Menu

+
+

About

+

Description: Learn more about Cutter. View the current version of the application, the installed plugins, the authors, building options, the license, and more.

+

Steps: Help -> About

+
+
+

Report an Issue

+

Description: Quickly report an issue to Cutter’s GitHub repository. Clicking this option will navigate your browser to the new-issue page in Cutter’s GitHub repository. It will also automatically fill relevant information inside the issue template.

+

Steps: Help -> Report an issue

+
+
+

Documentation

+

Description: Clicking this option will open the user documentation of Cutter in your browser.

+

Steps: Help -> Documentation

+
+
+ + +
+
+
+
+ + +
+
+ + + + + + + \ No newline at end of file diff --git a/docs/user-docs/menus/menu-bar/plugins-menu.html b/docs/user-docs/menus/menu-bar/plugins-menu.html new file mode 100644 index 000000000..b37d9a251 --- /dev/null +++ b/docs/user-docs/menus/menu-bar/plugins-menu.html @@ -0,0 +1,130 @@ + + + + + + + + Plugins Menu — Cutter 2.4.0 documentation + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+ +
+

Plugins Menu

+
+

Plugins Sub-Menu

+

Description: This menu will contain the windows and views created by the loaded plugins. By default, this menu is empty unless plugins added their actions and items to the menu.

+

Steps: Windows -> Plugins

+
+
+ + +
+
+
+
+ + +
+
+ + + + + + + \ No newline at end of file diff --git a/docs/user-docs/menus/menu-bar/view-menu.html b/docs/user-docs/menus/menu-bar/view-menu.html new file mode 100644 index 000000000..144ff4e27 --- /dev/null +++ b/docs/user-docs/menus/menu-bar/view-menu.html @@ -0,0 +1,189 @@ + + + + + + + + View Menu — Cutter 2.4.0 documentation + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+ +
+

View Menu

+
+

Refresh Contents

+

Description: In some cases, not all the displayed information on Cutter’s widgets will be up-to-date, for example - after defining a new function from the integrated Rizin console. By refreshing the contents, Cutter will fetch the most up to date information from the session and will update the different views.

+

*Note: In the future, Cutter will be aware to any underlying change and will update everything automatically. This is currently a work-in-progress.*

+

Steps: View -> Refresh Contents

+
+
+

Reset to Default Layout

+

Description: Reset the current layout to the default layout provided by Cutter.

+

Steps: View -> Reset to default layout

+
+
+

Reset to Default Settings

+

Description: Reset the current settings to the default settings defined by Cutter.

+

Steps: View -> Reset Settings

+
+
+

Lock and Unlock Panels

+

Description: Allow or disable moving and closing of different widgets. Uncheck this option to prevent accidentally modifying current layout.

+

Steps: View -> Unlock Panels

+
+
+

Show Tabs at the Top

+

Description: Toggle the position of the tab bar.

+

Steps: View -> Show Tabs at the Top

+
+
+

Grouped Dock Dragging

+

Description: When enabled, dragging a widget will also drag the widgets which are grouped to it. You can drag a specific widget from a group by dragging from the tab itself and not from the title bar. Disable this option to always drag individual widgets.

+

Steps: View -> Grouped dock dragging

+
+
+

Zoom In

+

Description: Zoom-In inside different widgets such as Graph, Disassembly and Hexdump.

+

Steps: View -> Zoom -> Zoom In

+

Shortcut: Ctrl + +

+
+
+

Zoom Out

+

Description: Zoom-Out inside different widgets such as Graph, Disassembly and Hexdump.

+

Steps: View -> Zoom -> Zoom Out

+

Shortcut: Ctrl + -

+
+
+

Reset Zoom

+

Description: Reset the zoom to its default size.

+

Steps: View -> Zoom -> Reset

+

Shortcut: Ctrl + =

+
+
+

Manage Layouts

+

Description: Rename and delete saved layouts.

+

Steps: View -> Manage layouts , select layout, choose command

+
+
+

Save Layout

+

Description: Save the current layout with a given name. A layout includes the set of currently opened widgets, their position, and some properties.

+

Steps: View -> Save Layout , enter a layout name in the dialog.

+
+
+

Layouts

+

Description: Load the settings from the selected layout into the current layout. Loading a layout will not cause it to automatically be modified. To do that you must use the Save layout command.

+

Steps: View -> Layouts -> layout name

+
+
+ + +
+
+
+
+ + +
+
+ + + + + + + \ No newline at end of file diff --git a/docs/user-docs/menus/menu-bar/windows-menu.html b/docs/user-docs/menus/menu-bar/windows-menu.html new file mode 100644 index 000000000..7386e3310 --- /dev/null +++ b/docs/user-docs/menus/menu-bar/windows-menu.html @@ -0,0 +1,212 @@ + + + + + + + + Windows Menu — Cutter 2.4.0 documentation + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+ +
+

Windows Menu

+
+

Show Dashboard

+
+
Description: Show the Dashboard panel. Cutter’s dashboard contains basic information about the binary. On the Dashboard you can find:
    +
  • File name

  • +
  • Binary format (PE, ELF64, …)

  • +
  • Bits (16, 32, 64, …)

  • +
  • Binary Architecture (x86, ARM, …)

  • +
  • Access mode (Read, Write, Execute)

  • +
  • Size

  • +
  • Binary type

  • +
  • Written Language

  • +
  • Compiler detection

  • +
  • Stack Canaries

  • +
  • NX bit

  • +
  • Position independent code

  • +
  • Checksums (MD5, SHA1, …)

  • +
  • Entropy

  • +
  • and more…

  • +
+
+
+

Steps: Windows -> Dashboard

+
+
+

Show Functions

+

Description: Display the list of functions identified by Cutter. The list also contains information about each function such as name, address, size, and more. Some functions like Main, Entrypoint and external functions are highlighted with specific colors to make them easier to spot.

+

Steps: Windows -> Functions

+
+
+

Show Decompiler

+

Description: Cutter releases are shipped with two decompilers by default - [rz-ghidra](https://github.com/rizinorg/rz-ghidra) and [rz-dec](#) which will be available soon. The Decompiler view will display the decompilation of the current function. The widget is interactive and support address-syncing, renaming, re-typing and more. Cutter can be extended with more decompilers.

+

Steps: Windows -> Decompiler

+
+
+

Graph Overview

+

Description: One of the main views of Cutter allows you to navigate inside functions in a graph mode. Graph overview will only display a zoomed-out form of the graph, and will help the user understand the flow of a function as a whole.

+

Steps: Windows -> Graph Overview

+
+ +
+

Show Strings

+

Description: Show the Strings view that will display all the printable strings in the program. A combo-box will allow the user to choose whether they want to view strings from the entire binary or from specific segments and sections.

+

Steps: Windows -> Strings

+

Shortcut: Shift + F12

+
+
+

Show Types

+

Description: Show the Types widget in which you can define, load, export and manage data types such as Structures and Enums,

+

Steps: Windows -> Types

+
+
+

Add a new instance of the Decompiler Widget

+

Description: Create a new instance of the Decompiler widget in order to view multiple decompiled functions using multiple supported decompilers.

+

Steps: Windows -> Add Decompiler

+
+
+

Add a new instance of the Disassembly Widget

+

Description: Create a new instance of the Disassembly widget in order to view one or multiple locations at the same time.

+

Steps: Windows -> Add Disassembly

+
+
+

Add a new instance of the Graph Widget

+

Description: One of the main views of Cutter allows you to navigate inside functions in a graph mode. This view displays the flow of a function where each node on the graph represents a basic block in the function. The edges coming-to and getting-out of the blocks represent the control flow. The menu item will create a new instance of the Graph widget in order to view one or multiple locations at the same time.

+

Steps: Windows -> Add Graph

+
+
+

Add a new instance of the Hexdump Widget

+

Description: Create a new instance of the Hexdump widget in order to view one or multiple locations at the same time.

+

Steps: Windows -> Add Hexdump

+

Shortcut: Shift + G

+
+
+

Show Comments

+

Description: Show the comments widgets in order to view the automatic and user-defined comments in this session.

+

Steps: Windows -> Comments

+
+
+

Show Console

+

Description: Open the integrated Rizin console. This will allow you to execute Rizin commands straight from Cutter.

+

Steps: Windows -> Console

+

Shortcut: : or Ctrl + `

+
+
+ + +
+
+
+
+ + +
+
+ + + + + + + \ No newline at end of file diff --git a/docs/user-docs/menus/registers-widget-context-menu.html b/docs/user-docs/menus/registers-widget-context-menu.html new file mode 100644 index 000000000..c2230e561 --- /dev/null +++ b/docs/user-docs/menus/registers-widget-context-menu.html @@ -0,0 +1,134 @@ + + + + + + + + Registers Widget Context Menu — Cutter 2.4.0 documentation + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+ +
+

Registers Widget Context Menu

+
+

Copy Register Value

+

Description: Copy the value of the selected register. This option is only available on Debug or Emulation modes.

+

Steps: Right-click a register in the widget and choose Copy register value.

+
+
+

Copy Register Reference

+

Description: Copy the value of the data referenced from the selected register. This option is only available on Debug or Emulation modes.

+

Steps: Right-click a register in the widget and choose Copy register reference.

+
+
+ + +
+
+
+
+ + +
+
+ + + + + + + \ No newline at end of file diff --git a/docs/user-docs/menus/set-table-layout.html b/docs/user-docs/menus/set-table-layout.html new file mode 100644 index 000000000..d4a57e541 --- /dev/null +++ b/docs/user-docs/menus/set-table-layout.html @@ -0,0 +1,134 @@ + + + + + + + + Set Table Layout — Cutter 2.4.0 documentation + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+ +
+

Set Table Layout

+
+

Set Table Layout to Horizontal

+

Description: This option sets the layout of the current widget to Horizontal, in which each row contains one or more columns with relevant information (such as offset, size, name, etc). This is the default view in most of the widgets in Cutter.

+

Steps: Right-click on a widget title and select Horizontal.

+
+
+

Set Table Layout to Vertical

+

Description: This option sets the layout of the current widget to Vertical, in which the items are displayed in a tree-like view, where every item can be expanded to view more information.

+

Steps: Right-click on a widget title and select Vertical

+
+
+ + +
+
+
+
+ + +
+
+ + + + + + + \ No newline at end of file diff --git a/docs/user-docs/menus/stack-widget-context-menu.html b/docs/user-docs/menus/stack-widget-context-menu.html new file mode 100644 index 000000000..b451df716 --- /dev/null +++ b/docs/user-docs/menus/stack-widget-context-menu.html @@ -0,0 +1,129 @@ + + + + + + + + Stack Widget Context Menu — Cutter 2.4.0 documentation + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+ +
+

Stack Widget Context Menu

+
+

Edit Stack Value

+

Description: Edit the value of the current stack item using a dialog.

+

Steps: Right-click on an item in the Stack widget and choose Edit stack value... to open the edit dialog.

+
+
+ + +
+
+
+
+ + +
+
+ + + + + + + \ No newline at end of file diff --git a/docs/user-docs/menus/syncing-a-widget.html b/docs/user-docs/menus/syncing-a-widget.html new file mode 100644 index 000000000..e4b045441 --- /dev/null +++ b/docs/user-docs/menus/syncing-a-widget.html @@ -0,0 +1,130 @@ + + + + + + + + Syncing a Widget — Cutter 2.4.0 documentation + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+ +
+

Syncing a Widget

+
+

Sync Widget to an Offset

+

Description: By default, widgets like Disassembly, Graph, +Decompiler and Hexdump are synchronized with each other, pointing to the same address. A change in one widget will affect the others. We consider this feature as a Global-Seek. By un-syncing a widget, the widget will be independent of the global seek and will have its own seek location. Navigating in an unsynced widget will not change the Global-Seek of the rest of the widgets, and vice versa - Changing the Global-Seek will not affect the unsynced widget. Multiple widgets can be unsynced independently.

+

Steps: -> Sync/unsync offset

+
+
+ + +
+
+
+
+ + +
+
+ + + + + + + \ No newline at end of file diff --git a/docs/user-docs/preferences.html b/docs/user-docs/preferences.html new file mode 100644 index 000000000..66682e7c1 --- /dev/null +++ b/docs/user-docs/preferences.html @@ -0,0 +1,122 @@ + + + + + + + + Configuration — Cutter 2.4.0 documentation + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+ +
+

Configuration

+

This part of the documentation will provide the reader with information about different configuration options available. +Most configuration is done using the Preferences dialog. It can be opened by clicking Edit -> Preferences.

+ +
+ + +
+
+
+
+ + +
+
+ + + + + + + \ No newline at end of file diff --git a/docs/user-docs/preferences/analysis.html b/docs/user-docs/preferences/analysis.html new file mode 100644 index 000000000..b3d30c8c3 --- /dev/null +++ b/docs/user-docs/preferences/analysis.html @@ -0,0 +1,190 @@ + + + + + + + + Analysis Options — Cutter 2.4.0 documentation + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+ +
+

Analysis Options

+

Cutter will use the underlying Rizin analysis options to analyze a binary. These options are usually +configured when the binary is first loaded. However, they can be later changed using the Analysis +dialog, and a new analysis that takes these options into account can then be performed.

+
+

Analysis Dialog

+Analysis dialog +

Description: The Analysis dialog allows setting some Rizin’s analysis options. The supported options are described +below.

+

Clicking on the “Analyze Program” button will trigger an analysis of the current binary with Rizin’s aaa +command, taking into account the configured values of the analysis options.

+

Steps to open: Edit -> Preferences -> Analysis

+
+

Search boundaries for analysis

+

Select the boundaries in which the analyis will be performed. The different options are:

+
    +
  • All executable maps (io.maps.x)

  • +
  • All maps (io.maps)

  • +
  • Current map (io.map)

  • +
  • Raw (raw)

  • +
  • Current mapped section (bin.section)

  • +
  • All mapped sections (bin.sections)

  • +
+

Configuration variable: analysis.in

+
+
+

Speculatively set a name for the functions

+

Try to name functions without symbols by using artifacts in the functions such as API calls and strings.

+

Configuration variable: analysis.autoname

+
+
+

Search for new functions following already defined functions

+

Cutter will check if there is a candidate for a new function following an already defined one, as the compiler usually +state them together. This option is taking the advantages of both Recursive Analysis and Linear Sweep into some kind of a hybrid mode. For each discovered function, the analysis will try to check for a function-prologue, usually following a gap of null bytes or cc bytes. This will help with discovering functions which are not referenced in the program. As such, it will make the analysis slower and prone to false-positives.

+

Configuration variable: analysis.hasnext

+
+
+

Create references for unconditional jumps

+

When encountering unconditional jumps during the analysis, Cutter will add a code-reference even if it is not guaranteed +that the jump will take place.

+

Configuration variable: analysis.jmp.ref

+
+
+

Analyze jump tables in switch statements

+

When encountering switch statements during analysis, continue and analyze the target blocks of the jump tables.

+

Configuration variable: analysis.jmp.tbl

+
+
+

Analyze push + ret as jmp

+

When performing analysis of a function, treat the sequence of push followed by ret instruction as a jmp. +This can help Cutter to continue the analysis to target of the jmp.

+

Configuration variable: analysis.pushret

+
+
+

Show verbose information when performing analysis

+

When enabled, Cutter will print warnings it encountered while preforming analysis. These warnings can help the user +understand if anything went wrong in the analysis. This function is not only helpful when trying to perform a full +analysis of the program, but also when trying to analyze and define new functions.

+

Configuration variable: analysis.verbose

+
+
+

Verbose output from type analysis

+

Print warnings encountered while preforming type analysis. These warnings can help the user understand if anything went +wrong in the analysis.

+

Configuration variable: analysis.types.verbose

+
+
+

Pointer depth

+

The maximum number of nested pointers to follow in analysis.

+

Configuration variable: analysis.ptrdepth

+
+
+

Functions prelude

+

Hex value that represents certain opcodes that will be used to identify functions.

+

Configuration variable: analysis.prelude

+
+
+
+ + +
+
+
+
+ + +
+
+ + + + + + + \ No newline at end of file diff --git a/docs/user-docs/preferences/initialization-script.html b/docs/user-docs/preferences/initialization-script.html new file mode 100644 index 000000000..d315b8cdc --- /dev/null +++ b/docs/user-docs/preferences/initialization-script.html @@ -0,0 +1,122 @@ + + + + + + + + Initialization Script — Cutter 2.4.0 documentation + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+ +
+

Initialization Script

+

On the launch of Cutter, it loads .cutterrc files from various locations if they are present. The directories from where .cutterrc files are loaded are all directories of type QStandardPaths::AppConfigLocation. These locations vary according to OS. You can visit here to see all the locations.

+

If multiple .cutterrc scripts are present in different directories, all of them will be loaded. In case of conflicting or contradictory commands, the corresponding command in the script loaded last will override all the previous commands. Cutter has a GUI editor for Initialization Script whose description is given below. The script from the editor will be the last loaded initialization script and hence will override all the previous scripts in the event of conflicting commands.

+
+

Initialization Script Editor

+Image of Initialization Script Editor +

Description: You can add new commands and modify existing commands here. To save the script, click on the Save button. If you want to see the changes you have made without restarting Cutter, you can use the Execute button. The hyperlink that shows the location of the script will open the directory containing the script on click.

+

Steps to open: Edit -> Preferences -> Initialization Script

+
+
+ + +
+
+
+
+ + +
+
+ + + + + + + \ No newline at end of file diff --git a/docs/user-docs/preferences/layout.html b/docs/user-docs/preferences/layout.html new file mode 100644 index 000000000..9e4502b01 --- /dev/null +++ b/docs/user-docs/preferences/layout.html @@ -0,0 +1,127 @@ + + + + + + + + Layout — Cutter 2.4.0 documentation + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+ +
+

Layout

+

The set of currently opened widgets, their placement, and some properties is grouped into layouts. +Cutter will automatically restore the last layout state when reopening Cutter. The last debug and normal layouts are stored separately. +You can save multiple named layouts for different use cases. +Use View Menu to save, +load or Reset to Default Layout. +A named layout is never automatically modified. To modify a previously saved layout, instead of entering a new name, select +an existing layout from the list in Save Layout dialog.

+
+

Layout Manager

+Layout manager dialog +

Description: Layout manager allows renaming and deleting saved layouts.

+

Steps to open: View -> Manage Layouts

+
+
+ + +
+
+
+
+ + +
+
+ + + + + + + \ No newline at end of file diff --git a/docs/user-docs/shortcuts.html b/docs/user-docs/shortcuts.html new file mode 100644 index 000000000..716b0df1d --- /dev/null +++ b/docs/user-docs/shortcuts.html @@ -0,0 +1,300 @@ + + + + + + + + Shortcuts — Cutter 2.4.0 documentation + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+ +
+

Shortcuts

+

This page regroups the common shortcuts available in Cutter.

+
+

Global Shortcuts

+ + + + + + + + + + + + + + + + + +

Shortcut

Function

.

Focus console input

G/S

Focus search bar

Ctrl/Cmd+R

Refresh contents

+
+
+

Widget Shortcuts

+ + + + + + + + + + + + + + + + + + + + + + + + + + +

Shortcut

Widget

Shift+F12

Strings

Shift+G

Graph

Shift+I

Imports

Shift+E

Exports

Ctrl+`

Console

:

Console

+
+
+

Disassembly View Shortcuts

+

Most of these shortcuts are also applied to Disassembly Graph view

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Shortcut

Function

Esc

Seek to the previous position

Space

Switch to disassembly graph view

Ctrl/Cmd+C

Copy

;

Add comment

P

Define a new function

Shift+P

Edit function

U

Undefine a function

N

Rename current function/flag

Shift+N

Rename flag/function used here

Y

Edit/rename local variables

A

Set current address to String

C

Set current address to Code

X

Show Xrefs

Ctrl/Cmd++

Zoom in

Ctrl/Cmd+-

Zoom out

Ctrl/Cmd+=

Reset zoom

+
+
+

Graph View Shortcuts

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Shortcut

Function

Esc

Seek to previous position

Space

Switch to disassembly view

Ctrl/Cmd+MouseWheel

Zoom

+

Zoom in

-

Zoom out

=

Reset zoom

J

Next instruction

K

Previous instruction

T

Follow True/Unconditional branch

F

Follow False/Unconditional branch

+
+
+

Debug Shortcuts

+ + + + + + + + + + + + + + + + + + + + + + + + + + +

Shortcut

Function

F9

Start debug

F7

Step into

F8

Step over

F5

Continue

F2/(Ctrl/Cmd)+B

Add or Remove breakpoint

(Ctrl/Cmd)+F2

Edit or open Advanced breakpoint dialog

+
+
+ + +
+
+
+
+ + +
+
+ + + + + + + \ No newline at end of file diff --git a/download/index.html b/download/index.html new file mode 100644 index 000000000..babd42cc1 --- /dev/null +++ b/download/index.html @@ -0,0 +1,222 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Download page + + + + + + + + + + +
+ + + +
+
+
+
+
+ +
+ +
+
+ + + + +
+
+
+
+

Download page

+
+
+
+
+ + +
+
+ + +
+
+
+
+
+
+
+

Cutter is available for all major platforms

+

Cutter was built as a cross-platform application so you can use it on your favorite operating + system.

+
+
+ +

Click to download Cutter

+
+ +
+

If you want to build Cutter from source, check out the build page.

+
+
+
+
+ +
apps screenshot image
+
animation shape
+
+
+
+
+
+ + + +
+ + + + + + diff --git a/getting-started/index.html b/getting-started/index.html new file mode 100644 index 000000000..7e5602d95 --- /dev/null +++ b/getting-started/index.html @@ -0,0 +1,231 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Getting Started + + + + + + + + + + +
+ + + +
+
+
+
+
+ +
+ +
+
+ + + + +
+
+
+
+

Getting Started

+
+
+
+
+ + +
+
+ + +
+
+
+

Cutter is a Qt and C++ GUI powered by Rizin. Its goal is making an advanced, customizable and FOSS reverse-engineering platform while keeping the user experience at mind. Cutter is created by reverse engineers for reverse engineers.

+ +

Cutter is actively maintained by its developer team and releases a new feature every ~5 weeks. Naturally, Cutter enjoys the fast paced development of its core, Rizin. This makes the project one of the most actively developed RE frameworks.

+ +

Cutter's Screenshot

+ +

Get Cutter

+ +

Cutter is available for all platforms (Linux, OS X, Windows). You can +download the latest release from our release page.

+
    +
  • OSX: Download the latest .dmg file.
  • +
  • Windows: Download the latest archive.
  • +
  • Linux: use the AppImage file. Then just make it executable and run it: chmod +x Cutter-[version]-x86_64.AppImage
  • +
+ +
+ +

Building from sources

+ +

To build the latest version of Cutter on your local machine, please follow the instructions on our build page.

+ +
+ +

Need help?

+ +

You can contact the Cutter developers and community on:

+ +
    +
  • Telegram: https://t.me/cutter_re
  • +
  • IRC: #cutter on irc.libera.chat
  • +
  • Twitter: https://twitter.com/cutter_re
  • +
+ +
+ +

Want to help the project?

+ +

If you want to contribute to Cutter, take a look at our contributing tutorial to know what you can do to help the project!

+ + +
+
+
+ + +
+ + + + + + diff --git a/improving-decompiler-widget-gsoc.html b/improving-decompiler-widget-gsoc.html new file mode 100644 index 000000000..b555aa9c1 --- /dev/null +++ b/improving-decompiler-widget-gsoc.html @@ -0,0 +1,540 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Improving Decompiler Widget - GSoC Project + + + + + + + + + + +
+ + + +
+
+
+
+
+ +
+ +
+
+ + +
+
+
+
+

Improving Decompiler Widget - GSoC Project

+ + +
+
+
+
+ + + + +
+
+ + +
+
+
+
+
+ +
+ Improving Decompiler Widget - GSoC Project +
+ +
+

My name is Nirmal Manoj. I am a second-year CS undergraduate student at IIIT Hyderabad, India. This summer, I participated in a Google Summer of Code project for radareorg. The main goal of my project is to improve the decompiler interface in Cutter.

+ +

As a part of my project, I worked on multiple repositories, including Cutter, r2ghidra-dec, and radare2. I have also sent a couple of patches to the retdec-r2plugin. The following sections sum up the important work that I have done and its impacts. Each section will describe specific features or important API that I have worked on. It will also have links to the code and discussions related to that topic.

+ +

Creating a standard decompiler interface

+ +

Cutter’s decompiler didn’t have a good enough decompiler interface for supporting context-sensitive actions. A basic structure named RAnnotatedCode and some useful API functions were already present in r2ghidra-dec for storing the information we get from the Ghidra decompiler.

+ +

After discussions in the community, we decided to use RAnnotatedCode as the standard decompiler interface across all the decompilers used in Cutter and Radare2. The related work involved shifting RAnnotatedCode API from r2ghidra-dec to radare2. I also implemented unit tests for API functions related to RAnnotatedCode.

+ +

Currently, Cutter supports three decompilers: R2Ghidra(plugin for Ghidra), R2Dec, and RetDec-Radare2(plugin for RetDec). The output from all these decompilers was being parsed into a custom structure named AnnotatedCode to use in Cutter. Even then, internally, r2ghidra-dec and retdec-radare2 used RAnnotatedCode. After I shifted RAnnotatedCode to radare2, I sent patches to both r2ghidra-dec and retdec-radare2 to use RAnnotatedCode directly from radare2.

+ + + +
    +
  1. radare2 PR #16939: Shifting RAnnotatedCode to radare2
  2. +
  3. r2ghidra-dec PR #107: Patching r2ghidra-dec after migrating RAnntoatedCode to use radare2
  4. +
  5. retdec-r2plugin PR #16: Patching retdec-r2plugin after migrating RAnnotatedCode to radare2
  6. +
+ +

Allow Cutter to use RAnnotatedCode for the decompiler

+ +

This involved refactoring the decompiler widget to use RAnnotatedCode instead of the custom AnnotatedCode it has been using. Using RAnnotatedCode will enable Cutter to have more data about the decompiled code that is essential for implementing a dedicated context menu. I also refactored the decompiler plugins (r2dec, r2ghidra-dec, r2retdec) to emit RAnnotatedCode directly to Cutter.

+ + + +
    +
  1. cutter PR #2227: Refactored Decompiler Widget and R2Dec Plugin to use RAnnotatedCode. + The description of this PR contains more precise details on the significant changes.
  2. +
  3. r2ghidra-dec PR #112: Emit RAnnotatedCode to Cutter
  4. +
  5. retdec-r2plugin PR #16: Emit RAnnotatedCode from decompileAt()
  6. +
+ +

Implementing a skeleton for the decompiler context menu

+ +

This involves me making a context-menu with a single action for the decompiler. I replaced the disassembly context menu completely in the decompiler widget. The only action implemented along with the context menu skeleton was an action to copy selected decompiled code.

+ +

GIF that shows the decompiler context menu with just copy action +skeleton-copy

+ + +
    +
  1. cutter PR #2256: Dedicated decompiler context menu (skeleton) with an action to copy selected code
  2. +
+ +

Implementing actions for debugging

+

This involved me implementing actions for toggling breakpoint, accessing the menu for advanced breakpoint definition, and also for two other debugging related actions in the decompiler context menu. Multiple breakpoints could exist in a decompiled code line, as that’s often a more straightforward representation of multiple lines in assembly. The option to choose the breakpoint that a user wants to edit from the breakpoints list was also implemented.

+ +

The following GIFs show key functionalities.

+ +

Demonstrating toggling of breakpoints +toggle-breakpoint

+ +

Demonstrating the ability to choose the breakpoint in a line for opening the edit breakpoint menu. +edit-advanced-breakpoint

+ + +
    +
  1. cutter PR #2260: Breakpoint Menu and Debug Menu in the Decompiler Context Menu
  2. +
+ +

Insertion and manipulation of comments in the decompiled code

+

This involves implementing offset annotation for comments in r2ghidra-dec and implementing actions to add, edit, and delete comments in the decompiler context menu.

+ +

The following GIF demonstrates the actions. +comment-display

+ + +
    +
  1. cutter PR #2265: Comment-related actions for the Decompiler Context Menu
  2. +
  3. r2ghidra-dec PR #121: Implemented offset annotation for comments
  4. +
+ +

Implementing function name annotation and rename function action

+

This involved introducing a new type of annotation for function names in radare2 and implementing an annotator to annotate function names in r2ghidra-dec. I have also implemented a rename function action along with these. Other actions are implemented using this annotation. They will be shown in later sections.

+ +

GIF demonstrating rename function action: +rename-function-action

+ + +
    +
  1. radare2 PR #17204: Annotation for function name
  2. +
  3. r2ghidra-dec PR #123: Function name annotation annotator implemented
  4. +
  5. cutter PR #2286: Action to rename functions in the decompiler context menu
  6. +
+ + +

This involved consolidating all references (function names, global variables, and constant variables) under a single structure called a “reference”. Two new annotation types were also introduced to accommodate global variables and constant variables. Also, annotators were implemented for these new types of annotations in r2ghidra-dec.

+ +

The decompiled code shown in the decompiler widget represents and refers to specific memory addresses in the binary. The ability to view these addresses in other widgets such as Hexdump or Disassembly can be very handy. For this, I created a “show-in” menu that allows the user to open the address related to the decompiled code under the cursor in other widgets. These other widgets include Hexdump, Graph, and Disassembly. One other related feature that can become useful is opening a reference in another widget. For instance, a function referenced under the cursor can be opened in a new decompiler widget or a graph widget. A targeted show-in menu for references was implemented for this. In this same PR, actions for adding, renaming, and deleting global variable names were implemented. See GIFs below to see the functionality implemented.

+ +

Along with these features, actions for copying instruction address and also reference’s address were implemented. The normal copy action was enhanced to copy a highlighted word to the clipboard if there is no text currently selected by the user. In the event where there is no highlighted word or selection, the entire line of code under the cursor will be copied to the clipboard.

+ +

Demonstrating show-in menu +show-in-disassembly

+ +

Demonstrating targeted show-in menu. Here, the function referenced under the cursor is opened in a new widget. +show-in-new-graph

+ +

Demonstrating adding, renaming, and deleting global variable names +manipulate-global-variable

+ +

Demonstrating enhanced copy action +copy-actions

+ + +
    +
  1. radare2 PR #17281: Annotations for Constant Variables and Global Variables for the decompiler
  2. +
  3. r2ghidra-dec PR #124: Annotation for constant and global variables
  4. +
  5. cutter PR #2295: Show-in menu for references and add/rename/delete name for global variables
  6. +
+ +

X-Refs action in the decompiler and X-Refs for variables in other widgets

+

This involved making an action to show X-Refs to a reference (functions, global variables, constant variables with an address) in the decompiler. I have also implemented an action to show X-Refs for local variables and arguments in the disassembly context menu. The following GIFs demonstrate these actions:

+ +

X-Refs for variables in the disassembly widgets +xrefs-for-variables

+ +

X-Refs for references in the decompiler context menu +xrefs-for-references

+ + +
    +
  1. cutter PR #2297: X-refs for variables
  2. +
  3. cutter PR #2352: X-Refs for references
  4. +
+ +

Edit local variables and function arguments

+

This involved introducing two new types of annotations as well as implementing the required annotators in r2ghidra-dec. In Cutter, actions have been implemented for renaming and editing local variables and function arguments. Only variables that are present in the disassembly will be editable. The following GIF demonstrates the two actions: +manipulate-local-variable

+ + +
    +
  1. radare2 PR #17375: Annotation for local variables
  2. +
  3. r2ghidra-dec PR #128: Annotator for local variables and function parameters
  4. +
  5. cutter PR #2357: Edit/Rename Variables Actions for function variables
  6. +
  7. radare2 PR #17386: API for checking if an annotation is a reference or function variable
  8. +
+ +

Documentation, Unit tests, Final clean-up, and Merging to Master

+

A dedicated context-menu has been implemented by the PRs linked in the previous sections. All of these changes from the skeleton of the decompiler context menu were merged into branches named ‘decompiler-refactoring’ in the involved repositories. This was merged to master.

+ +

Before merging to master, the new code was documented, and unit tests were made for new annotations and API functions in radare2. The final clean-up removed unnecessary parts after careful observation.

+ + +
    +
  1. radare2 PR #17397: Update docs in annotate code API
  2. +
  3. radare2 PR #17403: Unit tests for annotated code API
  4. +
  5. cutter PR #2374: Code Documentation + Final Clean Up
  6. +
+ +

The following PRs merge all the changes to the master branch

+
    +
  1. radare2 PR #17429: New annotations and API functions for the decompiler
  2. +
  3. r2ghidra-dec PR #129: Annotators for new annotations
  4. +
  5. cutter PR #2391: Enhanced Decompiler Widget with new Dedicated Context Menu
  6. +
+ +

Synchronized Decompiler and Enabling Multiple Decompiler Widgets

+

The existing auto-refresh mechanism with a refresh button was often confusing to users, particularly when the auto-refresh is disabled. In this case, questions like whether renaming a reference or editing instruction in disassembly should reflect on the decompiler were often asked. Moreover, there were multiple benefits to making the decompiler widget a syncable widget like disassembly or graph. These are explained in the issue #2370. Allowing multiple decompiler widgets to be opened simultaneously will enable users to compare the output of multiple decompilers that Cutter supports, e.g., Ghidra, RetDec, and R2Dec. This was an existing issue #1766. I solved these two issues. User documentation to the decompiler was also added.

+ +

The following image shows two decompiler widgets with different decompilers side by side. +ghidra-vs-r2dec

+ + +
    +
  1. cutter PR #2402: Synchronized Decompiler and Enabling Multiple Decompiler Widgets
  2. +
  3. cutter PR #2410: Save the layout of the Decompiler Widgets
  4. +
  5. cutter PR #2394: User documentation for the new decompiler
  6. +
+ +

What Next?

+
    +
  1. The context-sensitive annotations have been implemented only for R2Ghidra as of now. I have opened issues in both R2Dec (issue #220) R2RetDec (issue #20) with details on the annotations that are required by the Cutter. Once all new annotations are available from these decompilers, they will support all the actions currently available for r2ghidra-dec. I have also implemented what’s required from the Cutter’s side to support R2Dec by PR #2407. This can be merged as soon as R2Dec gets patched to have all annotations.
  2. +
+ +

I haven’t mentioned every single PR I have made as part of my project here. All my PRs and issues that I solved as part of my project is available at this GitHub project in the radareorg: Improving Decompiler Widget (GSoC).

+ +

Thanks

+ +

I want to thank my mentors Itay Cohen, Kārlis, and Florian Märkl for all their sincere support and guidance. I have come a long way and learned a lot of valuable things in the past three and a half months of GSoC. My GSoC project was the first significant real-world project that I worked on, and I am incredibly happy about the work that I was able to do, and it’s potential. This will not have been possible without the insightful reviews and advice of my mentors. I hope we will continue to work together for Cutter.

+ + +
+
+
+
+
Tags:
, +
+
+
+ +
+
+
+ +
+ Nirmal Manoj +
+
+
Nirmal Manoj
+

Nirmal Manoj is a CS undergraduate student at IIIT Hyderabad, India. He was a GSoC 2020 student who worked on improving the decompiler widget.

+ +
+
+ + +
+ +
+
+
+
+
+
+ + +
+ + + + + + diff --git a/index.html b/index.html new file mode 100644 index 000000000..9fca1865a --- /dev/null +++ b/index.html @@ -0,0 +1,646 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Cutter + + + + + + + + + + +
+ + + +
+
+
+
+
+ +
+ +
+
+ +
+
+
+ +
+
+ +
+
+
+ + + + + +
    +
  • shape image
  • +
  • shape image
  • +
+ +
+
+ + + +
+
+
+
+
+
+

We built a powerful multi-platform reverse engineering tool.

+

Cutter's goal is to be an advanced FREE and open-source reverse-engineering platform while keeping the user experience at mind. Cutter is created by reverse engineers for reverse engineers.

+
+
+
+
+
+
+ +
+
+ +
+

Powered by Rizin

+

Cutter is using Rizin as its core engine. Thus, allows access to thousands of features via the GUI or by using the integrated terminal.

+
+
+
+ +
+
+ +
+

Interactive Widgets

+

Cutter provides enormous amount of different widgets and features to make your Reverse Engineering experience as comfortable as possible.

+
+
+
+ +
+
+ +
+

Multiple Themes

+

By default, Cutter is coming with multiple modern themes -- Light, Native, Dark and Midnight.

+
+
+
+ +
+
+ +
+

Integrated Decompiler

+

Cutter releases are fully integrated with native Ghidra decompiler. No Java involved.

+
+
+
+ +
+
+ +
+
+
+
+ +
+
+ animated shape + animated shape + animated shape +
+
+
+
+ +
+
+ +
+

Open Source

+

Completely FREE and licensed under GPLv3

+ + +
+
+
+
+ +
+
+ +
+

Decompiler

+

Native integration of Ghidra's decompiler in Cutter releases

+ + +
+
+
+
+ +
+
+ +
+

Graph View

+

Fully featured graph view as well as mini-graph for fast navigation

+ + +
+
+
+
+ +
+
+ +
+

Debugger (beta)

+

Multiplatform native and remote debugger for dynamic analysis

+ + +
+
+
+
+ +
+
+ +
+

Disassembly

+

Linear disassembly view

+ + +
+
+
+
+ +
+
+ +
+

Hex Editor

+

View and modify any file with a rich and powerful Hex View

+ + +
+
+
+
+ +
+
+ +
+

Python Scripting Engine

+

Quickly write python scripts to automate tasks

+ + +
+
+
+
+ +
+
+ +
+

Plugins

+

Use Native or Python plugins to extend Cutter's core functionality

+ + +
+
+
+
+ +
+
+ +
+

Binary Patching

+

Add, remove and modify bytes and instructions

+ + +
+
+
+
+ +
+
+ +
+

Emulation

+

Great for automation, crypto algorithms and malware analysis

+ + +
+
+
+
+ +
+
+ +
+

Theme Editor

+

Fully featured theme editor for easy and user-friendly customization of Cutter

+ + +
+
+
+
+ +
+
+ +
+

Modern & Customizable UI

+

Built using Qt C++ and design best practices

+ + +
+
+
+
+ +
+
+ + Integrated Rizin Console • + + Multi Language • + + Binary Searching • + + Types & Structs • + + Syntax Highlighting • + + STDIO Redirection • + + Remote Debugging • + + Kernel Debug • + + Graph Overview • + + And more... +
+
+
+ +
+
+
+
+
+ See All Posts +
+
+

Have a look what is going on.

+

Check out our recent blog-posts or visit our blog to view all the posts. We will update Cutter's blog from time to time.

+

Want your article to be published here? Send us a message.

+
+
+
+
+
+ +
+ +
+ +
+ +
+ +
+
+
+
+ + + +
+
+
+
+
+
+ watch image + +
+
+
+
+
+

Coming Soon!

+
+
+
A quick introduction video for Cutter
+

Let's explore Cutter functionalities using this short example. We will get to know the interface, the features and the configurable options

+
+
+
watch video arrow
+
+
+
+
+ +
+ +
+
+
+
+
+
+
+

Cutter is available for all major platforms

+

Cutter was built as a cross-platform application so you can use it on your favorite operating system.

+
+
+ +

Download Cutter version

+
+ +
+

+ +

+
+
+
+
+ +
+
+ +
apps screenshot image
+
animation shape
+
+
+
+
+
+ +
+
+
+
+
+
+

Join our communities

+

Have any question? Want to join the development team? Want to tell us someting? Join us and thousands of our users in the different chats and platforms.

+
+
+
+
+ +
+
communuity image
+
+
+
+
+
+ + + +
+ + + + + + diff --git a/index.xml b/index.xml new file mode 100644 index 000000000..2cdfce87b --- /dev/null +++ b/index.xml @@ -0,0 +1,351 @@ +Jekyll2025-01-22T11:41:22+00:00https://cutter.re//index.xmlCutterFree and Open Source RE Platform powered by RizinCutter 2.0 Release2021-03-29T00:00:00+00:002021-03-29T00:00:00+00:00https://cutter.re//cutter-2.0 + figure + { + text-align: center; + font-size: 0.8em; + margin: 0; + margin-bottom: 2em; + } + + figure img + { + max-width: 100% !important; + width: auto !important; + margin-bottom: 0 !important; + } + + +

We are excited to release Cutter v2.0 — the first release of Cutter that is using Rizin as its core backend. Since forking radare2 and creating Rizin, we invested countless hours in improving the projects feature, overall stability, and the way we work. Releasing Cutter 2.0 is a significant milestone for us, as we believe that the recent improvements we made to our core — Rizin, and to Cutter itself, are the starting point of creating a better reverse engineering software.

+ +

Many of you waited for our first release with Rizin, and now the time has finally arrived. In this post, we note down some of the recent changes we have made to Cutter and what you should expect to see in this new release. To view the detailed changelog or download Cutter 2.0, +check out the release on GitHub!

+ +

Highlights

+ +

Saving and loading your work with Projects

+ +

During reverse-engineering sessions, it is crucial to be able to keep track of the gained knowledge through annotations such as comments, function and variable names. As such, the tool one is working with also needs to provide a reliable and future-proof way to save and restore this information. This functionality was deeply important to us and to our users and was requested by the community often.

+ +

Up to this release, Cutter had only a basic and unreliable support for saving the user’s work in projects, a functionality provided by radare2. When Rizin was forked from radare2, the team decided to create a reliable mechanism of saving and loading projects from scratch. The technical details of this newly created projects feature are described in a dedicated post published in rizin’s blog.

+ +

Cutter 2.0 introduces full support for Projects, and you can now save and load you work seamlessly. The feature is in beta support that will last until the first major release of Rizin (v1.0).

+ +

By the way, because Cutter directly uses Rizin’s project format, projects created in command-line Rizin can be directly loaded in Cutter and vice-versa, giving you the possibility to change between both tools whenever you want.

+ +

Saving a project

+ +

Saving your work in a project is simple and intuitive. Click on the “File” menu and choose “Save Project” or “Save Project As”. This will open a dialog that will ask you where do you want to save the new project. The extension for Rizin and Cutter projects is .rzdb.

+ +

Those of you who wish to use keyboard shortcuts can use Ctrl + S to save the project. You can use these shortcuts many times during your work to save the changes to the project file.

+ +
+ Save Project Menu +
+ +

Loading projects

+ +

Opening projects in Cutter can be done in two ways. The first one, is from the Projects tab in Cutter’s opening dialog. To do this, open Cutter and click on the Projects tab. In there, you will see the recent projects you created or loaded. Double-click on a project, or click “select” and choose another project file from the dialog.

+ +
+ Open Project Dialog +
+ +

The second option to open a project in Cutter is via the command line. To do this, run Cutter with the -p or --project flag:

+ +
cutter -p demo.rzdb
+
+ +

Cutter now supports Reverse Debugging

+ +

Another feature that we’re very excited about in this release is the addition of reverse debugging to all debug backends, including remote and ESIL. Reverse debug allows you to move the program counter backwards and revert the program state to the saved state at that point.

+ +

The debug toolbar now includes the option to start a ‘trace session’ that enables reverse debug:

+ +
+ Debug Toolbar +
+ +

Once you start a trace session, Cutter begins recording the program’s memory and register changes from the current program counter. This allows you to step backwards and continue backwards to restore the program’s state up to the trace session’s first recorded instruction:

+ +
+ Debug Toolbar while Debugging +
From right to left - stop trace session, continue backwards and step backwards
+
+ +

When stepping or continuing back, we locate the target instruction in the recorded session and revert the state of the registers and memory up to that point. It’s important to note that Cutter doesn’t handle non-deterministic events like signals or syscalls.

+ +

Continuing back to the future

+ +

Similarly to regular continue, backwards continue currently only stops due to an interrupt (by clicking on the “suspend process” button) or a breakpoint. Otherwise, it will continue all the way back to the session’s first instruction.

+ +

Since Cutter stops at every instruction to record memory and register changes while continuing, this may significantly slow down the traversal between two points. To solve this issue, we have also added the dbg.trace_continue(default=true) flag to the debug settings. This flag allows the user to save the program’s state only between two states: the first state is the original program counter position before continue, and the second is the destination of the run. This means that stepping backwards will also return to the last recorded point before continue as illustrated:

+ +
+ dbg.trace_continue=false +
Continue with dbg.trace_continue=false
+
+ +
+ dbg.trace_continue=false +
Stepping back after continue with dbg.trace_continue=false
+
+ +

Compared to being able to step back to any point after continue with dbg.trace_continue=true:

+ +
+ dbg.trace_continue=true +
Continue with dbg.trace_continue=true
+
+ +
+ dbg.trace_continue=true +
Stepping back after continue with dbg.trace_continue=true
+
+ +

Improving the renaming workflow

+ +

Last year, we asked you what are the things you want to see improved in Cutter. Many of you mentioned that the basic workflow of renaming isn’t user-friendly and can be improved. And indeed, during the recent months we worked on improving it and created an easier renaming workflow in which you can press N in many places in the disassembly to rename functions, flags, and more. You can also use N to add new flags in certain addresses.

+ +

There are more improvement to do when it comes to renaming in Cutter, such as having better support for renaming symbols and renaming information in the decompiler. We plan to improve these areas in future releases.

+ +

Basic block headers in Graph view

+ +

A new feature that was added in Cutter v2.0 is the option to display the basic blocks offsets in the Graph view. When enabled, each basic block will have its start-address displayed at the top. This feature can be enabled or disabled from the preferences view: Edit → Preferences → Disassembly → Graph → Show offset of the first instruction in each graph block.

+ +
+ Basic Block Headers +
+ +

Hover on address to view its content

+ +

The functions widget of Cutter had a functionality that allowed the user to preview the contents of a function by hovering with their mouse on a function name from the list. Now, in our new release, we expanded this feature and added support for previewing the contents of a function, flag or address, by hovering on them in the disassembly view. This will allow you to quickly view data and code in target address, without navigating to this address.

+ +
+ Hover on address +
+ +

New Comment Column in multiple Table Views

+ +

We improved multiple table view widgets to now display comments that are being added in these addresses. For example, if the user added a comment to an offset of a string, or of a flag, the comments will be displayed in the list.

+ +
+ Comment Column +
]]>
Cutter Team
Improving Decompiler Widget - GSoC Project2020-08-31T00:00:00+00:002020-08-31T00:00:00+00:00https://cutter.re//improving-decompiler-widget-gsocMy name is Nirmal Manoj. I am a second-year CS undergraduate student at IIIT Hyderabad, India. This summer, I participated in a Google Summer of Code project for radareorg. The main goal of my project is to improve the decompiler interface in Cutter.

+ +

As a part of my project, I worked on multiple repositories, including Cutter, r2ghidra-dec, and radare2. I have also sent a couple of patches to the retdec-r2plugin. The following sections sum up the important work that I have done and its impacts. Each section will describe specific features or important API that I have worked on. It will also have links to the code and discussions related to that topic.

+ +

Creating a standard decompiler interface

+ +

Cutter’s decompiler didn’t have a good enough decompiler interface for supporting context-sensitive actions. A basic structure named RAnnotatedCode and some useful API functions were already present in r2ghidra-dec for storing the information we get from the Ghidra decompiler.

+ +

After discussions in the community, we decided to use RAnnotatedCode as the standard decompiler interface across all the decompilers used in Cutter and Radare2. The related work involved shifting RAnnotatedCode API from r2ghidra-dec to radare2. I also implemented unit tests for API functions related to RAnnotatedCode.

+ +

Currently, Cutter supports three decompilers: R2Ghidra(plugin for Ghidra), R2Dec, and RetDec-Radare2(plugin for RetDec). The output from all these decompilers was being parsed into a custom structure named AnnotatedCode to use in Cutter. Even then, internally, r2ghidra-dec and retdec-radare2 used RAnnotatedCode. After I shifted RAnnotatedCode to radare2, I sent patches to both r2ghidra-dec and retdec-radare2 to use RAnnotatedCode directly from radare2.

+ + + +
    +
  1. radare2 PR #16939: Shifting RAnnotatedCode to radare2
  2. +
  3. r2ghidra-dec PR #107: Patching r2ghidra-dec after migrating RAnntoatedCode to use radare2
  4. +
  5. retdec-r2plugin PR #16: Patching retdec-r2plugin after migrating RAnnotatedCode to radare2
  6. +
+ +

Allow Cutter to use RAnnotatedCode for the decompiler

+ +

This involved refactoring the decompiler widget to use RAnnotatedCode instead of the custom AnnotatedCode it has been using. Using RAnnotatedCode will enable Cutter to have more data about the decompiled code that is essential for implementing a dedicated context menu. I also refactored the decompiler plugins (r2dec, r2ghidra-dec, r2retdec) to emit RAnnotatedCode directly to Cutter.

+ + + +
    +
  1. cutter PR #2227: Refactored Decompiler Widget and R2Dec Plugin to use RAnnotatedCode. + The description of this PR contains more precise details on the significant changes.
  2. +
  3. r2ghidra-dec PR #112: Emit RAnnotatedCode to Cutter
  4. +
  5. retdec-r2plugin PR #16: Emit RAnnotatedCode from decompileAt()
  6. +
+ +

Implementing a skeleton for the decompiler context menu

+ +

This involves me making a context-menu with a single action for the decompiler. I replaced the disassembly context menu completely in the decompiler widget. The only action implemented along with the context menu skeleton was an action to copy selected decompiled code.

+ +

GIF that shows the decompiler context menu with just copy action +skeleton-copy

+ + +
    +
  1. cutter PR #2256: Dedicated decompiler context menu (skeleton) with an action to copy selected code
  2. +
+ +

Implementing actions for debugging

+

This involved me implementing actions for toggling breakpoint, accessing the menu for advanced breakpoint definition, and also for two other debugging related actions in the decompiler context menu. Multiple breakpoints could exist in a decompiled code line, as that’s often a more straightforward representation of multiple lines in assembly. The option to choose the breakpoint that a user wants to edit from the breakpoints list was also implemented.

+ +

The following GIFs show key functionalities.

+ +

Demonstrating toggling of breakpoints +toggle-breakpoint

+ +

Demonstrating the ability to choose the breakpoint in a line for opening the edit breakpoint menu. +edit-advanced-breakpoint

+ + +
    +
  1. cutter PR #2260: Breakpoint Menu and Debug Menu in the Decompiler Context Menu
  2. +
+ +

Insertion and manipulation of comments in the decompiled code

+

This involves implementing offset annotation for comments in r2ghidra-dec and implementing actions to add, edit, and delete comments in the decompiler context menu.

+ +

The following GIF demonstrates the actions. +comment-display

+ + +
    +
  1. cutter PR #2265: Comment-related actions for the Decompiler Context Menu
  2. +
  3. r2ghidra-dec PR #121: Implemented offset annotation for comments
  4. +
+ +

Implementing function name annotation and rename function action

+

This involved introducing a new type of annotation for function names in radare2 and implementing an annotator to annotate function names in r2ghidra-dec. I have also implemented a rename function action along with these. Other actions are implemented using this annotation. They will be shown in later sections.

+ +

GIF demonstrating rename function action: +rename-function-action

+ + +
    +
  1. radare2 PR #17204: Annotation for function name
  2. +
  3. r2ghidra-dec PR #123: Function name annotation annotator implemented
  4. +
  5. cutter PR #2286: Action to rename functions in the decompiler context menu
  6. +
+ + +

This involved consolidating all references (function names, global variables, and constant variables) under a single structure called a “reference”. Two new annotation types were also introduced to accommodate global variables and constant variables. Also, annotators were implemented for these new types of annotations in r2ghidra-dec.

+ +

The decompiled code shown in the decompiler widget represents and refers to specific memory addresses in the binary. The ability to view these addresses in other widgets such as Hexdump or Disassembly can be very handy. For this, I created a “show-in” menu that allows the user to open the address related to the decompiled code under the cursor in other widgets. These other widgets include Hexdump, Graph, and Disassembly. One other related feature that can become useful is opening a reference in another widget. For instance, a function referenced under the cursor can be opened in a new decompiler widget or a graph widget. A targeted show-in menu for references was implemented for this. In this same PR, actions for adding, renaming, and deleting global variable names were implemented. See GIFs below to see the functionality implemented.

+ +

Along with these features, actions for copying instruction address and also reference’s address were implemented. The normal copy action was enhanced to copy a highlighted word to the clipboard if there is no text currently selected by the user. In the event where there is no highlighted word or selection, the entire line of code under the cursor will be copied to the clipboard.

+ +

Demonstrating show-in menu +show-in-disassembly

+ +

Demonstrating targeted show-in menu. Here, the function referenced under the cursor is opened in a new widget. +show-in-new-graph

+ +

Demonstrating adding, renaming, and deleting global variable names +manipulate-global-variable

+ +

Demonstrating enhanced copy action +copy-actions

+ + +
    +
  1. radare2 PR #17281: Annotations for Constant Variables and Global Variables for the decompiler
  2. +
  3. r2ghidra-dec PR #124: Annotation for constant and global variables
  4. +
  5. cutter PR #2295: Show-in menu for references and add/rename/delete name for global variables
  6. +
+ +

X-Refs action in the decompiler and X-Refs for variables in other widgets

+

This involved making an action to show X-Refs to a reference (functions, global variables, constant variables with an address) in the decompiler. I have also implemented an action to show X-Refs for local variables and arguments in the disassembly context menu. The following GIFs demonstrate these actions:

+ +

X-Refs for variables in the disassembly widgets +xrefs-for-variables

+ +

X-Refs for references in the decompiler context menu +xrefs-for-references

+ + +
    +
  1. cutter PR #2297: X-refs for variables
  2. +
  3. cutter PR #2352: X-Refs for references
  4. +
+ +

Edit local variables and function arguments

+

This involved introducing two new types of annotations as well as implementing the required annotators in r2ghidra-dec. In Cutter, actions have been implemented for renaming and editing local variables and function arguments. Only variables that are present in the disassembly will be editable. The following GIF demonstrates the two actions: +manipulate-local-variable

+ + +
    +
  1. radare2 PR #17375: Annotation for local variables
  2. +
  3. r2ghidra-dec PR #128: Annotator for local variables and function parameters
  4. +
  5. cutter PR #2357: Edit/Rename Variables Actions for function variables
  6. +
  7. radare2 PR #17386: API for checking if an annotation is a reference or function variable
  8. +
+ +

Documentation, Unit tests, Final clean-up, and Merging to Master

+

A dedicated context-menu has been implemented by the PRs linked in the previous sections. All of these changes from the skeleton of the decompiler context menu were merged into branches named ‘decompiler-refactoring’ in the involved repositories. This was merged to master.

+ +

Before merging to master, the new code was documented, and unit tests were made for new annotations and API functions in radare2. The final clean-up removed unnecessary parts after careful observation.

+ + +
    +
  1. radare2 PR #17397: Update docs in annotate code API
  2. +
  3. radare2 PR #17403: Unit tests for annotated code API
  4. +
  5. cutter PR #2374: Code Documentation + Final Clean Up
  6. +
+ +

The following PRs merge all the changes to the master branch

+
    +
  1. radare2 PR #17429: New annotations and API functions for the decompiler
  2. +
  3. r2ghidra-dec PR #129: Annotators for new annotations
  4. +
  5. cutter PR #2391: Enhanced Decompiler Widget with new Dedicated Context Menu
  6. +
+ +

Synchronized Decompiler and Enabling Multiple Decompiler Widgets

+

The existing auto-refresh mechanism with a refresh button was often confusing to users, particularly when the auto-refresh is disabled. In this case, questions like whether renaming a reference or editing instruction in disassembly should reflect on the decompiler were often asked. Moreover, there were multiple benefits to making the decompiler widget a syncable widget like disassembly or graph. These are explained in the issue #2370. Allowing multiple decompiler widgets to be opened simultaneously will enable users to compare the output of multiple decompilers that Cutter supports, e.g., Ghidra, RetDec, and R2Dec. This was an existing issue #1766. I solved these two issues. User documentation to the decompiler was also added.

+ +

The following image shows two decompiler widgets with different decompilers side by side. +ghidra-vs-r2dec

+ + +
    +
  1. cutter PR #2402: Synchronized Decompiler and Enabling Multiple Decompiler Widgets
  2. +
  3. cutter PR #2410: Save the layout of the Decompiler Widgets
  4. +
  5. cutter PR #2394: User documentation for the new decompiler
  6. +
+ +

What Next?

+
    +
  1. The context-sensitive annotations have been implemented only for R2Ghidra as of now. I have opened issues in both R2Dec (issue #220) R2RetDec (issue #20) with details on the annotations that are required by the Cutter. Once all new annotations are available from these decompilers, they will support all the actions currently available for r2ghidra-dec. I have also implemented what’s required from the Cutter’s side to support R2Dec by PR #2407. This can be merged as soon as R2Dec gets patched to have all annotations.
  2. +
+ +

I haven’t mentioned every single PR I have made as part of my project here. All my PRs and issues that I solved as part of my project is available at this GitHub project in the radareorg: Improving Decompiler Widget (GSoC).

+ +

Thanks

+ +

I want to thank my mentors Itay Cohen, Kārlis, and Florian Märkl for all their sincere support and guidance. I have come a long way and learned a lot of valuable things in the past three and a half months of GSoC. My GSoC project was the first significant real-world project that I worked on, and I am incredibly happy about the work that I was able to do, and it’s potential. This will not have been possible without the insightful reviews and advice of my mentors. I hope we will continue to work together for Cutter.

]]>
Nirmal Manoj
Cutter Community Survey 20202020-05-20T00:00:00+00:002020-05-20T00:00:00+00:00https://cutter.re//cutter-community-survey-2020 + +

The Cutter team is working hard to create a free and open-source reverse engineering framework that will give you the best RE experience. Our 2020 community survey is here and this is our opportunity to get to know you better.

+ +

We already interact with many of you frequently using Telegram, IRC, and Twitter, but the interactions tend to be about specific problems. We want to hear from all of you, all the way from those who found it too difficult to start with Cutter to those who have contributed several times. We want to hear what you love about Cutter and what you hate about it. We want to hear about your smallest annoyances and problems that may take 5 years to solve. Anything goes. It’s only with your help that we can make Cutter into a truly useful tool.

+ +

Please take a few minutes to fill the survey. We’ll collect responses for about a month and then we’ll publish the results on our blog, groups and social media.

+ +

Take the survey!

+ +]]>
Cutter Team
5 Ways to patch binaries with Cutter2019-12-26T00:00:00+00:002019-12-26T00:00:00+00:00https://cutter.re//5-ways-to-patch-binaries-with-cutterI recently watched a video by LiveOverflow in which he showed how different tools are used to patch binaries. By demonstrating some of the features that Radare2, Ghidra, and Binary Ninja offer for the task, the viewer can get some sense of the things they can get from using these tools.

+

While all these tools are great, and although Radare2 was showed there (and oh boy, things went wrong), there was one tool, which is dear to my heart, that wasn’t there – Cutter. Notwithstanding that it is the youngest member of the pack, Cutter is growing up very fast and when it has to do with binary patching – it does not stay behind.

+

“Binary Patching”, for those the term is unfamiliar, is the process of applying small changes and modifications to a binary file, usually in order to change its behavior. By modifying data or code, the user can change certain values in the program or specific instructions, and adjust the binary to their desired outcome.

+ +

Cutter makes patching binaries a simple task - here are 5 ways to do so.

+ +

Read on Megabeets’ website

+ +]]>
Itay Cohen
Defeating a Ransomware using Cutter’s Emulation2019-09-13T00:00:00+00:002019-09-13T00:00:00+00:00https://cutter.re//defeating-a-ransomware-with-cutterLast week I attended the r2con conference for the first time (for those who haven't heard about it before, it is a reverse engineering conference focused on radare2) and apart from listening to great talks, I signed up for the basic trainings since I had not used r2 in the past and my RE experience is quite basic. One of the trainings was "Dissecting binaries with Cutter" given by Antide Petit, Itay cohen, and Florian Märkl. It was an introduction to the official GUI application for r2, Cutter.

+ +

During the training, there were 3 different exercises and one of them was about reversing a binary called "M1ghty Ransomware.exe" which by the name of it, you can guess what it is. Along with the binary, there was also a PNG file called "flag.png" that was encrypted by the malware. We had to use Cutter to analyse the binary and figure out the encryption algorithms, the keys used for the encryption, and finally write a script to decrypt the png file. Sounds easy, right? Well, it took me a while to figure it out. Let's dissect it.

+ +

Read on Cristhian Amaya’s website

+ +]]>
Cutter Team
Decrypting APT33’s Dropshot Malware with Radare2 and Cutter – Part 12019-07-26T09:12:09+00:002019-07-26T09:12:09+00:00https://cutter.re//analyzing-dropshot-part-1Prologue + +

As a reverse engineer and malware researcher, the tools I use are super important for me. I have invested hours and hours in creating the best malware analysis environment for myself and chose the best tools for me and my needs. For the last two years, radare2 is my go-to tool for a lot of reverse-engineering tasks such as automating RE related work, scripting, CTFing, exploitation and more. That said, I almost never used radare2 for malware analysis, or more accurately, for analysis of malware for Windows.

+

The main reason was that radare2 command-line interface felt too clumsy, complicated and an over-kill. IDA Pro was simply better for these tasks, a quick inspection of functions, data structures, renaming, commenting, et cetera. It felt more intuitive for me and that what I was searching for while doing malware analysis. And then came Cutter.

+ +

Read on megabeets.net

+ +]]>
Itay Cohen
Decrypting APT33’s Dropshot Malware with Radare2 and Cutter – Part 22019-07-26T09:12:09+00:002019-07-26T09:12:09+00:00https://cutter.re//analyzing-dropshot-part-2Prologue + +

Previously, in the first part of this article, we used Cutter, a GUI for radare2, to statically analyze APT33’s Dropshot malware. We also used radare2’s Python scripting capabilities in order to decrypt encrypted strings in Dropshot. If you didn’t read the first part yet, I suggest you do it now.

+

Today’s article will be shorter, now that we are familiar with cutter and r2pipe, we can quickly analyze another interesting component of Dropshot — an encrypted resource that includes Dropshot’s actual payload. So without further ado, let’s start.

+ +

Read on megabeets.net

+ +]]>
Itay Cohen
\ No newline at end of file diff --git a/pages/authors.html b/pages/authors.html new file mode 100644 index 000000000..0b9571538 --- /dev/null +++ b/pages/authors.html @@ -0,0 +1,260 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Authors Page + + + + + + + + + + +
+ + + +
+
+
+
+
+ +
+ +
+
+ + + + +
+
+
+
+

Authors Page

+
+
+
+
+ + +
+
+ + +
+
+
+
+ + +
+
+
Itay Cohen
+
+
Itay Cohen
+ Itay Cohen (aka Megabeets) is a security researcher and a reverse engineer. He is a maintainer of Cutter and a core member of Rizin. +
+
+
+ + +
+ +
+ + +
+
+
+
+
+ +
+
+
+ + +
+
+
+
+
+ +
+
+
+ + +
+
+
+
+
+ +
+
+
+ + +
+
+
Nirmal Manoj
+
+
Nirmal Manoj
+ Nirmal Manoj is a CS undergraduate student at IIIT Hyderabad, India. He was a GSoC 2020 student who worked on improving the decompiler widget. +
+
+
+ +
+
+
+
+ + + +
+ + + + + + diff --git a/pages/contact.html b/pages/contact.html new file mode 100644 index 000000000..4e962d2a4 --- /dev/null +++ b/pages/contact.html @@ -0,0 +1,272 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Contact Page + + + + + + + + + + +
+ + + +
+
+
+
+
+ +
+ +
+
+ + + + +
+
+
+
+

Contact Page

+
+
+
+
+ + +
+
+ + +
+
+
+
+
+ +
+
Office Address
+

Flat 60, Ross Green, South Lilyberg, Q7M 8ZV

+
+
+
+ +
+
+ +
+
Phone Number
+

454-6322290, 314-8470569 , 654-2003041

+
+
+
+
+
+
+ +
+
+
Send Your Message
+
+
+
+
+
+
+
+ +
+
+
+
+
+
+ +
+
+
+
+
+
+ +
+
+
+
+ +
+
+
+
+
+
+
+
contact image
+
+
+
+
+ + + + +
+ + + + + + diff --git a/tag/community/index.html b/tag/community/index.html new file mode 100644 index 000000000..d36e32d1b --- /dev/null +++ b/tag/community/index.html @@ -0,0 +1,215 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Community + + + + + + + + + + +
+ + + +
+
+
+
+
+ +
+ +
+
+ + + + + +
    +
  • shape image
  • +
  • shape image
  • +
+ +
+
+ + +
+
+
+
+ +
+ +
+ +
+
+
+
+ + +
+ + + + + + diff --git a/tag/decompiler/index.html b/tag/decompiler/index.html new file mode 100644 index 000000000..444892f8d --- /dev/null +++ b/tag/decompiler/index.html @@ -0,0 +1,215 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Decompiler + + + + + + + + + + +
+ + + +
+
+
+
+
+ +
+ +
+
+ + + + + +
    +
  • shape image
  • +
  • shape image
  • +
+ +
+
+ + +
+
+
+
+ +
+ +
+ +
+
+
+
+ + +
+ + + + + + diff --git a/tag/gsoc/index.html b/tag/gsoc/index.html new file mode 100644 index 000000000..2a4d18175 --- /dev/null +++ b/tag/gsoc/index.html @@ -0,0 +1,215 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + GSoC + + + + + + + + + + +
+ + + +
+
+
+
+
+ +
+ +
+
+ + + + + +
    +
  • shape image
  • +
  • shape image
  • +
+ +
+
+ + +
+
+
+
+ +
+ +
+ +
+
+
+
+ + +
+ + + + + + diff --git a/tag/guest-article/index.html b/tag/guest-article/index.html new file mode 100644 index 000000000..d6da3575a --- /dev/null +++ b/tag/guest-article/index.html @@ -0,0 +1,215 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Guest article + + + + + + + + + + +
+ + + +
+
+
+
+
+ +
+ +
+
+ + + + + +
    +
  • shape image
  • +
  • shape image
  • +
+ +
+
+ + +
+
+
+
+ +
+ +
+ +
+
+
+
+ + +
+ + + + + + diff --git a/tag/patching/index.html b/tag/patching/index.html new file mode 100644 index 000000000..96f4e2949 --- /dev/null +++ b/tag/patching/index.html @@ -0,0 +1,215 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Patching + + + + + + + + + + +
+ + + +
+
+
+
+
+ +
+ +
+
+ + + + + +
    +
  • shape image
  • +
  • shape image
  • +
+ +
+
+ + +
+
+
+
+ +
+ +
+ +
+
+
+
+ + +
+ + + + + + diff --git a/tag/plugins/index.html b/tag/plugins/index.html new file mode 100644 index 000000000..5d32c68f2 --- /dev/null +++ b/tag/plugins/index.html @@ -0,0 +1,242 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Plugins + + + + + + + + + + +
+ + + +
+
+
+
+
+ +
+ +
+
+ + + + + +
    +
  • shape image
  • +
  • shape image
  • +
+ +
+
+ + +
+
+
+
+ +
+ +
+ +
+ +
+ +
+
+
+
+ + +
+ + + + + + diff --git a/tag/release/index.html b/tag/release/index.html new file mode 100644 index 000000000..3fee70687 --- /dev/null +++ b/tag/release/index.html @@ -0,0 +1,215 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Release + + + + + + + + + + +
+ + + +
+
+
+
+
+ +
+ +
+
+ + + + + +
    +
  • shape image
  • +
  • shape image
  • +
+ +
+
+ + +
+
+
+
+ +
+ +
+ +
+
+
+
+ + +
+ + + + + + diff --git a/tag/rizin/index.html b/tag/rizin/index.html new file mode 100644 index 000000000..4a1d773ef --- /dev/null +++ b/tag/rizin/index.html @@ -0,0 +1,215 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Rizin + + + + + + + + + + +
+ + + +
+
+
+
+
+ +
+ +
+
+ + + + + +
    +
  • shape image
  • +
  • shape image
  • +
+ +
+
+ + +
+
+
+
+ +
+ +
+ +
+
+
+
+ + +
+ + + + + + diff --git a/tag/survey/index.html b/tag/survey/index.html new file mode 100644 index 000000000..09ef69fed --- /dev/null +++ b/tag/survey/index.html @@ -0,0 +1,215 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Survey + + + + + + + + + + +
+ + + +
+
+
+
+
+ +
+ +
+
+ + + + + +
    +
  • shape image
  • +
  • shape image
  • +
+ +
+
+ + +
+
+
+
+ +
+ +
+ +
+
+
+
+ + +
+ + + + + +