Compare commits

...
235 Commits
Author SHA1 Message Date
malte_langkabel ecfdd1ccb7 build: update Java indexer dependencies
* now using JavaParser version 3.2.4 (tagged with javaparser-parent-3.2.4)
* now using JavaSymbolSolver commit hash 5b96df7a
2017-06-20 16:55:24 +02:00
malte_langkabel ba549822c9 build: update windows installer
* changed windows installer to discard the first two digits of the version (17 instead of 2017)
* renamed vs plugin installer
* add game_object.h for TicTacToe to windows installer
* add eula.txt for eula window and keyboard shortcuts css to installer
* add eula and 3rd party licenses to windows install directory
2017-06-20 16:10:22 +02:00
Andreas Stallinger 8b6109be79 script: install script linux fix
install script failed when there were spaces in the path
2017-06-20 15:36:43 +02:00
Eberhard Graether ad3169c3c0 src: Fixes for release
* clear references count when clearing code view
* fixed scrolling to character in overview lists
* fixed aggregation activation shown in history menu
* fixed same snippet being added twice
* Sourcetrail [Trial] as window title
* fixed undoing trail expand will always reactivate symbol
2017-06-20 15:18:30 +02:00
Andreas Stallinger 81b88df3a2 gui: show eula on non windows versions 2017-06-20 14:45:52 +02:00
Eberhard Graether 738e13a664 resource: Updated EULA 2017-06-20 13:06:06 +02:00
Eberhard Graether d7fbaede79 src: Fixed crash when using shortcuts with focus on the graph (issue #390)
bug id = 390
2017-06-20 12:53:13 +02:00
Eberhard Graether 652a55b4fb logic: Fixed saving project name to ProjectSettings also sets project location to '/' 2017-06-19 23:38:39 +02:00
Eberhard Graether 05c2878eec src: Fixed old license partly shown and new placeholder in license dialog 2017-06-19 23:08:42 +02:00
Eberhard Graether 894beccb28 build: Added GameObject base to tictactoe sample
* Gets used in gifs and video
2017-06-19 22:15:34 +02:00
malte_langkabel e6c5ffa97a logic: apply some shared memory fixes
* corrections in estimating size of intermediate indexer commands
* avoided clearing and refilling the indexed files list every time files get added
* changed memory growth policy of InterprocessIndexingStatusManager to double allocated memory when it gets full
* added potential to grow memory when adding crashed file paths
2017-06-19 16:24:01 +02:00
malte_langkabel fba8dadee7 build: fix license compile errors on windows 2017-06-19 16:15:02 +02:00
Andreas Stallinger e953b35c62 logic: license format 2017-06-13 21:23:18 +02:00
malte_langkabel 72f3dcfc19 logic: improved plugin performance
* reduced file open/close events while writing cdb
* fixed detection of header paths
* refactored Visual Studio extension code
* removed very old menu option for converting a solution directly into a Coati project (which would have been performed by Coati itself, not by the plugin).
2017-06-12 12:10:48 +02:00
Andreas Stallinger 148588b179 logic: add 1MB buffer to pushIntermediateStorge 2017-06-12 12:05:34 +02:00
Andreas Stallinger 19ed6cb372 logic: versioning 2017-06-12 09:14:21 +02:00
Andreas Stallinger 419a2e27ba ui: subwindow when resize mainwindow
* disable drop in qtlineedit
    fixes bug where when file is dropped in the lineedit with text,
    the the file will be added as text midst the existing text
* move message to start from script before layout loading so it will load right
(only when started without script on linux)
* center subwindow when mainwindow size changes
2017-06-08 20:42:32 +02:00
malte_langkabel 699de2ee0a build: improve convenience for running Visual Studio plugin integration tests
* added testsettings file that causes Visual Studio to use the current build of the
    extension when running the integration tests. So no more uninstalling and installing
	of the extension before running the tests.
2017-06-08 14:57:18 +02:00
Andreas Stallinger 3ca6f266c7 build: name for artifacts from tagged jobs 2017-06-08 13:48:50 +02:00
Eberhard Graether 24894aa96f ui: More fixes for release
* Fixed graph resizing invoked during animation
* Clearin history when clearing UndoRedoController
* Fixed no hatching in single code view file button
2017-06-08 12:45:56 +02:00
Andreas Stallinger deed335a10 linux script start
warning when starting without script on linux
2017-06-08 12:13:36 +02:00
Eberhard Graether 3e62367af0 src: More fixes for release
* Show declname in java import error
* Don't clear window stack when saving preferences
* Fixed spacing in source group UI, status view and error view
* Resize graph scene rect when widget is resized
* Graph node centering respect no animation preference
* Fixed undoing of view commands
* Avoid scrollbar jump when restoring graph scroll position
* Deactivate local symbols in code when clicking into empty space
2017-06-08 00:35:31 +02:00
Eberhard Graether 610dbf5bfb src: Fixes for release
* Fixed annotations in code view when showing errors
* Fixed context menu hatched for non-indexed/incomplete file button
* Fixed file minimize button losing hover style when leaving to file bar
* Fixed only change bookmark button state when active node is bookmarked
* Fixed use bezier edges when expanding node on aggregation graph
* Fixed manually expanded nodes stay expanded
2017-06-07 17:46:16 +02:00
malte_langkabel 2b1098fe1d logic: disable Java errors for on-demand imports
* don't try to resolve an import that ends in an asterisk. these can be either type names or package names and it it's a package we have no way to find out whether or not such a package exists.
2017-06-07 17:37:19 +02:00
Andreas Stallinger 255fea62af ui: restrict subwindow movement
restrict subwindow movement to mainwindow
to make sure you cant move it were you dont see it
2017-06-07 17:21:54 +02:00
malte_langkabel 38e016c909 build: update list of installed files for windows deployment 2017-06-07 15:49:49 +02:00
Andreas Stallinger 59cece1707 ui: fixed historylist popup disapearing 2017-06-07 15:39:39 +02:00
Eberhard Graether 469789f994 build: Changelog for 1.0 2017-06-07 14:56:02 +02:00
Eberhard Graether 503ca76a40 ui: Use window decorations on dialog windows (issue #376)
* added SubWindow flag to QtWindow to either use window decorations or show window within main window
* fixes black borders in some Linux window managers

bug id = 376

fortune cookie message = Your skill will accomplish what the force of many others cannot.
2017-06-07 14:40:16 +02:00
malte_langkabel fb5bb33a10 logic: fix bookmark migration for Java projects
testing if currently loaded project is a Java project and setting delimiter for node names in bookmark tables accordingly.
2017-06-07 13:40:18 +02:00
malte_langkabel 21f963d652 logic: indexer fixes for java imports
* fixed solving import for statically imported member types
* enabled recording of fatal errors when an importing a type
* added AstVisitorClient for improved abstraction and debugging purposes
2017-06-07 13:00:20 +02:00
malte_langkabel b659e81515 logic: fix more Visual Studio plugin issues
* using .Net framework version 4.6.1 in all projects
* implemented exception handling in VCFileWrapperFactory
* moved logging in separate assembly
* enabled logging in wrapper code
2017-06-06 15:46:14 +02:00
Eberhard Graether fc36cc25ca ui: Improved code view UI
* reduced minimized file state to one-colored block
* added hover states to file buttons
* show hover state when hovering title bar
* fixed file button use for overview stats snippet
2017-06-05 23:46:50 +02:00
Eberhard Graether 71b3bdb26b logic: Improved code view performance
* Don't set stylesheet for every token activation
* Streamlined code area creation steps
* Delay most syntax highlighting until lines become visible
2017-06-05 23:34:20 +02:00
malte_langkabel 30e6512d71 logic: fixed versions of Visual Studio plugin assemblies 2017-06-05 16:11:09 +02:00
malte_langkabel f31c0ae3ba logic: Visual Studio plugin improvements
* changed dll version handling to be automated
* added some additional logging
* improved VCProjectWrapperFactory
2017-06-05 15:14:55 +02:00
Eberhard Graether de645be37a logic: Refactored Code View to process all contents in one update
* Use unified showCodeSnippets method for setting file information on CodeView
* Made async initial file and snippet expansion synced
* Add ScrollParams API to CodeView
* Regard scope size when scrolling to definition
* Only use QtThreadedLambdaFunctor in QtCodeView now
2017-06-05 14:23:43 +02:00
malte_langkabel 893b223bbc logic: record more import not found errors
* record "import not found" error when imported type cannot be resolved
2017-06-05 11:08:07 +02:00
malte_langkabel 7010b9a6fb logic: update Visual Studio plugin to support Visual Studio 2017
* changed description text of Visual Studio plugin
* changed plugin install targets to include VS 2017
* add license file with MIT license
* updated vsix for deployment

* implement wrapper for all used classes of VCProjectEngine.dll since you cannot just use the oldest version of this
  assembly (see https://stackoverflow.com/questions/44288050/typecast-fails-when-visual-studio-extension-uses-reference-to-older-assembly).
* improved serialization and deserialization of compile commands and compilation databases.
* updated used JSON package
* rename CommandObject to CompileCommand
* changed implementation to keep non-existent file paths in cdb
* made methods of SolutionParser non-static
* replace spaces with tabs

* added IntegrationTests project
* configured tests to simulate a new instance of VisualStudio
* added cinder as test project for integration tests
* remove all absolute paths from expected output of integration tests

fortune cookie message = A stranger will bring great meaning to your life.
2017-06-02 14:48:29 +02:00
Eberhard Graether aaca8618e2 logic: Only request unconnected child nodes when expanding node
* increases graph performance by ~30%
2017-06-01 14:48:03 +02:00
Eberhard Graether 8660ab5b14 build: Codesign MacOS app bundle to avoid "from unidentified developer" warning
fortune cookie message = Der Stern des Reichtums wird in Kürze auf dich scheinen
2017-05-31 16:23:25 +02:00
Eberhard Graether 8ab0abbe69 data: Added exception handling to database index 2017-05-31 14:07:21 +02:00
Eberhard Graether b79891693b ui: Fixed errors always shown after indexing 2017-05-31 13:44:58 +02:00
Eberhard Graether 8a6def2d7a ui: Fixes for source group ui
* added final icons
* fixed inconsistent names on copy
* fixed files list for cdb groups not updated
2017-05-31 13:33:34 +02:00
Eberhard Graether 539377339a ui: finalized design for history list 2017-05-31 12:31:11 +02:00
Eberhard Graether 29cfbe0f66 logic: error limit and better user experience (issue #385)
* only show up to 1000 errors in table and code view
* click button in bottom right of error table to show all
* same error order in code and table
* highlight error line when switching reference in code view
* improved error view performance

bug id = 385
2017-05-30 23:11:20 +02:00
Eberhard Graether a34abe6b4b ui: fixes and improvements in graph
* use bezier edges for aggregations
* fixed expanding nodes in trail graph makes trouble
* fixed hovering of edges at arrow
2017-05-30 15:08:01 +02:00
Eberhard Graether f760b873b4 logic: Fixed source files indexed multiple times when in multiple source groups 2017-05-30 12:17:18 +02:00
Eberhard Graether 561284ef5a ui: fixes
* Fixed send ping after changing plugin ports
* Fixed can't close EULA window
2017-05-30 11:55:01 +02:00
Eberhard Graether 7d5d19fde7 utility: Fixed License location check for CI 2017-05-30 08:59:52 +02:00
Eberhard Graether bd40294a2c ui: Added menu action to display EULA and force accepting on Mac 2017-05-30 00:30:52 +02:00
Eberhard Graether 9256618f7c ui: Extended project setup to support creation and editing of Source Groups (issue #230)
* Turned QtProjectWizzard into window for Source Group ui
* Clicking into FilePicker when empty will open dialog right away
* Fixed environment variable use throughout all Source Group path values
* Moved Preferences to QtPreferencesWindow

bug id = 230

fortune cookie message = Zwischen dir und deinen Freunden besteht echte Freundschaft.
2017-05-29 17:08:28 +02:00
Eberhard Graether 13f7acbb70 data: Fixed no indexer commands created for relative file paths in cdb (issue #388)
bug id = 388
2017-05-23 11:42:39 +02:00
malte_langkabel 9b73d73a85 ui: display an error when loading a Clang Compilation Database fails 2017-05-23 09:35:58 +02:00
Eberhard Graether 082dfc2e1a logic: Fixed source files within CDB not indexed unless within Indexed Header Paths 2017-05-22 23:02:35 +02:00
Eberhard Graether 3598fd357d ui: Fixed status messages influence window resizing (issue #372)
bug id = 372
2017-05-19 15:21:34 +02:00
Eberhard Graether 5c21f23219 logic: match source file extensions case insensitive (issue #384)
bug id = 384
2017-05-19 14:39:45 +02:00
Eberhard Graether 65b5bd47f6 logic: Fixed indexing progress file count in status bar and status view (issue #387)
bug id = 387
2017-05-19 14:26:52 +02:00
Eberhard Graether 9088de8105 ui: History list polishing
* Fixed fulltext searches not included
* Show smaller colored indicator in front of list items
* Font weight bold on history list item hover
2017-05-19 14:08:56 +02:00
Eberhard Graether 9a100cd0c0 web: fixed fastspring test store link in blog navigation 2017-05-19 00:40:50 +02:00
malte_langkabel 655e0f15b0 build: remove dlls from windows deploy package
* no dlls required anymore since we removed the setup.exe earlier which was the only C++ binary requiring those dlls.
2017-05-18 10:15:35 +02:00
Eberhard Graether 83356e58ee src: Fixed clang build 2017-05-17 13:02:38 +02:00
malte_langkabel 6cb2119cce src: remove unused includes 2017-05-17 12:10:22 +02:00
Eberhard Graether ea3fd8b928 build: updated changlog for release 0.12.25
* and fixed clang warnings
2017-05-16 16:38:34 +02:00
Eberhard Graether 7cef92cb20 web: blog post for Release 0.12 2017-05-16 16:32:15 +02:00
Eberhard Graether d4e5808524 src: Fixed clang issues 2017-05-16 16:30:50 +02:00
malte_langkabel 4d140e396a src: add IndexerCommandType that will be used instead of string 2017-05-16 15:29:46 +02:00
Andreas Stallinger 80016596df logic: fix missing typename 2017-05-16 11:42:09 +00:00
malte_langkabel c551c9a1dd logic: add name delimiter to NameHierarchy
* NameHierarchy now looks like this: <delimiter>\tm<all the rest>
* made new baseclasses for SettingsMigration and SettingsMigrator
* Use the migration system for SqliteBookmarkStorage as well
2017-05-16 13:08:12 +02:00
Eberhard Graether 6d0f633d24 web: updated documentation
* maven project setup
* reset layout option
* use 0 indexer threads for auto-detection
* multi process setting
* bookmarking
* depth graph
* updated menu and shortcuts
* updated images
2017-05-16 10:52:52 +02:00
malte_langkabel c58b6ae23c logic: fix properly create sqlite indices when changing DB mode 2017-05-16 10:08:26 +02:00
Eberhard Graether d1a1552b8d logic: run MessageActivateAll also in parallel 2017-05-15 12:28:04 +02:00
Eberhard Graether 33452aaa0b build: Added QtCreator plugin to MacOS package 2017-05-15 12:25:13 +02:00
malte_langkabel 4a5b5c2e51 build: rename plugin directory for QtCreator and add this folder to windows package 2017-05-15 12:17:57 +02:00
malte_langkabel 00c696b385 logic: switch back to handling messages in sequence by default
* handling all messages in parallel caused UI synchronization issues
* for now the only message that requests to be handled in parallel is MessageActivateTokens
2017-05-15 11:59:15 +02:00
Eberhard Graether 0d244b0224 utility: Fixed message buffer might become empty while applying message filters 2017-05-15 11:31:10 +02:00
Andreas Stallinger 9937b9beeb documentation: fixed wrong imagename 2017-05-15 10:26:58 +02:00
Andreas Stallinger 6a90ee367c documentation: qt creator plugin
removed sublime text image in qt creator section
2017-05-15 10:20:34 +02:00
Andreas Stallinger 9d91e86e1e documenation: qt creator plugin
added qt creator plugin
2017-05-15 10:17:35 +02:00
Eberhard Graether c94b5f34a3 ui: Create bookmarks from graph context menu for node under mouse cursor (issue #373)
bug id = 373
2017-05-15 00:45:50 +02:00
Eberhard Graether 6de0021f70 ui: Fixed code view single file not scrolled to first fulltext search result 2017-05-14 20:08:25 +02:00
Eberhard Graether 3dfc0cb341 utility: Added MessageFilter API to messaging
* filter out focus in and out messages if both in queue
* filter out search autocomplete when multiple in queue
2017-05-14 19:39:05 +02:00
Eberhard Graether 6193ae9209 logic: Fixes for shared memory
* set unrestricted permissions on shared memory allocation to fix crash on Windows
* log exceptions during shared memory creation and destruction
* create SharedMemoryGarbageCollector after logging was enabled
2017-05-12 01:53:37 +02:00
malte_langkabel 40157039b4 src: use FilePath in FileSystem::getFileNamesFromDirectory 2017-05-11 16:30:14 +02:00
malte_langkabel 156c3d4b9f src: refactor UUIDUtility to conform with our coding conventions 2017-05-11 15:02:07 +02:00
Andreas Stallinger 4dcfe34485 logic: fixed template error on linux 2017-05-11 13:48:21 +02:00
malte_langkabel d160f38cbd build: remove setup.exe from windows package
* removed the exe since it does nothing but call the msi
* also fixed a missing include when building with DEPLOY on windows
2017-05-11 13:12:36 +02:00
malte_langkabel 1d1acc32f4 ui: improve item descriptions in application settings dialog 2017-05-11 11:15:44 +02:00
malte_langkabel 8a92453d60 logic: fix update of Java indexer to new version of Java dependencies
* reapplied previous reverts
* added cache for TypeSolvers in Java code
2017-05-10 17:54:21 +02:00
Andreas Stallinger f9a6c1ac09 build: remove manual build from master branch 2017-05-10 16:42:16 +02:00
Andreas Stallinger df7cdd2e7c build: gitlabci - job for licensegen and cleanup
* using template in yaml
* job for keygen added
2017-05-10 16:25:32 +02:00
Andreas Stallinger d100aca5fc build: gitlab-ci names for artifacts
* names for gitlab artifacts
* fix Linux package qt platforms lib
2017-05-10 16:09:43 +02:00
Eberhard Graether 960ca6703e logic: Fix indexing progress dialog not updated when fetching storage 2017-05-10 15:52:24 +02:00
Andreas Stallinger 2136e30a48 build: fixes to build on linux
*   dont use Q_PROCESSOR macros for 32/64 getArchitectureType
    move the function from lib_gui to lib
*   added missing include
2017-05-10 15:33:31 +02:00
Eberhard Graether f3cd9a1770 data: Fixed inconsistent node data in IntermediateStorage 2017-05-10 13:24:32 +02:00
Eberhard Graether 4b9c9858b7 data: Save timestamp of project indexing and show it in overview 2017-05-09 23:47:34 +02:00
Eberhard Graether 3fdd24f038 data: Fixes in indexing
* Show status update for every indexed translation unit and only once
* Save nodes in same order they were indexed
2017-05-09 22:55:49 +02:00
Eberhard Graether f4caacacf2 ui: Added history of last active symbols to UI and menu (issue 151)
* holding down back or forward button shows list of current back-forward stack
* added narrow button between back and forward to show the list
* added History menu
* moved back and forward actions to History menu
* show chronological list of recently active symbols in History menu

bug id = 151

fortune cookie message = Dein Geschäft wird gut laufen und expandieren.
2017-05-09 17:14:43 +02:00
Eberhard Graether bb8c2ae5a9 data: Set correct name delimiter per language in parsers 2017-05-09 16:25:58 +02:00
malte_langkabel 329544530d logic: fix crash when running 32 and 64 bit versions in parallel
fixed by making memory name of garbage collector depend on architecture type of sourcetrail binary
2017-05-09 15:07:18 +02:00
Eberhard Graether f3de8b5ae4 ui: Changed menu action to "Bookmark Active Symbol" 2017-05-08 17:15:54 +02:00
Eberhard Graether c0e3726b2d build: Changelog for 0.12 (beta) 2017-05-08 17:13:31 +02:00
Andreas Stallinger 12a3c7750f script: linux deinstall script fix
* linux deinstall script replaced / with -
* added categories in sourcetrail.desktop
2017-05-08 12:49:33 +00:00
Eberhard Graether 14fa67b909 logic: Limit multi process indexing to projects with C/C++ source groups 2017-05-08 14:45:37 +02:00
Eberhard Graether ad1a48bce4 Revert "logic: update java indexer to new version of Java dependencies"
This reverts commit da2b44bd25.
2017-05-08 14:17:22 +02:00
Eberhard Graether a224d42079 Revert "logic: java update linux"
This reverts commit 3864dc1fb1.
2017-05-08 14:17:03 +02:00
Eberhard Graether cacd97fa9c Revert "logic: update java on MacOS"
This reverts commit fa329be35f.
2017-05-08 14:16:34 +02:00
malte_langkabel f65aee612a build: fix windows CMake error
* fixed by converting backslashes in boost path to slashes
2017-05-08 14:03:15 +02:00
Eberhard Graether a1a709b049 logic: Fix trail graph check in MessageFlushUpdates handler of GraphController 2017-05-08 12:28:06 +02:00
Andreas Stallinger b729bf0a9a build: symlink for test/data 2017-05-08 07:18:23 +00:00
Eberhard Graether e5cad53e85 ui: Click edges in trail to show source location 2017-05-06 22:56:17 +02:00
Andreas Stallinger f5979f5ead build: fix missing include for linux
added thread include
2017-05-05 20:12:10 +00:00
malte_langkabel e8a24d3d98 logic: release fixes
* disable windows error dialogs on application crash for indexer target
* show indexing dialog at the start of indexing task instead of waiting for processes to start
* fix escaping path to binary for indexer process
* join garbagecollector thread when stopping
* fix compile errors related to FilePath in deploy mode on windows
2017-05-05 16:37:48 +02:00
Eberhard Graether 562e623930 utility: use non throwing try_lock approach when creating named mutex for shared memory 2017-05-05 16:31:51 +02:00
Eberhard Graether 8f44ad4a47 ui: Fixes for release
* updated keyboard shortcuts
* graph zooming also with Ctrl + Mouse Wheel
* display include and macro edges behind nodes
* allow more file search results
2017-05-05 12:40:51 +02:00
Eberhard Graether 9c6114336c data: Fixed TaskBuildIndex stops fetching when indexer commands are out and waits for indexer threads to stop first 2017-05-05 12:37:16 +02:00
Eberhard Graether fa329be35f logic: update java on MacOS 2017-05-05 12:35:59 +02:00
Andreas Stallinger 3864dc1fb1 logic: java update linux 2017-05-05 10:05:27 +00:00
malte_langkabel c93d5aa9f0 ui: add dialog to warn about active "verbose indexer logging" on refresh
* also featuring: remove unnecessary call in ParserClientImpl
2017-05-05 11:37:25 +02:00
malte_langkabel da2b44bd25 logic: update java indexer to new version of Java dependencies
* JavaSymbolSolver: Commit fac13d99
* JavaParser: Tag 3.2.0
2017-05-04 17:06:28 +02:00
Eberhard Graether d096106ec5 ui: improvements on trail layout
* increased spacing around graph
* fixed graph lagging on message focus out
* fixed level assignment fails
* fixed dead ends in cyclic graph removal
* improved node positioning by grouping to same average position
* fixed graph image export not centering graph
* fixed black dot at graph origin
* show status updates while creating trails
2017-05-04 16:46:17 +02:00
Eberhard Graether 706119ebcc data: indexer processes
* TaskBuildIndex starts seperate indexer processes and communicates via shared memory
* indexer processes get restarted if they fail
* indexer processes are killed when the app closes or crashes
* added utility class SharedMemory to allocate and access shared memory, providing basic data structures
* added SharedMemoryGarbageCollector for keeping track of running instances and cleaning up shared memory in case of a crash
* show errors for source files that crashed during indexing
* added basic exception handling to task scheduling
* added option to turn off processes and use threads in preferences, but still use shared memory

fortune cookie message = Good news from someone dear is coming soon.
2017-05-04 15:50:59 +02:00
Eberhard Graether 9beea94fd8 src: Removed ApplicationStateMonitor 2017-05-04 13:49:38 +02:00
Andreas Stallinger 29b07473fe src: fix filepath refactoring on linux
<description>
2017-05-04 12:33:28 +02:00
Eberhard Graether e8c01ae2ce logic: Fixed concurrency issues in TaskGroupParallel causing scheduler freeze 2017-05-04 11:57:52 +02:00
Eberhard Graether 74da2c7de9 src: fixes for FilePath refactoring on clang 2017-05-04 11:54:45 +02:00
malte_langkabel f46e9866fb build: try to fix compile error in our linux pipeline 2017-05-04 11:17:36 +02:00
malte_langkabel 054b8fab17 logic: reduce access to filesystem while indexing
* use canonical filepath cache in cxx indexer
* made constructors of FilePath explicit
* use FilePath at more places instead of string
* forward declares FilePath wherever possible
2017-05-04 10:55:16 +02:00
Andreas Stallinger 55d3f9c189 fix: 64bit builder segault
returning a bool seem to cause a seg fault on the linux 64 bit builder
since it is not used anyway i changed it back to the void return.
(dont know why it is a seg fault)
2017-05-03 11:22:28 +00:00
Eberhard Graether e33be096a6 logic: Disable bookmark creation when overview or errors are shown 2017-04-26 16:44:49 +02:00
Eberhard Graether b98444c15e ui: styled trail navigation
* added icons to buttons
* added toggle for collapsing and expanding controls
* added controls visibility to app settings
* fixed low contrast for disabled buttons in bright color scheme
2017-04-26 15:38:55 +02:00
malte_langkabel bf094b52da logic: fix initialization of source groups
SourceGroups have been initialized with wrong default values which
have later been used to write for writing the ProjectSettings file
if not overwritten.
2017-04-26 11:24:13 +02:00
Eberhard Graether 0468168d61 ui: Fixes and improvements for bookmarks
* moved bookmark buttons behind search bar
* suggest qualified name when creating, file name for files
* fixed bug when updating bookmark category
* changed comment toggle arrow
* changed edit and delete icons
* fixed undo for edge bookmarks
* keep categories always alphabetical regardless of subsorting
* keep category expansion state when opening and closing browser
* removed QtBookmarkBar, moved logic into QtBookmarkView
* added bookmarks Menu with shortcuts
	Ctrl + D: Create Bookmark
	Ctrl + B: Bookmark Manager
2017-04-26 00:33:34 +02:00
malte_langkabel 4ac41de61e web: fix inaccuracies in the documentation 2017-04-25 17:20:59 +02:00
malte_langkabel f6f7861ff1 logic: improve SQLite injection performance
* removed unique constraints again and added manual checks and db indices
2017-04-25 13:19:43 +02:00
malte_langkabel e669064452 logic: Add unique constraints to SQLite tables 2017-04-24 17:38:16 +02:00
Eberhard Graether 4bfe59df76 data: Fixed file complete flag not set when retrieving single source locations in SourceLocationCollection 2017-04-24 01:46:42 +02:00
Eberhard Graether f0b7dcdcdd ui: Show call graphs, inheritance trees and include trees for active symbol (issue 249 337)
* Added TrailLayouter with Sugiyama dependency layouting
* Layouter supports horizontal and vertical layouts
* Added basic ui to graph view for showing incoming and outgoing paths
* Added depth slider, with infinity at maximum
* Disable trail ui when not available
* Added trail messages to undo stack and only use last one when undoing
* Added QtGraphLineBezier for trail graphs and refactored other line types
* Disabled edge activation for trail layouts, shown only visually
* Highlight all connected edges when hovering a node in trail layout
* Use different color when highlighting call edges for better contrast
* Fixed BucketLayouter issue when edge does not leave node
* Increased click area for angled edges

bug id = 249 337

fortune cookie message = Answer just what the heart prompts to you.
2017-04-24 01:14:53 +02:00
Eberhard Graether 01bd0efefb logic: run message handling in parallel per message 2017-04-19 14:26:28 +02:00
Eberhard Graether 33ff346d3b logic: Fixed refresh not recognizing added files 2017-04-19 14:03:10 +02:00
Eberhard Graether 9d718d6a87 logic: Show unknown progress dialog when refreshing (issue 341)
* refactored dialog handling
* Application always provides a DialogView instance

bug id = 341
2017-04-19 13:04:46 +02:00
Eberhard Graether c4deca4662 ui: Added show files button to summary of compilation database project setup (issue 354)
bug id = 354
2017-04-18 22:41:41 +02:00
Eberhard Graether 63087913bd data: Option to run only C/C++ preprocessor when indexing (issue 297)
* Added as checkbox to indexing start dialog
* Only shown for C/C++ projects
* Files will be marked incomplete
2017-04-18 22:11:20 +02:00
malte_langkabel 2b24b88745 data: bookmark refactoring
* implemented handling of aggregations in bookmarks
* split index Storage and bookmark storage
* each sqlite database has its own version now
* added bookmark tests
* fixed creating bookmark tables when project can be loaded but bookmark db does not exist
* fixed font size for bookmarkview tooltips
* using bookmark cache now
* using default category name when none specified by the user
* raising bookmark windows when they should be shown
* clearing a bookmark or category in the editor will now update the star icon accordingly
* non-persistent bookmarks use ids of nodes and edges now (instead of names)
* git ignore .srctrlbm files
2017-04-17 10:55:59 +02:00
Eberhard Graether 6cd6552343 data: improvements on error management
* mark all files with errors as incomplete
* fix incomplete label in codeview tooltip not updated properly
* added setting for canceling indexing for files with fatal errors
2017-04-15 17:57:20 +02:00
Eberhard Graether 8dc5ac7cbe data: stop indexing of files with fatal errors and store them as incomplete (issue 358)
* avoid AST traversial for CXX translation units with fatal errors
* save all files within those translation units as incomplete
* show number of complete files in finished indexing dialog and overview stats
* display incomplete files hatched in graph view
* display incomplete file titles hatched in code view
* mention file incompleteness in tooltips
* removed derived Indexer classes and set ParserType via template parameter instead
* moved getSourceFileFromCDB from IndexerCxxCdb to IndexerCommandCxxCdb

bug id = 358
2017-04-15 01:02:09 +02:00
Eberhard Graether 2b38e0f45e src: Fixed C++ source extensions and standard saved to compilation database source group
bug id = 366
2017-04-14 12:57:32 +02:00
Eberhard Graether 8faad97178 build: Changelog for release 0.11.86 2017-04-12 12:29:10 +02:00
Eberhard Graether 8765cffac0 web: Name switch blog post 2017-04-12 12:21:27 +02:00
malte_langkabel 6e342fa87c logic: terminating all running tasks before closing the application (issue #343) 2017-04-12 10:46:56 +02:00
Eberhard Graether 0e4b606c7c src: Fixed FileRegisterStateData synchronisation 2017-04-12 00:38:48 +02:00
malte_langkabel b9d1f5367c logic: skip saving duplicate data
* check for duplicates in intermediate storage
* added unique constraints to sqlite tables
2017-04-11 18:56:15 +02:00
Andreas Stallinger 2a6af01ee8 ui: enter license window resized 2017-04-11 14:16:57 +02:00
malte_langkabel c78fe0d8d4 logic: Use all available cores when setting indexer threads to 0 (issue #342) 2017-04-11 13:42:20 +02:00
malte_langkabel 498933d0aa logic: fix windows uninstall if both 32 and 64 bit are installed
* using different GUIDs for 32 and 64 bit components
2017-04-11 13:37:03 +02:00
Eberhard Graether 06917304bb src: Disabled bookmarking for upcoming release 2017-04-11 10:14:46 +02:00
Eberhard Graether 862d140695 web: Switched documentation to Google Analytics 2017-04-11 10:03:16 +02:00
Eberhard Graether c6a0f0b000 ui: fixes for release
* fixed NameHierarchy delimiter not set when project settings need to be migrated
* fixed codeview does not scroll to linenumber in single file mode when activating symbol in changed file
2017-04-11 09:42:46 +02:00
malte_langkabel 23341d63d0 ui: reset window layout option in view menu 2017-04-10 18:45:32 +02:00
malte_langkabel 050e31c1fd logic: fix copying old settings from coati 64 bit to sourcetrail on windows 2017-04-10 17:45:27 +02:00
malte_langkabel 7421ef85d1 data: update windows installer images to sourcetrail 2017-04-10 17:36:46 +02:00
Andreas Stallinger 17c0189a83 build: get rid of some compiler warnings
<description>
2017-04-10 15:51:26 +02:00
malte_langkabel 85f4262787 logic: fix maven detection was slow when no maven installed on windows system 2017-04-10 15:41:39 +02:00
malte_langkabel 635bf70076 logic: ping related updates
* ping is now sent on window focus
* remove ping result from status view
2017-04-10 12:09:58 +02:00
malte_langkabel d4d3decfb9 logic: fix log file did not have a name 2017-04-10 11:02:12 +02:00
Eberhard Graether 6ba93ca39f src: more bug fixes
* fixed snippets added twice on token reactivation for errors and fulltext search results
* fixed colorscheme gets refreshed when cancelling preferences
* scroll to first line in errors table after indexing and showing view
* fixed file not properly expanded when snippet covers full file
* fixed project type naming in project setup
* fixed set delimiter of NameHierarchy for projects that can't be loaded yet
* changed language order for project setup
2017-04-07 17:14:34 +02:00
Andreas Stallinger 5570458e53 build: use coati docker images
there is no sourcetrail docker image
2017-04-07 13:28:01 +02:00
Andreas Stallinger 045a259b2e build: renaming to sourcetrail 2017-04-07 13:19:09 +02:00
Eberhard Graether 8391a6da57 src: Bug fixes
* fixed - to _ in color schemes
* fixed yoda talk in Tutorial
* fixed graph node with no children but qualifier has expand toggle
* added placeholder and file filter for maven detection on MacOS
* fixed NameHierarchy delimiter wrong in SearchIndex
2017-04-06 16:53:17 +02:00
Andreas Stallinger 30dda62970 ui: Maven Preferences on linux
* maven filter and placeholder for linux in preferences
2017-04-03 11:36:06 +02:00
malte_langkabel 63a1fe9b80 logic: treat VS project as CDB source group after creation 2017-04-03 10:39:55 +02:00
malte_langkabel 9947e83846 logic: allow usage of blank spaces in maven path 2017-04-03 10:10:16 +02:00
malte_langkabel da063377cd build: fix cyclic file dependencies that break the build on Linux 2017-04-03 09:53:04 +02:00
malte_langkabel 0f94104005 build: enable fast linking for windows debug builds 2017-04-03 08:55:53 +02:00
malte_langkabel 7b30ac18de logic: source groups for project settings
* project can not have multiple source groups with different types
* language of a project is now inferred from source groups
* setting global NameHierarchy delimiter of first sourceGroup in project
* added project settings migrations for source groups
* Add Settings Migration classes (MoveKey, DeleteKey, Lambda)
* Update sample projects with migrations
* added method to config to retrieve sublevel key names
* implemented recursive removing of keys in settings
* moved project files out of top level
* removed solution parsing code as it is not used anymore

fortune cookie message = The secret of getting ahead is getting started.
2017-03-31 16:11:37 +02:00
wrongway88 25f3c4666a src: Logger Utility
Added logger utility and outsourced file name creation for file loggers to it
2017-03-29 22:56:37 +02:00
wrongway88 abf7c723a2 src: hotfix
Added missing stl functional include
2017-03-28 22:32:33 +02:00
Eberhard Graether 4e9ba897ac src: Refactored TokenLocation classes to SourceLocation classes
* Removed TokenLocationLine
* decoupled TokenLocationFile from TokenLocationCollection
* save vector of Token ids to SourceLocation
* refactored SourceLocationFile::getFilteredByLines()
* refactored snippet creation
2017-03-25 02:05:48 +01:00
malte_langkabel 4c64822504 web: add blog post "How to Integrate Maven into Your Own Java Tool" 2017-03-23 15:06:19 +01:00
Andreas Stallinger d33e137451 fix: contextmenu getInstance added 2017-03-23 12:53:06 +01:00
Andreas Stallinger 591b66fe77 build: linux symlink
linux symlink moved from setup script to cmake
2017-03-22 18:54:29 +01:00
Andreas Stallinger 9846bbc014 ui: Enable/Disable undo/redo contextmenu 2017-03-22 17:49:47 +01:00
malte_langkabel b72d6a2e3b data: reference gui data for bookmarks in wix installer 2017-03-22 09:52:37 +01:00
Eberhard Graether faf0ab3ac7 ui: Updated style of QtBookmarkBrowser 2017-03-21 17:05:23 +01:00
Eberhard Graether 8ffc2f281c ui: Fixed layout of QtBookmarkBrowser
* fixed window size and resizing
* fixed layout and spacing
* removed focus rects on Mac
* fixed filter dropdown style for Mac
* reuse button handling from QtWindow
* use different colors for category and bookmark rows
* allow clicking full row for expansion
* show edit and delete button only on hover
* ellide bookmark name when little space
2017-03-20 15:01:18 +01:00
malte_langkabel a96bba67cb data: added missing component for Maven icon to WIX setup 2017-03-20 14:18:22 +01:00
Eberhard Graether 42038337c0 Revert "src: Disabled bookmarking for upcoming beta release"
This reverts commit 9807bf856a.
2017-03-20 12:42:14 +01:00
malte_langkabel cdf5a81af9 ui: fixed animated scroll in single file code view 2017-03-20 11:11:03 +01:00
malte_langkabel 4f77f073f0 logic: update java indexer
* update to use JavaSymbolSolver 0.5.2.x (fce40b67)
* update to use JavaParse 3.1.2 (4537e57a)
* implemented solving constructor calls instead of just recording a type usage here
2017-03-19 16:11:55 +01:00
Eberhard Graether 9807bf856a src: Disabled bookmarking for upcoming beta release 2017-03-17 14:30:52 +01:00
Eberhard Graether ffafc55273 ui: Fixed layout of QtBookmarkCreator
* fixed window size and resizing
* fixed layout and spacing
* removed focus rects on Mac
* fixed category dropdown style for Mac
* reuse button handling from QtWindow
* updated QtBookmarkBar buttons to new icon creation
2017-03-17 13:36:34 +01:00
malte_langkabel 5fea315cc9 ui: Add status dialog for Maven project setup 2017-03-17 13:18:48 +01:00
Eberhard Graether 139c49805d src: cleaned up StorageAccess 2017-03-17 00:47:01 +01:00
Eberhard Graether 630009a2ba logic: Refactored undo redo stack
* Store MessageActivateTokens instead of original view messages
* Renamed FeatureController to ActivationController
* Remove all non-activation messages from undo redo stack after reindexing project
* Added MessageShowReference to undo redo stack
* Added MessageScrollGraph for restoring graph view scroll position
* Fixed MessageGraphNodeMove not saved for bundles
* Refactored tokenIds and nodeNames in SearchMatch and MessageActivateTokens
* Refactored SearchController
* Fixed file expansion on undoing/redoing after switching code view mode
* Fixed redundant graph animation due to present qualifier nodes
* Fixed no restoring of graph node expansion when showing overview in between
2017-03-16 23:24:33 +01:00
Eberhard Graether aa49fffca6 src: fixed clang warnings 2017-03-15 12:58:06 +01:00
Andreas Stallinger c8404aa83d fix: no dialogs in headless mode 2017-03-14 18:22:46 +01:00
malte_langkabel a8edf47685 ui: added Maven project icon 2017-03-13 14:54:39 +01:00
Andreas Stallinger 2d2a439b30 utilty: sourcetrail license generator
* generate sourcetrail licenses
* get version from loaded license
2017-03-13 10:29:45 +01:00
malte_langkabel 8533ad7535 logic: minor maven fixes
* changed maven related value name in project settings
* fixed JavaProjectSettings to return correct ProjectType for Maven project
2017-03-09 11:57:22 +01:00
malte_langkabel 3cbe83f9e6 logic: maven project setup
* added option to create a Coati project from a Maven POM file
* show list of indexed file paths in maven project setup
* use FileManager to detect indexed files in project setup (except cdb)
* added Maven path to preferences window and added path detectors.
* fixed: QtDialogView::hideStatusDialog now also hides loader in status bar.
* refactored ProjectType

fortune cookie message = If you continually give, you will continually have.
2017-03-08 14:55:42 +01:00
Andreas Stallinger d6f3099981 build: Linux desktop file
validation of desktop file on some linux distros went wrong without the
semicolon
2017-03-07 16:42:22 +01:00
malte_langkabel 235a224f12 logic: implemented skipping implicit code in CxxForRangeStatements 2017-03-06 16:41:10 +01:00
malte_langkabel bcc71d630f build: hide console when running release builds on windows 2017-03-06 12:59:58 +01:00
malte_langkabel 476e731b9e build: building windows releases with .pdb files now to debug customer crashes with .dmp files 2017-03-03 19:49:39 +01:00
Andreas Stallinger 928ff49b74 build: dependencies added to testgen
* prebuild should now update correct, if new tests or test are deleted
2017-03-03 16:16:41 +01:00
Andreas Stallinger f5dfafe091 logic: license seats, startscreen
* license info on startscreen
* volume license
* license generator update
2017-03-03 13:49:05 +01:00
Eberhard Graether a1d8100215 web: blog post for Release 0.11 2017-03-01 13:09:49 +01:00
Eberhard Graether 6a0cf7dbb4 web: updated documentation to Release 0.11 2017-03-01 11:28:29 +01:00
malte_langkabel 67f97071e0 ui: fixed naming of 64 bit windows path detector
* also removed LibLincense dependencies on Lib because they are linked the other way round
2017-02-27 11:21:52 +01:00
Andreas Stallinger eac48596ad logic: Licenses with seats 2017-02-27 09:53:39 +01:00
Eberhard Graether 0423a86a63 script: Added RTTI flag to clang build command in README 2017-02-24 15:35:23 +01:00
Eberhard Graether a80d8761d8 blog: Coati birthday post 2017-02-24 15:28:27 +01:00
wrongway88 e6f7e61a5f logic: vs plugin cdb writing
cdb data will now be written to file immediatly instead of stored and then written all at once
this might solve memory issues for very large projects, but also increases parsing time (added concurency)
2017-02-23 00:01:18 +01:00
malte_langkabel 4563cbe90a logic: indexer commands
* replaced parser arguments by project specific IndexerCommands that know everything the indexer needs to know to do its job
* added different language and project specific indexers that know how to handle a certain kind of indexer command
* refactored FileManager and FileRegister to have less overhead
* removed no-rtti restriction for clang files in lib cxx
* uncommented deprecated interprocess code.

fortune cookie message = Happiness will bring you good luck.
2017-02-22 16:42:20 +01:00
malte_langkabel 650cd8101e data: removed QT dlls from repo
removeing qt dlls from repo since they need so much space. fetching them from qt install dir in setup script now.
2017-02-22 12:12:46 +01:00
Eberhard Graether a0d3bd272c ui: Fixed scrolling to active symbol when clicking on active graph view node 2017-02-22 04:58:54 +01:00
Eberhard Graether 224f0b05f9 ui: fixed method names disappearing in code view after being deselected 2017-02-22 04:30:48 +01:00
Eberhard Graether 79fc78a518 ui: Fixed shortcuts dialog
* fixed table sizes
* fixed scrolling for MacOS
* fixed couldn't resize dialog
2017-02-22 03:17:35 +01:00
wrongway88 c895179ace ui: vs plugin dialog
Improved dialog for finished cdbs
2017-02-21 21:29:03 +01:00
Andreas Stallinger f257a207f4 script: publish script, switch back to branch
switch back to branch if rebase does not work
2017-02-21 18:01:23 +01:00
Andreas Stallinger 0e5cc4bf7a build: fix build on Unix systems
* throw std::exception replaced with throw error
* MANAGER to Manager in CMakelists
2017-02-21 17:46:09 +01:00
wrongway88 1fbc16e098 logic: interprocess utility
Added basic interprocess utility
2017-02-21 17:12:35 +01:00
Andreas Stallinger 9673685165 build: manual jobs added to ci 2017-02-21 14:06:51 +01:00
Eberhard Graether 77ef076c88 ui: Show definition in code view when clicking active node in graph 2017-02-21 00:37:19 +01:00
Eberhard Graether 4a230b1d94 logic: Fixed full text search messages not stacked consecutively 2017-02-21 00:17:32 +01:00
Eberhard Graether 02850baf9c logic: Fixed error activation from code caused another show error message 2017-02-21 00:14:02 +01:00
Eberhard Graether d02e3e74d0 ui: Fixed moving bundle nodes was not stored in undo stack 2017-02-21 00:10:49 +01:00
Eberhard Graether 04a5abdf98 data: Fixed file id retrieval for file in search match 2017-02-20 11:24:01 +01:00
Eberhard Graether 5dc901ea13 build: Added changelog for release 0.11.0 2017-02-19 20:57:05 +01:00
Eberhard Graether 558f0451af Revert "src: Disabled bookmarking for upcoming release"
This reverts commit 356c753f13.
2017-02-19 20:48:17 +01:00
wrongway88 ed9ff6d1bc ui: plugin ping
added update pings on token activation (just to have a somewhat regularly reoccuring event to trigger the ping)
2017-02-16 20:30:22 +01:00
wrongway88 50df7cace2 logic: vs plugin fix
fixed issue with include path retreival
2017-02-16 16:39:21 +01:00
wrongway88 18153a2ac5 logic: VS Plugin logging/exception handling
Added some additional logging and exception handling to solution parser
2017-02-16 00:32:39 +01:00
Andreas Stallinger 217e9ceff2 build: linux package names
* linux packages names to 64bit/32bit instead of x86_64/i686
2017-02-15 12:51:28 +01:00
Andreas Stallinger c028d28ffd build: ci tag push 2017-02-15 12:10:46 +01:00
1389 changed files with 326023 additions and 46816 deletions
+25 -16
View File
@@ -2,24 +2,13 @@
/distr/
/deps/
/bin/app/Debug/
/bin/app/Release/
/bin/app/data/projects/ignored/
/bin/app/data/java/
/bin/app/user/log/
/bin/app/user/ApplicationSettings.xml
/bin/app/user/window_settings.ini
/bin/app/*.log
/bin/lib/
/bin/lib_gui/
/bin/lib_parser/
/bin/lib_license/
/bin/license_generator/Debug/
/bin/license_generator/Release/
/bin/test/Debug/
/bin/test/Release/
/bin/test/data/log/
/bin/test/data/temp.xml
/bin/test/data/TestSettings.xml
@@ -31,23 +20,44 @@
.DS_Store
.idea
.vscode
/ide_plugins/vs/vs2015/CoatiPlugin/CoatiPlugin/bin
/ide_plugins/vs/vs2015/CoatiPlugin/CoatiPlugin/obj
/ide_plugins/vs/vs2015/SourcetrailPlugin/SourcetrailPlugin/bin
/ide_plugins/vs/vs2015/SourcetrailPlugin/SourcetrailPlugin/obj
/ide_plugins/vs/vs2015/SourcetrailPlugin/SourcetrailPluginTests/bin/Debug
/ide_plugins/vs/vs2015/SourcetrailPlugin/SourcetrailPluginTests/bin/Release
/ide_plugins/vs/vs2015/SourcetrailPlugin/SourcetrailPluginTests/obj
/ide_plugins/vs/vs2015/SourcetrailPlugin/SourcetrailPluginUtility/bin
/ide_plugins/vs/vs2015/SourcetrailPlugin/SourcetrailPluginUtility/obj
/ide_plugins/vs/vs2015/SourcetrailPlugin/VCProjectEngineWrapperInterfaces/bin
/ide_plugins/vs/vs2015/SourcetrailPlugin/VCProjectEngineWrapperInterfaces/obj
/ide_plugins/vs/vs2015/SourcetrailPlugin/VCProjectEngineWrapper/bin
/ide_plugins/vs/vs2015/SourcetrailPlugin/VCProjectEngineWrapper/obj
/ide_plugins/vs/vs2015/SourcetrailPlugin/VCProjectEngineWrapperFactories/bin
/ide_plugins/vs/vs2015/SourcetrailPlugin/VCProjectEngineWrapperFactories/obj
/ide_plugins/vs/vs2015/SourcetrailPlugin/TestResults
*.coatidb
*.srctrldb
*.srctrlbm
*.suo
*.vcxproj.user
*.sqlite
*.pch
*.swp
*.swo
*.VC.db
.clang_complete
.ycm_extra_conf.py
.ycm_extra_conf.pyc
coati.coatiproject
sourcetrail.srctrlprj
compile_commands.json
Makefile
CMakeLists.txt.user*
/__pycache__/
/deployment/windows/wixSetup/bin
@@ -56,4 +66,3 @@ Makefile
/deployment/windows/wixSetup/CustomActions/UninstallRemoveLogFolder/obj
/deployment/windows/wixSetup/Setup/build/Setup/Release
/deployment/windows/wixSetup/Setup/build/Setup/x64
/deployment/windows/wixSetup/Setup/build/Setup.VC.db
+75 -14
View File
@@ -1,18 +1,60 @@
.script_template: &script_definition
script:
- ./script/setup.sh
- ./script/buildonly.sh all
- ./script/buildonly.sh package
- ./build/Release/app/Sourcetrail --licenseFile ./setup/license.txt
- cd ./bin/test
- ../../build/Release/test/Sourcetrail_test
Linux64:
image: st4ll1/coati_linux_64
stage: deploy
only:
- master
- triggers
<<: *script_definition
artifacts:
name: "$CI_JOB_NAME"
paths:
- Sourcetrail*.tar.gz
expire_in: 3 days
Linux64_tag:
image: st4ll1/coati_linux_64
stage: deploy
only:
- tags
<<: *script_definition
artifacts:
name: "$CI_JOB_NAME$CI_COMMIT_TAG"
paths:
- Sourcetrail*.tar.gz
Linux64_manual:
image: st4ll1/coati_linux_64
stage: deploy
except:
- master
when: manual
<<: *script_definition
artifacts:
name: "$CI_JOB_NAME"
paths:
- Sourcetrail*.tar.gz
Linux64_licenseGenerator:
image: st4ll1/coati_linux_64
stage: deploy
when: manual
script:
- ./script/setup.sh
- ./script/buildonly.sh all
- ./script/buildonly.sh package
- ./build/Release/app/Coati --licenseFile ./setup/license.txt
- cd ./bin/test
- ../../build/Release/test/Coati_test
- ./script/buildonly.sh r keygen
- mv build/Release/license_generator/Sourcetrail_license_generator .
artifacts:
name: "$CI_JOB_NAME"
paths:
- distr/Coati*.tar.gz
- Sourcetrail_license_generator
expire_in: 3 days
Linux32:
@@ -20,14 +62,33 @@ Linux32:
stage: deploy
only:
- master
script:
- ./script/setup.sh
- ./script/buildonly.sh all
- ./script/buildonly.sh package
- ./build/Release/app/Coati --licenseFile ./setup/license.txt
- cd ./bin/test
- ../../build/Release/test/Coati_test
- triggers
<<: *script_definition
artifacts:
name: "$CI_JOB_NAME"
paths:
- distr/Coati*.tar.gz
- Sourcetrail*.tar.gz
expire_in: 3 days
Linux32_tag:
image: st4ll1/coati_linux_32
stage: deploy
only:
- tags
<<: *script_definition
artifacts:
name: "$CI_JOB_NAME$CI_COMMIT_TAG"
paths:
- Sourcetrail*.tar.gz
Linux32_manual:
image: st4ll1/coati_linux_32
stage: deploy
except:
- master
when: manual
<<: *script_definition
artifacts:
name: "$CI_JOB_NAME"
paths:
- Sourcetrail*.tar.gz
+136 -32
View File
@@ -13,7 +13,8 @@ include(cmake/setWinXxBits.cmake)
# Variables --------------------------------------------------------------------
set(PROJECT_NAME Coati)
set(PROJECT_NAME Sourcetrail)
set(PROJECT_NAME_LOWER_CASE sourcetrail)
set(APP_PROJECT_NAME "${PROJECT_NAME}")
set(LIB_LICENSE_PROJECT_NAME "${PROJECT_NAME}_lib_license")
@@ -24,6 +25,8 @@ set(LIB_PROJECT_NAME "${PROJECT_NAME}_lib")
set(LICENSE_GENERATOR_PROJECT_NAME "${PROJECT_NAME}_license_generator")
set(TEST_PROJECT_NAME "${PROJECT_NAME}_test")
set (APP_INDEXER_NAME "${PROJECT_NAME_LOWER_CASE}_indexer")
if (WIN32)
set(PLATFORM_INCLUDE "includesWindows.h")
# this adds the library path for VLD, must be done before the project target is created
@@ -91,35 +94,40 @@ add_definitions(${CLANG_DEFINITIONS})
# Boost ------------------------------------------------------------------------
set(Boost_USE_MULTITHREAD ON)
set(Boost_USE_STATIC_LIBS ON)
set(Boost_USE_STATIC_RUNTIME OFF)
set(BOOST_LIBRARYDIR $ENV{BOOST_159_DIR})
if(UNIX AND NOT APPLE)
set(BOOST_ROOT $ENV{BOOST_DIR})
elseif(UNIX AND APPLE)
set(BOOST_ROOT $ENV{BOOST_159_DIR})
set(Boost_NO_SYSTEM_PATHS ON)
else()
STRING(REGEX REPLACE "\\\\" "/" BOOST_LIBRARYDIR ${BOOST_LIBRARYDIR})
if(${WINXXBITS} STREQUAL "Win32")
set(BOOST_ROOT "$ENV{BOOST_159_DIR}/win32")
set(BOOST_ROOT "${BOOST_LIBRARYDIR}/win32")
else()
set(BOOST_ROOT "$ENV{BOOST_159_DIR}/win64")
set(BOOST_ROOT "${BOOST_LIBRARYDIR}/win64")
endif()
set(Boost_NO_SYSTEM_PATHS ON)
endif()
set(Boost_USE_MULTITHREAD ON)
set(Boost_USE_STATIC_LIBS ON)
set(Boost_USE_STATIC_RUNTIME OFF)
set(BOOST_LIBRARYDIR $ENV{BOOST_159_DIR})
find_package(Boost 1.59 COMPONENTS system program_options filesystem date_time REQUIRED)
# Botan -------------------------------------------------------------------------
set(BOTAN_VERSION "botan-1.11")
set(BOTAN_VERSION "botan-1.11" "botan-2")
if(APPLE)
find_library(BOTAN ${BOTAN_VERSION} $ENV{BOTAN_DIR}/release NO_DEFAULT_PATH)
find_library(BOTAN_D ${BOTAN_VERSION} $ENV{BOTAN_DIR}/debug NO_DEFAULT_PATH)
elseif(UNIX)
find_library(BOTAN ${BOTAN_VERSION} "$ENV{BOTAN_DIR}/lib")
find_library(BOTAN
NAMES ${BOTAN_VERSION}
HINTS "$ENV{BOTAN_DIR}/lib")
else()
if(${WINXXBITS} STREQUAL "Win32")
find_library(BOTAN botan "$ENV{BOTAN_DIR}/win32/release")
@@ -217,9 +225,10 @@ set_property(
"${CMAKE_SOURCE_DIR}/src/lib"
"${CMAKE_SOURCE_DIR}/src/external"
"${CMAKE_SOURCE_DIR}/src/lib_license"
"${CMAKE_SOURCE_DIR}/src/lib_gui"
"${CMAKE_BINARY_DIR}/src/lib_license"
"${CMAKE_SOURCE_DIR}/src/lib_cxx"
"${CMAKE_SOURCE_DIR}/src/lib_java"
"${CMAKE_BINARY_DIR}/src/lib_license"
)
target_include_directories(${LIB_PROJECT_NAME} SYSTEM
@@ -234,11 +243,8 @@ target_link_libraries(${LIB_PROJECT_NAME} ${Boost_LIBRARIES} ${LIB_LICENSE_PROJE
add_subdirectory(src/lib_cxx)
set_source_files_properties(${CLANG_FILES} PROPERTIES COMPILE_FLAGS "-fno-rtti")
add_library(${LIB_CXX_PROJECT_NAME} ${LIB_CXX_FILES})
add_library(${LIB_CXX_PROJECT_NAME} ${CLANG_FILES} ${LIB_CXX_FILES})
create_source_groups(${CLANG_FILES})
create_source_groups(${LIB_CXX_FILES})
set_property(
@@ -278,6 +284,7 @@ set_property(
PROPERTY INCLUDE_DIRECTORIES
"${CMAKE_SOURCE_DIR}/src/lib_java"
"${CMAKE_SOURCE_DIR}/src/lib"
"${CMAKE_SOURCE_DIR}/src/lib_gui"
)
target_include_directories(${LIB_JAVA_PROJECT_NAME} SYSTEM
@@ -287,6 +294,8 @@ target_include_directories(${LIB_JAVA_PROJECT_NAME} SYSTEM
link_directories(${Boost_LIBRARY_DIRS})
target_link_libraries(${LIB_JAVA_PROJECT_NAME} ${LIB_PROJECT_NAME})
add_custom_command(
TARGET ${LIB_JAVA_PROJECT_NAME}
PRE_BUILD
@@ -364,6 +373,7 @@ set_property(
"${CMAKE_SOURCE_DIR}/src/lib_gui"
"${CMAKE_SOURCE_DIR}/src/lib"
"${CMAKE_SOURCE_DIR}/src/lib_cxx"
"${CMAKE_SOURCE_DIR}/src/lib_java"
"${CMAKE_SOURCE_DIR}/src/lib_license"
"${CMAKE_BINARY_DIR}/src/lib_gui"
"${CMAKE_BINARY_DIR}/src/lib_license"
@@ -391,11 +401,64 @@ configure_file(
${CMAKE_BINARY_DIR}/src/lib_gui/version.h
)
# configure public key for the coati version
include(cmake/publicKey.cmake)
# configure public key for the sourcetrail version
include(cmake/public_key.cmake)
set(CMAKE_AUTOMOC OFF)
# Indexer App ------------------------------------------------------------------
if (UNIX)
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/app/")
else ()
foreach( OUTPUTCONFIG ${CMAKE_CONFIGURATION_TYPES} )
string( TOUPPER ${OUTPUTCONFIG} OUTPUTCONFIG )
set( CMAKE_RUNTIME_OUTPUT_DIRECTORY_${OUTPUTCONFIG} "${CMAKE_BINARY_DIR}/${OUTPUTCONFIG}/app/")
endforeach( OUTPUTCONFIG CMAKE_CONFIGURATION_TYPES )
endif ()
add_subdirectory(src/indexer)
# Find includes in corresponding build directories
set(CMAKE_INCLUDE_CURRENT_DIR ON)
add_executable(${APP_INDEXER_NAME} ${INDEXER_FILES})
if (WIN32)
# hide the console when running a release build.
set_target_properties(${APP_INDEXER_NAME} PROPERTIES LINK_FLAGS_DEBUG "/SUBSYSTEM:CONSOLE /DEBUG:FASTLINK")
set_target_properties(${APP_INDEXER_NAME} PROPERTIES COMPILE_DEFINITIONS_DEBUG "_CONSOLE")
set_target_properties(${APP_INDEXER_NAME} PROPERTIES LINK_FLAGS_RELWITHDEBINFO "/SUBSYSTEM:CONSOLE")
set_target_properties(${APP_INDEXER_NAME} PROPERTIES COMPILE_DEFINITIONS_RELWITHDEBINFO "_CONSOLE")
set_target_properties(${APP_INDEXER_NAME} PROPERTIES LINK_FLAGS_RELEASE "/ENTRY:\"mainCRTStartup\" /SUBSYSTEM:WINDOWS /DEBUG")
set_target_properties(${APP_INDEXER_NAME} PROPERTIES LINK_FLAGS_MINSIZEREL "/SUBSYSTEM:WINDOWS")
# generate pdb for release build
set (CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} /Zi")
endif ()
create_source_groups(${INDEXER_FILES})
target_link_libraries(${APP_INDEXER_NAME} ${LIB_GUI_PROJECT_NAME} ${LIB_CXX_PROJECT_NAME} ${LIB_JAVA_PROJECT_NAME} ${LIB_PROJECT_NAME})
if (APPLE)
find_library(CORE_FOUNDATION CoreFoundation)
target_link_libraries(${APP_INDEXER_NAME} ${CORE_FOUNDATION})
endif ()
set_property(
TARGET ${APP_INDEXER_NAME}
PROPERTY INCLUDE_DIRECTORIES
"${CMAKE_SOURCE_DIR}/src/app"
"${CMAKE_SOURCE_DIR}/src/lib"
"${CMAKE_SOURCE_DIR}/src/lib_gui"
"${CMAKE_SOURCE_DIR}/src/lib_license"
"${CMAKE_SOURCE_DIR}/src/lib_cxx"
"${CMAKE_SOURCE_DIR}/src/lib_java"
"${CMAKE_BINARY_DIR}/src/lib_gui"
"${CMAKE_BINARY_DIR}/src/lib_license"
)
# App --------------------------------------------------------------------------
if (UNIX)
@@ -413,21 +476,24 @@ add_subdirectory(src/app)
set(CMAKE_INCLUDE_CURRENT_DIR ON)
if (WIN32)
file(WRITE ${CMAKE_BINARY_DIR}/Coati.rc
file(WRITE ${CMAKE_BINARY_DIR}/Sourcetrail.rc
"// Icon with lowest ID value placed first to ensure application icon\n"
"// remains consistent on all systems.\n"
"IDI_ICON1 ICON \"${CMAKE_BINARY_DIR}/coati.ico\"\n"
"IDI_ICON1 ICON \"${CMAKE_BINARY_DIR}/Sourcetrail.ico\"\n"
)
add_executable(${APP_PROJECT_NAME} ${APP_FILES} ${CMAKE_BINARY_DIR}/Coati.rc)
add_executable(${APP_PROJECT_NAME} ${APP_FILES} ${CMAKE_BINARY_DIR}/Sourcetrail.rc)
# hide the console when running a release build.
set_target_properties(${APP_PROJECT_NAME} PROPERTIES LINK_FLAGS_DEBUG "/SUBSYSTEM:CONSOLE")
set_target_properties(${APP_PROJECT_NAME} PROPERTIES LINK_FLAGS_DEBUG "/SUBSYSTEM:CONSOLE /DEBUG:FASTLINK")
set_target_properties(${APP_PROJECT_NAME} PROPERTIES COMPILE_DEFINITIONS_DEBUG "_CONSOLE")
set_target_properties(${APP_PROJECT_NAME} PROPERTIES LINK_FLAGS_RELWITHDEBINFO "/SUBSYSTEM:CONSOLE")
set_target_properties(${APP_PROJECT_NAME} PROPERTIES COMPILE_DEFINITIONS_RELWITHDEBINFO "_CONSOLE")
set_target_properties(${APP_PROJECT_NAME} PROPERTIES LINK_FLAGS_RELEASE "/ENTRY:\"mainCRTStartup\" /SUBSYSTEM:WINDOWS")
set_target_properties(${APP_PROJECT_NAME} PROPERTIES LINK_FLAGS_RELEASE "/ENTRY:\"mainCRTStartup\" /SUBSYSTEM:WINDOWS /DEBUG")
set_target_properties(${APP_PROJECT_NAME} PROPERTIES LINK_FLAGS_MINSIZEREL "/SUBSYSTEM:WINDOWS")
# generate pdb for release build
set (CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} /Zi")
else ()
add_executable(${APP_PROJECT_NAME} ${APP_FILES})
endif ()
@@ -464,6 +530,8 @@ if (APPLE)
target_link_libraries(${APP_PROJECT_NAME} ${CORE_FOUNDATION})
endif ()
add_dependencies(${APP_PROJECT_NAME} ${APP_INDEXER_NAME})
# MacOSX Bundle ----------------------------------------------------------------
@@ -471,6 +539,7 @@ if (APPLE)
set(MACOSX_BUNDLE_NAME ${PROJECT_NAME})
set(MACOSX_BINARY_NAME ${APP_PROJECT_NAME})
set(MACOSX_INDEXER_BINARY_NAME ${APP_INDEXER_NAME})
set(MACOSX_DYNAMIC_LIBRARIES "")
string(REPLACE ";" " " MACOSX_DYNAMIC_LIBRARIES "${MACOSX_DYNAMIC_LIBRARIES}")
@@ -513,6 +582,9 @@ endif ()
add_subdirectory(src/license_generator)
# configure private key for the sourcetrail version
include(cmake/private_key.cmake)
if (UNIX)
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/license_generator/")
else ()
@@ -522,7 +594,7 @@ else ()
endforeach( OUTPUTCONFIG CMAKE_CONFIGURATION_TYPES )
endif ()
add_executable(${LICENSE_GENERATOR_PROJECT_NAME} ${LICENSE_GENERATOR_FILES})
add_executable(${LICENSE_GENERATOR_PROJECT_NAME} ${LICENSE_GENERATOR_FILES} ${LICENSE_GENERATOR_MAIN})
create_source_groups(${LICENSE_GENERATOR_FILES})
@@ -530,6 +602,8 @@ set_property(
TARGET ${LICENSE_GENERATOR_PROJECT_NAME}
PROPERTY INCLUDE_DIRECTORIES
"${CMAKE_SOURCE_DIR}/src/lib_license"
"${CMAKE_BINARY_DIR}/src/license_generator"
"${CMAKE_BINARY_DIR}/src/lib_license"
)
target_include_directories(${LICENSE_GENERATOR_PROJECT_NAME} SYSTEM
@@ -537,7 +611,7 @@ target_include_directories(${LICENSE_GENERATOR_PROJECT_NAME} SYSTEM
)
if(UNIX AND NOT APPLE)
target_link_libraries(${LICENSE_GENERATOR_PROJECT_NAME} pthread dl rt)
target_link_libraries(${LICENSE_GENERATOR_PROJECT_NAME} pthread rt)
endif()
target_link_libraries(${LICENSE_GENERATOR_PROJECT_NAME} ${LIB_LICENSE_PROJECT_NAME} ${Boost_LIBRARIES} )
@@ -561,7 +635,8 @@ set(TESTGEN_FILE ${CMAKE_CURRENT_BINARY_DIR}/test_main.cpp)
find_package(PythonInterp REQUIRED)
add_executable (${TEST_PROJECT_NAME} ${TESTGEN_FILE} ${TEST_FILES} )
add_executable (${TEST_PROJECT_NAME} ${TESTGEN_FILE} ${TEST_FILES} ${LICENSE_GENERATOR_FILES})
create_source_groups(${TEST_FILES})
@@ -579,6 +654,9 @@ if (CXXTEST_FOUND)
"${CMAKE_SOURCE_DIR}/src/lib_java"
"${CMAKE_SOURCE_DIR}/src/external"
"${CMAKE_SOURCE_DIR}/src/lib_license"
"${CMAKE_BINARY_DIR}/src/lib_license"
"${CMAKE_SOURCE_DIR}/src/license_generator"
"${CMAKE_BINARY_DIR}/src/license_generator"
"${Boost_INCLUDE_DIRS}"
)
endif (CXXTEST_FOUND)
@@ -603,16 +681,14 @@ elseif (UNIX)
add_custom_command(
OUTPUT ${TESTGEN_FILE}
PRE_BUILD
COMMAND rm -f ${TESTGEN_FILE}
COMMAND cd ${PROJECT_SOURCE_DIR} && ${PYTHON_EXECUTABLE} ${CXXTEST_PYTHON_TESTGEN_EXECUTABLE} --runner=ParenPrinter -o ${TESTGEN_FILE} ${TEST_FILES}
#BYPRODUCTS ${TESTGEN_FILE}
DEPENDS ${TEST_FILES}
COMMENT "Generating unittest code with cxxtestgen"
)
add_custom_target(gen DEPENDS ${TESTGEN_FILE})
add_dependencies(${TEST_PROJECT_NAME} gen)
endif ()
# Visual Leak Detector ---------------------------------------------------------
@@ -621,7 +697,35 @@ if (WIN32)
include_directories($ENV{VLD_DIR}/include)
endif ()
# Linux package
if(UNIX AND NOT APPLE)
include(cmake/LinuxPackage.cmake)
endif ()
if (UNIX)
# symlinks for data
message(STATUS "create symlink: "
"${CMAKE_SOURCE_DIR}/bin/app/data ->"
"${CMAKE_BINARY_DIR}/app/data")
execute_process(
COMMAND "${CMAKE_COMMAND}" "-E" "make_directory" "${CMAKE_BINARY_DIR}/app"
COMMAND "${CMAKE_COMMAND}"
"-E" "create_symlink"
"${CMAKE_SOURCE_DIR}/bin/app/data"
"${CMAKE_BINARY_DIR}/app/data"
COMMAND "${CMAKE_COMMAND}"
"-E" "create_symlink"
"${CMAKE_SOURCE_DIR}/bin/test/data"
"${CMAKE_BINARY_DIR}/test/data"
COMMAND "${CMAKE_COMMAND}"
"-E" "create_symlink"
"${CMAKE_SOURCE_DIR}/bin/app/user"
"${CMAKE_BINARY_DIR}/app/user"
)
if (UNIX AND NOT APPLE)
# Create different sized icons
message(STATUS "create icons")
execute_process(
COMMAND "${CMAKE_SOURCE_DIR}/setup/Linux/createIcons.sh" "${CMAKE_SOURCE_DIR}" "${CMAKE_BINARY_DIR}"
)
# Linux package
include(cmake/linux_package.cmake)
endif ()
endif ()
+155 -8
View File
@@ -1,4 +1,4 @@
## Coati
## Sourcetrail
### Setup
@@ -85,7 +85,7 @@ $ ./script/setup.sh
#### App
* create release build
* make sure it uses the Coati icon
* make sure it uses the Sourcetrail icon
* obfuscate the executable using upx
#### Data folder
@@ -93,11 +93,10 @@ $ ./script/setup.sh
* add empty log folder
* add working tictactoe.xml project to /projects/tictactoe with sources in /projects/tictactoe/src
* add empty app settings with one recent project tictactoe.xml
* leave window_settings.ini with correct Coati start layout
* leave window_settings.ini with correct Sourcetrail start layout
#### Package
* add app
* add web/coati_manual.pdf to package
#### Updating Clang on UNIX
@@ -113,11 +112,11 @@ $ cd tools/extra/
$ git pull origin master
$ cd ../../../../../build_debug
$ cmake -G Ninja ../llvm
$ cmake -G Ninja -DLLVM_ENABLE_RTTI=ON ../llvm
$ ninja -j4 check-all
$ cd ../release_build
$ cmake -G Ninja -DCMAKE_BUILD_TYPE=Release ../llvm
$ cmake -G Ninja -DCMAKE_BUILD_TYPE=Release -DLLVM_ENABLE_RTTI=ON ../llvm
$ ninja -j4 check-all
#### Remarks
@@ -132,10 +131,10 @@ $ git push --tags
### Loader gif creation from png sequence
// from png sequence
convert -delay 3 -loop 0 coati_*.png coati.gif
convert -delay 3 -loop 0 souretrail_*.png souretrail.gif
// less colors
gifsicle --colors 255 coati.gif > color.gif
gifsicle --colors 255 souretrail.gif > color.gif
// crop size
gifsicle --crop 0,5+0x-5 color.gif > crop.gif
@@ -148,6 +147,154 @@ gifsicle --resize-height 18 trans.gif > loader.gif
### Changelog
#### 1.0 (beta)
released 2017-06-07
* Fixed issue where black borders appeared around dialogs for some Linux window managers (issue #376)
* Use platform default window decorations for UI dialogs
* Code: Made snippet minimize/maximize buttons more interactive by showing hover states
* Code: improved code view loading performance
* Java: Record more "import not found" errors
* Support Visual Studio 2017 in Visual Studio Plugin (issue #381)
* Graph: increased creation speed by requesting less data
* macOS: Codesign .app bundle to avoid "from unidentified developer" warning
* Error: Use same error order in error table and code view
* Error: Only show first 1000 errors, click button in lower right of error table to show all (issue #385)
* Graph: use bezier edges when activating aggregation edge
* Send ping after changing plugin ports
* Added menu action to display EULA and force accepting on macOS
* Fixed use of environment variables in project setup paths
* Multi-language project setup via Source Groups setup UI (issue #230)
* C/C++: Fixed no files indexed when relative file paths are provided in Compilation Database (issue #388)
* C/C++: Display an error when loading a Compilation Database fails
* C/C++: Fixed source files within Compilation Database not indexed unless within Indexed Header Paths
* Fixed status message length limiting window resizing (issue #372)
* Match source file extensions case insensitive (issue #384)
* Fixed indexing progress file count in status bar and status view (issue #387)
* Windows: remove setup.exe from windows installer with all necessary .dll files
* Added history list button between back and forward button
* Added history menu showing activated symbols in chronologic order
#### 0.12.25
released 2017-05-16
* Added QtCreator plugin
* Graph: Added context menu action to create bookmark for node under mouse cursor (issue #373)
* Code: Fixed code view not scrolled to first fulltext search match in single file mode
* Set unrestricted permission for accessing shared memory to fix crash on Windows
* Improved setting descriptions in preferences dialog
* Java: Updated to JavaParser 3.2.0 and JavaSymbolSolver 0.5.3
* Graph: Fixed order of nodes is same as within first encountered header file
* Save timestamp after project indexing and show it on the overview screen
* Fixed use of correct name delimiters in indexer processes
* Fixed crash when running 32 and 64 bit versions in parallel
* Bookmark: Changed menu action to "Bookmark Active Symbol"
* Graph: Zooming on Ctrl + Mouse Wheel now (Shift + Mouse Wheel still working)
* Added dialog to warn about "verbose indexer logging" before indexing.
* Added multi process indexing for C/C++ projects to better handle crashes during indexing.
* Reduced file accesses during C/C++ indexing.
* Graph: Show call graphs, inheritance trees and include trees for active symbol. UI in the top left of the graph view for defining direction and depth. (issues #249 #337)
* Improved performance by running UI updates in parallel for each view
* Fixed project refresh not recognizing newly added files
* Show progress dialog when clicking refresh while computing files (issue #341)
* Added show files button to summary of compilation database project setup (issue #354)
* Show option to run only C/C++ preprocessor when indexing on indexing start dialog (issue #297)
* Added bookmarking feature for nodes and edges. Bookmarks can have categories and comments. Data gets stored in .srctrlbm next to project file. Shortcuts similar to web browsers. (issue #138)
* Mark files with errors and all files within a translation unit with fatal errors as incomplete (issue #358)
* Fixed compilation database projects using C++ source extensions and standard (issue #366)
#### 0.11.86
released 2017-04-12
* Terminating all running tasks before closing the application (issue #343)
* Use all available cores when setting indexer threads to 0 (issue #342)
* Added reset window layout option to view menu (issue #289)
* Fixed colorscheme gets refreshed when cancelling preferences dialog
* Log: Scroll to first line in errors table after indexing and after display
* Copy old ApplicationSettings.xml and window_settings.ini files from previous Coati install if available.
* New projects are created with .srctrlprj and .srctrldb endings, but still support old file extensions.
* Renamed application from Coati to Sourcetrail
* Fixed issues in tutorial project
* Graph: Fixed node with no children but qualifier shows expand button
* Enable undo/redo actions in context menu only when available
* Java: Updated to JavaParser 3.1.2 and JavaSymbolSolver 0.5.2.x
* Revised undo/redo stack to handle messages differently
* Java: Added support for project setup from Maven
* Windows: Hide console when running release builds
* Show license information on start screen
* Added ping support to plugins and display current connected editor/IDE in status bar.
#### 0.11.15
released 2017-03-01
* Don't accept richt text in 'enter license' dialog field (issue #207)
* Updated EULA to include Test License and better clarify other license types
* Fixed icons in project setup dialogs blurry on highDPI screens
* Added link to additional downloadable pre-indexed projects to trial start screen
* Fixed crash when saving preferences if they contain relative paths
* Convert all paths chosen by patch picker relative to project location in project setup
* Disabled name and location changing in project editing and removed project moving
* Split default file extensions for C++ and C to avoid wrong files getting indexed
* Deprecated 'Lazy Include Search', it's only visible to previously created projects (issue #335)
* Support relative paths and paths containing environment variables for compilation database path (issue #312)
* Removed 'Advanced Settings' section in project setup and show theses options in separate dialog (#293)
* Support environment variables containing multiple files in project setup paths (issue #283)
* Warn users when no 'Indexed Header Paths' were set in compilation database project (issue #254)
* Renamed "Project Paths" to "Indexed Paths" in project setup
* Renamed "Project File Location" to "Coati Project Location" in project setup (issue #234)
* Allow opening indexed projects in trial mode
* Record node type of non-indexed qualifiers (e.g. "std" in "std::string" as namespace)
* Log: Fixed error icon loaded for every row (issue #287)
* Graph: Fixed lambda are placed within white area to better see call edges
* Graph: Show non-indexed nodes within their parents instead of using namespace labeling
* Code: Disabled syntax highlighting for project description
* Graph: Fixed different font-faces causing graph nodes to expand to bigger cell amount
* Mac: Fixed wrong READMEs at some plugins (issue #315)
* Mac: Removed boost libraries and libLTO from Mac bundle
* Windows: Add Visual Studio compatibility flags to new project when Visual Studio include paths are present
* Renamed undefined nodes to non-indexed nodes for clarification
* Show progress in file clearing dialog
* Extended syntax highlighting for Java and distinguish by project type
* offer Windows 64bit build (issue #300)
* Fixed legacy Java 6 install necessary on MacOS (issue #280)
* Updated to Qt 5.8
* Updated to clang/llvm 3.9
* Added multithreading to Visual Studio plugin compilation database creation
* Graph: Use new list layouting for overview bundles and namespaces/packages
* Graph: Group nodes in list layout by starting character and allow jumping to group by pressing the key
* Graph: Use node specific styles for overview bundles
* Visual Studio plugin can now handle projects with non-native build tool for compilation database export
* Changed menu action 'Licenses' to '3rd Party Licenses'
* Added dialog with all shortcuts to Help menu
* Log: Show error in errors table when clicked in code view (issue #323)
* Code: Switched default mouse drag behavior to selection, panning on Shift + drag, and show suitable cursors
* Updated company address in about dialog
* Graph: Added on-screen zoom buttons
* Graph: Split aggregation edge when expanding nodes if possible
* Uncommented lines using the std library in TicTacToe sample
* Fixed issue with lambda return type (issue #318)
* Save builtin types as separate node type (issue #2)
* Remove unused included files after refreshing
* Java: Fixed packages that only contain packages to show up as non-indexed
* Added context-menu actions to copy node names, file paths and show files in containing directory (issue #320)
* Fixed crash when entering a single space in 'enter license' dialog (issue #277)
* Graph: Made edge lines thicker
* Fixed handling and storing of files with the same name
* Fixed environment variable detection within project paths for %VARIABLE_NAME% syntax
* Coati states whether it needs 32bit or 64bit JRE
* Java: Updated indexer to fix a lot of unsolved symbol issues
* Graph: Fixed layouter couldn't handle nodes with same name
* Graph: Fixed weird looking vertical aggregation edges to child nodes
* Code: Don't show stats for non loaded project
* Added option to disable UI animations to preferences
* Graph: Removed double line around graph view on Mac
* Graph: Fixed namespace label cut off at edge of screen
* Code: Added single file view mode
* Code: Added navigation bar with mode toggle and buttons to navigate references
* Graph: Removed underscores in edge hover names
* Infere some non-indexed node types by their edges
#### 0.10.0
released 2016-12-13
+41 -41
View File
@@ -9,46 +9,46 @@
<config>
<version><!-- INTEGER: Version number --></version>
<info>
<description><!-- STRING: optional description shown in overview. Symbols can be linked with syntax [main] --></description>
</info>
<description><!-- STRING: optional description shown in overview. Symbols can be linked with syntax [main] --></description>
<language_settings>
<language><!-- STRING: name of the language, e.g. c, c++, spanish, greek, greek++,... --></language>
<standard><!-- STRING: language version, e.g. c++ '11' --></standard>
</language_settings>
<source>
<source_paths>
<source_path><!-- STRING: path to source file or directory, also used as header search path --></source_path>
</source_paths>
<compiler_flags>
<compiler_flag><!-- STRING: compiler flag, including the dash e.g. -v --></compiler_flag>
</compiler_flags>
<header_search_paths>
<header_search_path><!-- STRING: header search path for each path a header_search_path element --></header_search_path>
</header_search_paths>
<!-- MAC ONLY -->
<framework_search_paths>
<framework_search_path><!-- STRING: framework search path --></framework_search_path>
</framework_search_paths>
<extensions>
<source_extensions><!-- STRING: extension for source e.g. .cpp --></source_extensions>
</extensions>
<use_source_paths_for_header_search><!-- BOOL: If enabled all subfolder of the source paths will be used for header search --></use_source_paths_for_header_search>
<exclude_paths>
<exclude_path><!-- STRING: path to file or directory to exclude from analysis --></source_path>
</exclude_paths>
<build_file_path>
<vs_solution_path><!-- STRING: path to Visual Studio solution *.sln --></vs_solution_path>
<compilation_db_path><!-- STRING: path to Compilation Database --></compilation_db_path>
</build_file_path>
</source>
<source_groups>
<source_group_xyz>
<type><!-- STRING: describes what kind of project this is, e.g. "C Source Group", "Java Source Group from Maven" --></type>
<standard><!-- STRING: language version, e.g. c++ '11' --></standard>
<source_paths>
<source_path><!-- STRING: path to source file or directory, also used as header search path --></source_path>
</source_paths>
<exclude_paths>
<exclude_path><!-- STRING: path to file or directory to exclude from analysis --></source_path>
</exclude_paths>
<source_extensions>
<source_extension><!-- STRING: extension for source e.g. .cpp --></source_extension>
</source_extensions>
<header_search_paths>
<header_search_path><!-- STRING: header search path for each path a header_search_path element --></header_search_path>
</header_search_paths>
<use_source_paths_for_header_search><!-- BOOL: If enabled all subfolder of the source paths will be used for header search --></use_source_paths_for_header_search>
<!-- begin MAC ONLY -->
<framework_search_paths>
<framework_search_path><!-- STRING: framework search path --></framework_search_path>
</framework_search_paths>
<!-- end MAC ONLY -->
<compiler_flags>
<compiler_flag><!-- STRING: compiler flag, including the dash e.g. -v --></compiler_flag>
</compiler_flags>
<build_file_path>
<vs_solution_path><!-- STRING: path to Visual Studio solution *.sln --></vs_solution_path>
<compilation_db_path><!-- STRING: path to Compilation Database --></compilation_db_path>
</build_file_path>
</source_group_xyz>
</source_groups>
</config>
+8 -20
View File
@@ -77,15 +77,6 @@
<navigation>
<text>#A0A0A0</text>
<line>#CCCCCC</line>
<button>
<normal>#808080</normal>
<hover>#B1B1B1</hover>
<press>#CCCCCC</press>
<disabled>#606060</disabled>
<icon>white</icon>
<icon_disabled>#808080</icon_disabled>
</button>
</navigation>
<file>
@@ -97,6 +88,8 @@
<hover>#BBBBBB</hover>
<press>#AAAAAA</press>
<icon>black</icon>
<border>#B1B1B1</border>
<hatching>grey</hatching>
</title>
<ref_count>
@@ -294,9 +287,9 @@
<like>global_variable</like>
</enum_constant>
<non-indexed>
<non_indexed>
<like>type</like>
</non-indexed>
</non_indexed>
<namespace>
<fill>
<normal>#873E3E</normal>
@@ -331,6 +324,9 @@
<icon>
<normal>#FFFFFF</normal>
</icon>
<hatching>
<normal>#999999</normal>
</hatching>
</file>
<macro>
<like>file</like>
@@ -398,6 +394,7 @@
<call>
<normal>#FBBA00</normal>
<trail_focus>#FFFFFF</trail_focus>
</call>
<use>
@@ -455,13 +452,4 @@
<hover>#878787</hover>
<text>#878787</text>
</tab>
<bookmark>
<button>
<icon>black</icon>
<icon_disabled>#FDFDFD</icon_disabled>
<icon_hover>white</icon_hover>
</button>
</bookmark>
</config>
+5 -20
View File
@@ -10,7 +10,7 @@
<press>#626262</press>
<disabled>#F2F2F2</disabled>
<icon>white</icon>
<icon_disabled>#FDFDFD</icon_disabled>
<icon_disabled>#DEDEDE</icon_disabled>
</button>
<field>
@@ -75,17 +75,8 @@
<background>white</background>
<navigation>
<text>#BCBCBC</text>
<text>#B2B2B2</text>
<line>#B2B2B2</line>
<button>
<normal>#E0E0E0</normal>
<hover>#B2B2B2</hover>
<press>#626262</press>
<disabled>#F2F2F2</disabled>
<icon>white</icon>
<icon_disabled>#FDFDFD</icon_disabled>
</button>
</navigation>
<file>
@@ -97,6 +88,8 @@
<hover>#B2B2B2</hover>
<press>#626262</press>
<icon>black</icon>
<border>white</border>
<hatching>bright</hatching>
</title>
<ref_count>
@@ -369,6 +362,7 @@
<call>
<normal>#F4BC3D</normal>
<trail_focus>#878787</trail_focus>
</call>
<use>
@@ -422,13 +416,4 @@
<active>grey</active>
</table_line_2>
</table>
<bookmark>
<button>
<icon>black</icon>
<icon_disabled>#FDFDFD</icon_disabled>
<icon_hover>white</icon_hover>
</button>
</bookmark>
</config>
+5 -20
View File
@@ -77,15 +77,6 @@
<navigation>
<text>#A0A0A0</text>
<line>#CCC</line>
<button>
<normal>#777777</normal>
<hover>#555555</hover>
<press>#444444</press>
<disabled>#333333</disabled>
<icon>white</icon>
<icon_disabled>#777777</icon_disabled>
</button>
</navigation>
<file>
@@ -97,6 +88,8 @@
<hover>#555555</hover>
<press>#444444</press>
<icon>white</icon>
<border>#272728</border>
<hatching>dark</hatching>
</title>
<ref_count>
@@ -283,9 +276,9 @@
<like>global_variable</like>>
</enum_constant>
<non-indexed>
<non_indexed>
<like>type</like>
</non-indexed>
</non_indexed>
<namespace>
<fill>
<normal>#78282D</normal>
@@ -372,6 +365,7 @@
<call>
<normal>#9C8528</normal>
<trail_focus>#F7F7F7</trail_focus>
</call>
<use>
@@ -429,13 +423,4 @@
<hover>#878787</hover>
<text>#878787</text>
</tab>
<bookmark>
<button>
<icon>black</icon>
<icon_disabled>#FDFDFD</icon_disabled>
<icon_hover>white</icon_hover>
</button>
</bookmark>
</config>
@@ -9,9 +9,9 @@
</indexing>
<user>
<recent_projects>
<recent_project>./projects/tutorial/tutorial.coatiproject</recent_project>
<recent_project>./projects/tictactoe/tictactoe.coatiproject</recent_project>
<recent_project>./projects/javaparser/javaparser.coatiproject</recent_project>
<recent_project>./projects/tutorial/tutorial.srctrlprj</recent_project>
<recent_project>./projects/tictactoe/tictactoe.srctrlprj</recent_project>
<recent_project>./projects/javaparser/javaparser.srctrlprj</recent_project>
</recent_projects>
</user>
<version>1</version>
+4 -4
View File
@@ -1,8 +1,8 @@
[General]
DOCK_LOCATIONS=@ByteArray(\0\0\0\xff\0\0\0\0\xfd\0\0\0\x1\0\0\0\x2\0\0\a\x80\0\0\x3\xcd\xfc\x1\0\0\0\x2\xfc\0\0\0\0\0\0\x4\x90\0\0\0\0\0\xff\xff\xff\xfc\x2\0\0\0\x1\xfb\0\0\0\xe\0\x44\0o\0\x63\0k\0L\0o\0g\0\0\0\x2\xc6\0\0\0\xc1\0\0\0\0\0\0\0\0\xfc\0\0\0\0\0\0\a\x80\0\0\x1\xf5\0\xff\xff\xff\xfc\x2\0\0\0\x2\xfc\0\0\0\x16\0\0\x2\xfe\0\0\0\xa5\0\xff\xff\xff\xfc\x1\0\0\0\x2\xfc\0\0\0\0\0\0\x3\xd6\0\0\x1\"\0\xff\xff\xff\xfc\x2\0\0\0\x2\xfb\0\0\0\x14\0\x44\0o\0\x63\0k\0S\0\x65\0\x61\0r\0\x63\0h\x1\0\0\0\x16\0\0\0\x44\0\0\0\x44\0\xff\xff\xff\xfb\0\0\0\x12\0\x44\0o\0\x63\0k\0G\0r\0\x61\0p\0h\x1\0\0\0^\0\0\x2\xb6\0\0\0]\0\xff\xff\xff\xfb\0\0\0\x10\0\x44\0o\0\x63\0k\0\x43\0o\0\x64\0\x65\x1\0\0\x3\xda\0\0\x3\xa6\0\0\0P\0\xff\xff\xff\xfb\0\0\0\x14\0\x44\0o\0\x63\0k\0S\0t\0\x61\0t\0u\0s\x1\0\0\x3\x18\0\0\0\xcb\0\0\0\xcb\0\xff\xff\xff\0\0\a\x80\0\0\0\0\0\0\0\x4\0\0\0\x4\0\0\0\b\0\0\0\b\xfc\0\0\0\0)
DOCK_LOCATIONS=@ByteArray(\0\0\0\xff\0\0\0\0\xfd\0\0\0\x1\0\0\0\x2\0\0\x4\x83\0\0\x2\xb3\xfc\x1\0\0\0\x2\xfc\0\0\0\0\0\0\x4\x90\0\0\0\0\0\xff\xff\xff\xfc\x2\0\0\0\x1\xfb\0\0\0\xe\0\x44\0o\0\x63\0k\0L\0o\0g\0\0\0\x2\xc6\0\0\0\xc1\0\0\0\0\0\0\0\0\xfc\0\0\0\0\0\0\x4\x83\0\0\x2\x46\0\xff\xff\xff\xfc\x2\0\0\0\x2\xfc\0\0\0\x16\0\0\x2\xb3\0\0\0\xa3\0\xff\xff\xff\xfc\x1\0\0\0\x2\xfc\0\0\0\0\0\0\x2P\0\0\x1\x65\0\xff\xff\xff\xfc\x2\0\0\0\x2\xfb\0\0\0\x14\0\x44\0o\0\x63\0k\0S\0\x65\0\x61\0r\0\x63\0h\x1\0\0\0\x16\0\0\0M\0\0\0\x44\0\xff\xff\xff\xfb\0\0\0\x12\0\x44\0o\0\x63\0k\0G\0r\0\x61\0p\0h\x1\0\0\0g\0\0\x2\x62\0\0\0[\0\xff\xff\xff\xfb\0\0\0\x10\0\x44\0o\0\x63\0k\0\x43\0o\0\x64\0\x65\x1\0\0\x2T\0\0\x2/\0\0\0\xdd\0\xff\xff\xff\xfb\0\0\0\x14\0\x44\0o\0\x63\0k\0S\0t\0\x61\0t\0u\0s\0\0\0\x2I\0\0\0\xcb\0\0\0\xcb\0\xff\xff\xff\0\0\x4\x83\0\0\0\0\0\0\0\x4\0\0\0\x4\0\0\0\b\0\0\0\b\xfc\0\0\0\0)
[MainWindow]
maximized=true
size=@Size(1287 811)
position=@Point(259 117)
maximized=false
size=@Size(1200 800)
position=@Point(80 50)
showTitleBars=true
+2 -12
View File
@@ -4,16 +4,6 @@
font-weight: 100;
}
#closeButton {
background: transparent;
border: none;
color: white;
font-size: 14px;
height: 24px;
width: 24px;
}
#closeButton:hover {
border: 2px solid white;
border-radius: 12px;
#window {
background: qlineargradient( x1:0 y1:0.4, x2:0 y2:1, stop:0 #2F3F86, stop:1 #1C7BBC );
}
Binary file not shown.

Before

Width:  |  Height:  |  Size: 517 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 46 KiB

+95 -236
View File
@@ -1,172 +1,105 @@
/* General settings */
* {
font-size: <setting:font_size+4>px;
/* font-family: "<setting:font_name>"; */
}
QPushButton {
border: 2px;
border-style: solid;
border-color: #dadada;
background: #f6f6f6;
background-position: 15px 5px;
border-radius: 12px;
margin: 2px;
width: 30px;
height: 25px;
}
QPushButton:hover {
background: #dadada;
/* color: white; */
}
#header {
background-color: #2d3e88;
/* background-color: transparent; */
}
#body {
background-color: white;
}
/* window */
/* header */
/* Bookmark browser header */
#header_background {
background-color: #2e3f83;
border-top-left-radius: 15px;
border-bottom-left-radius: 15px;
}
#filter_box, #order_box {
/* background-color: #227abf;
color: white; */
max-width: 100px;
min-width: 100px;
margin-left: 50px;
margin-right: 100px;
background-color: #2E3C86;
}
#title {
color: white;
font-size: <setting:font_size+8>px;
font-size: 18px;
font-weight: bold;
margin-top: 40px;
margin-left: 30px;
margin-right: 20px;
}
#filter_label, #order_label {
color: white;
font-size: <setting:font_size+6>px;
font-size: 16px;
font-weight: bold;
margin-top: 65px;
margin-left: 40px;
margin-right: 20px;
margin-bottom: 5px;
}
/* body */
#filter_box, #order_box {
/*margin-left: 20px;*/
}
/* Bookmark browser body */
#bookmark_tree {
border: none;
border-top: 1px solid #DFDFDF;
border-bottom: 1px solid #DFDFDF;
margin: 0px;
margin-top: 50px;
margin-bottom: 25px;
max-width: 532px;
max-height: 460px;
min-width: 500px;
min-height: 200px;
background-color: white;
alternate-background-color: #dadada; /* color every single line alternating, however I want to color complete categories alternating */
}
/* Bookmark category */
#bookmark_category {
background: #DADADA;
border-bottom: 1px solid white;
padding: 4px 10px 3px 5px;
}
#bookmark_category:hover {
background: #DEDEDE;
}
#category_name {
font-size: <setting:font_size+6>px;
}
#bookmark_category {
margin-top: 14px;
}
#bookmark {
margin-top: 0px;
}
#close_button {
min-width: 150px;
max-width: 150px;
}
#close_button {
margin-right: 20px;
background-color: white;
color: black;
border-color: black;
font-size: 12px;
margin-left: 1px;
}
#close_button:hover {
background: #2e3f83;
color: white;
}
/* bookmark category */
#bookmark_category {
margin-left: 15px;
margin-right: 50px;
}
#category_expand_button {
#category_expand_button, #category_delete_button, #comment_button, #edit_button, #delete_button {
border: none;
background: transparent;
min-width: 30px;
max-width: 30px;
}
#category_delete_button {
min-width: 30px;
max-width: 30px;
border: none;
background: transparent;
}
/* bookmark */
#bookmark {
margin-left: 15px;
margin-right: 50px;
}
#comment_button {
background: transparent;
border: none;
min-width: 30px;
max-width: 30px;
}
#comment_button:hover {
color: #2D3C86;
width: 20px;
height: 20px;
}
#edit_button {
min-width: 30px;
max-width: 30px;
border: none;
background: transparent;
margin-right: 3px;
}
#delete_button {
min-width: 30px;
max-width: 30px;
border: none;
background: transparent;
/* Bookmark */
#bookmark {
padding: 3px 10px 3px 3px;
margin: 0;
background: white;
border-bottom: 1px solid #DFDFDF;
}
#bookmark_comment {
font-size: 12px;
padding: 3px 6px 3px 7px;
margin: 0;
color: #707070;
}
#activate_button {
background: white;
border: 2px solid white;
border-radius: 8px;
color: black;
font-size: 12px;
padding: 4px 8px 3px;
text-align: right;
}
#activate_button:hover {
border-color: #2D3C86;
}
#activate_button:pressed {
background: #CDD4F7;
}
#date_label {
font-size: <setting:font_size>px;
min-width: 100px;
max-width: 100px;
margin: 1px 5px 0px;
font-size: 12px;
color: #707070;
}
/* Search bar buttons */
@@ -174,7 +107,8 @@ QPushButton:hover {
#bookmark_button, #show_bookmark_button {
background: <color:search/button/normal>;
border: none;
border-radius: 12px;
height: 30px;
width: 30px;
}
#bookmark_button:disabled, #show_bookmark_button:disabled {
@@ -190,121 +124,46 @@ QPushButton:hover {
}
#bookmark_button {
border-bottom-right-radius: 0px;
border-top-right-radius: 0px;
border-bottom-left-radius: 12px;
border-top-left-radius: 12px;
margin: 0px;
margin-right: 2px;
}
#show_bookmark_button {
border-bottom-left-radius: 0px;
border-top-left-radius: 0px;
border-bottom-right-radius: 12px;
border-top-right-radius: 12px;
margin: 0px;
}
/* Bookmark creator */
#creator_header_background {
background-color: #2e3f83;
border-top-left-radius: 15px;
border-top-right-radius: 15px;
}
#display_name_edit {
border: 2px;
border-style: solid;
border-color: #dadada;
background: white;
border-radius: 12px;
margin-left: 30px;
margin-right: 30px;
min-height: 30px;
max-height: 30px;
}
#comment_box {
border: 2px;
border-style: solid;
border-color: #dadada;
background: white;
border-radius: 12px;
margin-left: 30px;
margin-right: 30px;
max-height: 160px;
min-height: 160px;
}
/*
#category_box {
border: 2px;
border-style: solid;
border-color: #dadada;
background: white;
border-radius: 8px;
margin-left: 30px;
margin-right: 30px;
margin-bottom: 50px;
min-height: 30px;
max-height: 30px;
}
#category_box::down-arrow {
image: url(<setting:gui_path>bookmark_view/images/arrow_down.png);
}
/**/
#category_box {
margin-left: 30px;
margin-right: 30px;
margin-bottom: 50px;
min-height: 30px;
max-height: 30px;
border-color: #dadada;
}
#creator_title_label, #creator_name_label, #creator_comment_label, #category_label {
font-size: <setting:font_size+4>px;
font-weight: bold;
margin-left: 30px;
margin-right: 30px;
background-color: #2E3C86;
}
#creator_title_label {
font-size: <setting:font_size+6>px;
color: white;
margin-top: 25px;
margin-bottom: 0px;
}
#creator_name_label {
margin-top: 40px;
}
#creator_comment_label {
margin-top: 30px;
}
#category_label {
margin-top: 35px;
}
#creator_cancel_button, #creator_create_button {
min-width: 130px;
max-width: 130px;
margin-left: 30px;
margin-right: 30px;
margin-bottom: 20px;
background-color: white;
border-color: black;
}
#creator_cancel_button:hover {
background: #2e3f83;
font-size: 18px;
font-weight: bold;
color: white;
}
#creator_create_button:hover {
background: #2e3f83;
color: white;
}
#creator_label {
font-size: 14px;
font-weight: bold;
}
#creator_name_edit, #creator_comment_box {
border: 1px;
border-style: solid;
border-color: #dadada;
background: white;
border-radius: 12px;
min-height: 30px;
padding: 3px;
padding-left: 5px;
}
#creator_comment_box {
min-height: 160px;
}
Binary file not shown.

After

Width:  |  Height:  |  Size: 461 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1021 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.7 KiB

After

Width:  |  Height:  |  Size: 1000 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.7 KiB

After

Width:  |  Height:  |  Size: 1.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 649 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 602 B

+25 -58
View File
@@ -22,23 +22,23 @@
}
#code_navigation QPushButton {
background: <color:code/navigation/button/normal>;
background: <color:search/button/normal>;
border: none;
color: <color:code/navigation/button/icon>;
color: <color:search/button/icon>;
height: 24px;
width: 24px;
}
#code_navigation QPushButton:hover, #code_navigation QPushButton:checked {
background: <color:code/navigation/button/hover>;
background: <color:search/button/hover>;
}
#code_navigation QPushButton:disabled {
background: <color:code/navigation/button/disabled>;
background: <color:search/button/disabled>;
}
#code_navigation QPushButton:pressed {
background: <color:code/navigation/button/press>;
background: <color:search/button/press>;
}
#code_navigation #reference_button_previous {
@@ -82,8 +82,6 @@
background-color: <color:code/snippet/background>;
border: 2px solid <color:code/file/background>;
border-radius: 12px;
border-top-left-radius: 14px;
border-top-right-radius: 14px;
font-size: <setting:font_size>px;
padding-bottom: 7px;
}
@@ -93,27 +91,37 @@
border-top-left-radius: 7px;
border-top-right-radius: 7px;
font-size: <setting:font_size>px;
padding-right: 5px;
}
#code_file #title_label {
#code_file #title_label, #single_file_title_bar #file_title {
background-color: <color:code/file/title/normal>;
border: none;
border-radius: 3px;
color: <color:code/file/title/text>;
font-size: <setting:font_size>px;
padding: 2px 4px;
margin: 1px 8px 3px;
}
#code_file #title_label:hover {
#code_file #title_label {
margin: 1px 8px;
}
#single_file_title_bar #file_title {
margin: 3px 8px;
}
#code_file #title_label:hover, #single_file_title_bar #file_title:hover {
background-color: <color:code/file/title/hover>;
}
#code_file #title_label:pressed {
#code_file #title_label:pressed, #single_file_title_bar #file_title:pressed {
background-color: <color:code/file/title/press>;
}
#code_file #title_label[complete=false], #single_file_title_bar #file_title[complete=false] {
border: 1px solid <color:code/file/title/border>;
}
#code_file #references_label, #single_file_title_bar #references_label {
background-color: <color:code/file/ref_count/background>;
border: none;
@@ -130,11 +138,6 @@
font-size: <setting:font_size>px;
}
#code_file #code_snippet[isFirst=true] {
border: none;
padding-top: 0px;
}
#code_file #code_snippet #scope_name, #code_file #code_snippet #dots {
background-color: <color:code/snippet/title/background>;
border: none;
@@ -175,55 +178,19 @@
selection-background-color: <color:code/snippet/selection/background>;
}
#code_file #maximize_button, #code_file #snippet_button, #code_file #minimize_button {
#code_file #file_button {
background: transparent;
border: none;
margin: 3px;
max-height: 16px;
max-width: 16px;
}
#code_file #maximize_button {
border-image: url(<setting:gui_path>code_view/images/maximize_inactive.png);
}
#code_file #maximize_button:enabled {
border-image: url(<setting:gui_path>code_view/images/maximize_active.png);
}
#code_file #snippet_button {
border-image: url(<setting:gui_path>code_view/images/snippet_inactive.png);
}
#code_file #snippet_button:enabled {
border-image: url(<setting:gui_path>code_view/images/snippet_active.png);
}
#code_file #minimize_button {
border-image: url(<setting:gui_path>code_view/images/minimize_inactive.png);
}
#code_file #minimize_button:enabled {
border-image: url(<setting:gui_path>code_view/images/minimize_active.png);
#code_file #file_button:enabled {
border-image: url(<setting:gui_path>code_view/images/button_background.png);
}
#single_file_title_bar {
background-color: <color:code/file/background>;
padding-right: 5px;
}
#single_file_title_bar #file_title {
background-color: <color:code/file/title/normal>;
border: none;
border-radius: 3px;
color: <color:code/file/title/text>;
font-size: <setting:font_size>px;
padding: 2px 4px;
margin: 3px 8px;
}
#single_file_title_bar #file_title:hover {
background-color: <color:code/file/title/hover>;
}
#single_file_title_bar #file_title:pressed {
background-color: <color:code/file/title/press>;
}
Binary file not shown.

After

Width:  |  Height:  |  Size: 384 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 614 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 KiB

+62 -1
View File
@@ -6,7 +6,7 @@ QGraphicsView, QGraphicsScene {
QPushButton {
background: <color:search/button/normal>;
border: none;
color: white;
color: <color:search/button/icon>;
border-radius: 5px;
}
@@ -21,3 +21,64 @@ QPushButton:hover {
QPushButton:pressed {
background: <color:search/button/press>;
}
#expand_button {
max-width: 26px;
max-height: 26px;
}
#collapse_button {
border-radius: 0;
border-top-left-radius: 7px;
border-top-right-radius: 7px;
}
#trail_button {
border-radius: 0;
}
#depth_label {
background: <color:search/button/normal>;
color: <color:search/button/icon>;
}
#depth_label:disabled {
background: <color:search/button/disabled>;
color: <color:search/button/icon_disabled>;
}
#depth_slider {
background: <color:search/button/normal>;
padding-bottom: 5px;
border-bottom-left-radius: 7px;
border-bottom-right-radius: 7px;
}
#depth_slider:disabled {
background: <color:search/button/disabled>;
}
#depth_slider::groove {
margin: 5px;
width: 2px;
}
#depth_slider::handle {
height: 10px;
margin: 0px -4px;
border-radius: 5px;
}
#depth_slider::handle:hover {
height: 12px;
margin: 0px -5px;
border-radius: 6px;
}
#depth_slider::groove, #depth_slider::handle {
background: <color:search/button/icon>;
}
#depth_slider::groove:disabled, #depth_slider::handle:disabled {
background: <color:search/button/icon_disabled>;
}
Binary file not shown.

After

Width:  |  Height:  |  Size: 1.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1009 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 957 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 926 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.7 KiB

@@ -0,0 +1,22 @@
#history_list {
background: <color:search/popup/background>;
border: none;
}
QListWidget::item {
border: none;
border-bottom: 1px solid <color:search/popup/background>;
}
#history_item, #history_item_current {
border: none;
color: <color:search/popup/text>;
font-family: "<setting:font_name>";
font-size: <setting:font_size>px;
padding-left: 22px;
padding-top: 1px;
}
#history_item_current {
font-weight: bold;
}
Binary file not shown.

After

Width:  |  Height:  |  Size: 491 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 15 KiB

Before

Width:  |  Height:  |  Size: 70 KiB

After

Width:  |  Height:  |  Size: 70 KiB

+401 -389
View File
@@ -1,389 +1,401 @@
{\rtf1\adeflang1025\ansi\ansicpg1252\uc1\adeff31507\deff0\stshfdbch0\stshfloch31506\stshfhich31506\stshfbi31506\deflang1031\deflangfe1031\themelang1031\themelangfe0\themelangcs0{\fonttbl{\f0\fbidi \froman\fcharset0\fprq2{\*\panose 02020603050405020304}Times New Roman;}{\f3\fbidi \froman\fcharset2\fprq2{\*\panose 05050102010706020507}Symbol;}
{\f34\fbidi \froman\fcharset0\fprq2{\*\panose 02040503050406030204}Cambria Math;}{\f37\fbidi \fswiss\fcharset0\fprq2{\*\panose 020f0502020204030204}Calibri;}{\f39\fbidi \fswiss\fcharset0\fprq2{\*\panose 00000000000000000000}Segoe UI;}
{\flomajor\f31500\fbidi \froman\fcharset0\fprq2{\*\panose 02020603050405020304}Times New Roman;}{\fdbmajor\f31501\fbidi \froman\fcharset0\fprq2{\*\panose 02020603050405020304}Times New Roman;}
{\fhimajor\f31502\fbidi \froman\fcharset0\fprq0{\*\panose 00000000000000000000}Calibri Light;}{\fbimajor\f31503\fbidi \froman\fcharset0\fprq2{\*\panose 02020603050405020304}Times New Roman;}
{\flominor\f31504\fbidi \froman\fcharset0\fprq2{\*\panose 02020603050405020304}Times New Roman;}{\fdbminor\f31505\fbidi \froman\fcharset0\fprq2{\*\panose 02020603050405020304}Times New Roman;}
{\fhiminor\f31506\fbidi \fswiss\fcharset0\fprq2{\*\panose 020f0502020204030204}Calibri;}{\fbiminor\f31507\fbidi \froman\fcharset0\fprq2{\*\panose 02020603050405020304}Times New Roman;}{\f41\fbidi \froman\fcharset238\fprq2 Times New Roman CE;}
{\f42\fbidi \froman\fcharset204\fprq2 Times New Roman Cyr;}{\f44\fbidi \froman\fcharset161\fprq2 Times New Roman Greek;}{\f45\fbidi \froman\fcharset162\fprq2 Times New Roman Tur;}{\f46\fbidi \froman\fcharset177\fprq2 Times New Roman (Hebrew);}
{\f47\fbidi \froman\fcharset178\fprq2 Times New Roman (Arabic);}{\f48\fbidi \froman\fcharset186\fprq2 Times New Roman Baltic;}{\f49\fbidi \froman\fcharset163\fprq2 Times New Roman (Vietnamese);}{\f381\fbidi \froman\fcharset238\fprq2 Cambria Math CE;}
{\f382\fbidi \froman\fcharset204\fprq2 Cambria Math Cyr;}{\f384\fbidi \froman\fcharset161\fprq2 Cambria Math Greek;}{\f385\fbidi \froman\fcharset162\fprq2 Cambria Math Tur;}{\f388\fbidi \froman\fcharset186\fprq2 Cambria Math Baltic;}
{\f389\fbidi \froman\fcharset163\fprq2 Cambria Math (Vietnamese);}{\f411\fbidi \fswiss\fcharset238\fprq2 Calibri CE;}{\f412\fbidi \fswiss\fcharset204\fprq2 Calibri Cyr;}{\f414\fbidi \fswiss\fcharset161\fprq2 Calibri Greek;}
{\f415\fbidi \fswiss\fcharset162\fprq2 Calibri Tur;}{\f418\fbidi \fswiss\fcharset186\fprq2 Calibri Baltic;}{\f419\fbidi \fswiss\fcharset163\fprq2 Calibri (Vietnamese);}{\f431\fbidi \fswiss\fcharset238\fprq2 Segoe UI CE;}
{\f432\fbidi \fswiss\fcharset204\fprq2 Segoe UI Cyr;}{\f434\fbidi \fswiss\fcharset161\fprq2 Segoe UI Greek;}{\f435\fbidi \fswiss\fcharset162\fprq2 Segoe UI Tur;}{\f437\fbidi \fswiss\fcharset178\fprq2 Segoe UI (Arabic);}
{\f438\fbidi \fswiss\fcharset186\fprq2 Segoe UI Baltic;}{\f439\fbidi \fswiss\fcharset163\fprq2 Segoe UI (Vietnamese);}{\flomajor\f31508\fbidi \froman\fcharset238\fprq2 Times New Roman CE;}
{\flomajor\f31509\fbidi \froman\fcharset204\fprq2 Times New Roman Cyr;}{\flomajor\f31511\fbidi \froman\fcharset161\fprq2 Times New Roman Greek;}{\flomajor\f31512\fbidi \froman\fcharset162\fprq2 Times New Roman Tur;}
{\flomajor\f31513\fbidi \froman\fcharset177\fprq2 Times New Roman (Hebrew);}{\flomajor\f31514\fbidi \froman\fcharset178\fprq2 Times New Roman (Arabic);}{\flomajor\f31515\fbidi \froman\fcharset186\fprq2 Times New Roman Baltic;}
{\flomajor\f31516\fbidi \froman\fcharset163\fprq2 Times New Roman (Vietnamese);}{\fdbmajor\f31518\fbidi \froman\fcharset238\fprq2 Times New Roman CE;}{\fdbmajor\f31519\fbidi \froman\fcharset204\fprq2 Times New Roman Cyr;}
{\fdbmajor\f31521\fbidi \froman\fcharset161\fprq2 Times New Roman Greek;}{\fdbmajor\f31522\fbidi \froman\fcharset162\fprq2 Times New Roman Tur;}{\fdbmajor\f31523\fbidi \froman\fcharset177\fprq2 Times New Roman (Hebrew);}
{\fdbmajor\f31524\fbidi \froman\fcharset178\fprq2 Times New Roman (Arabic);}{\fdbmajor\f31525\fbidi \froman\fcharset186\fprq2 Times New Roman Baltic;}{\fdbmajor\f31526\fbidi \froman\fcharset163\fprq2 Times New Roman (Vietnamese);}
{\fbimajor\f31538\fbidi \froman\fcharset238\fprq2 Times New Roman CE;}{\fbimajor\f31539\fbidi \froman\fcharset204\fprq2 Times New Roman Cyr;}{\fbimajor\f31541\fbidi \froman\fcharset161\fprq2 Times New Roman Greek;}
{\fbimajor\f31542\fbidi \froman\fcharset162\fprq2 Times New Roman Tur;}{\fbimajor\f31543\fbidi \froman\fcharset177\fprq2 Times New Roman (Hebrew);}{\fbimajor\f31544\fbidi \froman\fcharset178\fprq2 Times New Roman (Arabic);}
{\fbimajor\f31545\fbidi \froman\fcharset186\fprq2 Times New Roman Baltic;}{\fbimajor\f31546\fbidi \froman\fcharset163\fprq2 Times New Roman (Vietnamese);}{\flominor\f31548\fbidi \froman\fcharset238\fprq2 Times New Roman CE;}
{\flominor\f31549\fbidi \froman\fcharset204\fprq2 Times New Roman Cyr;}{\flominor\f31551\fbidi \froman\fcharset161\fprq2 Times New Roman Greek;}{\flominor\f31552\fbidi \froman\fcharset162\fprq2 Times New Roman Tur;}
{\flominor\f31553\fbidi \froman\fcharset177\fprq2 Times New Roman (Hebrew);}{\flominor\f31554\fbidi \froman\fcharset178\fprq2 Times New Roman (Arabic);}{\flominor\f31555\fbidi \froman\fcharset186\fprq2 Times New Roman Baltic;}
{\flominor\f31556\fbidi \froman\fcharset163\fprq2 Times New Roman (Vietnamese);}{\fdbminor\f31558\fbidi \froman\fcharset238\fprq2 Times New Roman CE;}{\fdbminor\f31559\fbidi \froman\fcharset204\fprq2 Times New Roman Cyr;}
{\fdbminor\f31561\fbidi \froman\fcharset161\fprq2 Times New Roman Greek;}{\fdbminor\f31562\fbidi \froman\fcharset162\fprq2 Times New Roman Tur;}{\fdbminor\f31563\fbidi \froman\fcharset177\fprq2 Times New Roman (Hebrew);}
{\fdbminor\f31564\fbidi \froman\fcharset178\fprq2 Times New Roman (Arabic);}{\fdbminor\f31565\fbidi \froman\fcharset186\fprq2 Times New Roman Baltic;}{\fdbminor\f31566\fbidi \froman\fcharset163\fprq2 Times New Roman (Vietnamese);}
{\fhiminor\f31568\fbidi \fswiss\fcharset238\fprq2 Calibri CE;}{\fhiminor\f31569\fbidi \fswiss\fcharset204\fprq2 Calibri Cyr;}{\fhiminor\f31571\fbidi \fswiss\fcharset161\fprq2 Calibri Greek;}{\fhiminor\f31572\fbidi \fswiss\fcharset162\fprq2 Calibri Tur;}
{\fhiminor\f31575\fbidi \fswiss\fcharset186\fprq2 Calibri Baltic;}{\fhiminor\f31576\fbidi \fswiss\fcharset163\fprq2 Calibri (Vietnamese);}{\fbiminor\f31578\fbidi \froman\fcharset238\fprq2 Times New Roman CE;}
{\fbiminor\f31579\fbidi \froman\fcharset204\fprq2 Times New Roman Cyr;}{\fbiminor\f31581\fbidi \froman\fcharset161\fprq2 Times New Roman Greek;}{\fbiminor\f31582\fbidi \froman\fcharset162\fprq2 Times New Roman Tur;}
{\fbiminor\f31583\fbidi \froman\fcharset177\fprq2 Times New Roman (Hebrew);}{\fbiminor\f31584\fbidi \froman\fcharset178\fprq2 Times New Roman (Arabic);}{\fbiminor\f31585\fbidi \froman\fcharset186\fprq2 Times New Roman Baltic;}
{\fbiminor\f31586\fbidi \froman\fcharset163\fprq2 Times New Roman (Vietnamese);}}{\colortbl;\red0\green0\blue0;\red0\green0\blue255;\red0\green255\blue255;\red0\green255\blue0;\red255\green0\blue255;\red255\green0\blue0;\red255\green255\blue0;
\red255\green255\blue255;\red0\green0\blue128;\red0\green128\blue128;\red0\green128\blue0;\red128\green0\blue128;\red128\green0\blue0;\red128\green128\blue0;\red128\green128\blue128;\red192\green192\blue192;
\chyperlink\ctint255\cshade255\red5\green99\blue193;}{\*\defchp \f31506\fs22\lang2057\langfe1033\langnp2057\langfenp1033 }{\*\defpap \ql \li0\ri0\sa160\sl259\slmult1\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 }
\noqfpromote {\stylesheet{\ql \li0\ri0\sa160\sl259\slmult1\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af31507\afs22\alang1025 \ltrch\fcs0 \f31506\fs22\lang2057\langfe1033\cgrid\langnp2057\langfenp1033
\snext0 \sqformat \spriority0 \styrsid12137944 Normal;}{\s3\qc \li0\ri0\keepn\widctlpar\wrapdefault\aspalpha\aspnum\faauto\outlinelevel2\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs20\alang1025 \ltrch\fcs0
\b\scaps\fs24\ul\cf1\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 \sbasedon0 \snext0 \slink23 \sqformat \spriority9 \styrsid15234004
heading 3,h3,3,Underrubrik2,h:3,h,l3,H3,list 3,Head 3,1.1.1,3rd level,Heading3,H31,Heading31,H32,H311,h3 sub heading,C Sub-Sub/Italic,Head 31,Head 32,C Sub-Sub/Italic1,Sub2Para,h31,h32,Para3,Title3,(Alt+3),3m,sub-sub-para,Table Attribute Heading,H33;}{\*
\cs10 \additive \ssemihidden \sunhideused \spriority1 Default Paragraph Font;}{\*
\ts11\tsrowd\trftsWidthB3\trpaddl108\trpaddr108\trpaddfl3\trpaddft3\trpaddfb3\trpaddfr3\trcbpat1\trcfpat1\tblind0\tblindtype3\tscellwidthfts0\tsvertalt\tsbrdrt\tsbrdrl\tsbrdrb\tsbrdrr\tsbrdrdgl\tsbrdrdgr\tsbrdrh\tsbrdrv \ql \li0\ri0\sa160\sl259\slmult1
\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af31506\afs22\alang1025 \ltrch\fcs0 \f31506\fs22\lang2057\langfe1033\cgrid\langnp2057\langfenp1033 \snext11 \ssemihidden \sunhideused \sqformat Normal Table;}{
\s15\ql \li720\ri0\sa160\sl259\slmult1\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin720\itap0\contextualspace \rtlch\fcs1 \af31507\afs22\alang1025 \ltrch\fcs0 \f31506\fs22\lang2057\langfe1033\cgrid\langnp2057\langfenp1033
\sbasedon0 \snext15 \sqformat \spriority34 \styrsid8484554 List Paragraph;}{\s16\qj \li0\ri0\widctlpar
\tx-17296\tx-16576\tx-15856\tx-15136\tx-14416\tx-13696\tx-12976\tx-12256\tx-11536\tx-10816\tx-10096\tx-9376\tx-8656\tx-7936\tx-7216\tx-6496\tx-5776\tx-5056\tx-4336\tx-3616\tx-2896\tx-2176\tx-1456\tx-736\tx-16\tx704\tx1424\tx2144\tx2864
\tx3584\tx4304\tx5024\tx5744\tx6464\tx7184\tx7920\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs20\alang1025 \ltrch\fcs0 \fs24\cf1\lang1033\langfe1033\cgrid\langnp1033\langfenp1033
\sbasedon0 \snext16 \slink17 \styrsid14043460 Body Text 2;}{\*\cs17 \additive \rtlch\fcs1 \af0\afs20 \ltrch\fcs0 \f0\fs20\cf1\lang1033\langfe0\langnp1033\langfenp0 \sbasedon10 \slink16 \slocked \styrsid14043460 Textk\'f6rper 2 Zchn;}{
\s18\ql \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af39\afs18\alang1025 \ltrch\fcs0 \f39\fs18\lang2057\langfe1033\cgrid\langnp2057\langfenp1033
\sbasedon0 \snext18 \slink19 \ssemihidden \sunhideused \styrsid14043460 Balloon Text;}{\*\cs19 \additive \rtlch\fcs1 \af39\afs18 \ltrch\fcs0 \f39\fs18 \sbasedon10 \slink18 \slocked \ssemihidden \styrsid14043460 Sprechblasentext Zchn;}{
\s20\ql \li0\ri0\sa120\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs20\alang1025 \ltrch\fcs0 \fs24\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 \sbasedon0 \snext20 \slink21 \styrsid14043460
Body Text,bt;}{\*\cs21 \additive \rtlch\fcs1 \af0\afs20 \ltrch\fcs0 \f0\fs20\lang1033\langfe0\langnp1033\langfenp0 \sbasedon10 \slink20 \slocked \styrsid14043460 Textk\'f6rper Zchn,bt Zchn;}{\*\cs22 \additive \rtlch\fcs1 \af0 \ltrch\fcs0 \ul\cf17
\sbasedon10 \sunhideused \styrsid15234004 Hyperlink;}{\*\cs23 \additive \rtlch\fcs1 \af0\afs20 \ltrch\fcs0 \b\scaps\f0\fs20\ul\cf1\lang1033\langfe0\langnp1033\langfenp0 \sbasedon10 \slink3 \slocked \spriority0 \styrsid15234004
\'dcberschrift 3 Zchn,h3 Zchn,3 Zchn,Underrubrik2 Zchn,h:3 Zchn,h Zchn,l3 Zchn,H3 Zchn,list 3 Zchn,Head 3 Zchn,1.1.1 Zchn,3rd level Zchn,Heading3 Zchn,H31 Zchn,Heading31 Zchn,H32 Zchn,H311 Zchn,h3 sub heading Zchn,C Sub-Sub/Italic Zchn,Head 31 Zchn,3m Zchn;}
{\s24\ql \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af31507\afs22\alang1025 \ltrch\fcs0 \f31506\fs22\lang2057\langfe1033\cgrid\langnp2057\langfenp1033 \snext24 \sqformat \spriority1 \styrsid8353839
No Spacing;}}{\*\listtable{\list\listtemplateid-237996820\listsimple{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat0\levelspace0\levelindent0{\leveltext\'01*;}{\levelnumbers;}\hres0\chhres0 }{\listname ;}\listid-2}
{\list\listtemplateid767595270\listhybrid{\listlevel\levelnfc0\levelnfcn0\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext\leveltemplateid-345469290\'03(\'00);}{\levelnumbers\'02;}\rtlch\fcs1 \af0 \ltrch\fcs0
\b0\fbias0\hres0\chhres0 \fi-360\li720\lin720 }{\listlevel\levelnfc4\levelnfcn4\leveljc0\leveljcn0\levelfollow0\levelstartat1\lvltentative\levelspace0\levelindent0{\leveltext\leveltemplateid67698713\'02\'01.;}{\levelnumbers\'01;}\rtlch\fcs1 \af0
\ltrch\fcs0 \hres0\chhres0 \fi-360\li1440\lin1440 }{\listlevel\levelnfc2\levelnfcn2\leveljc2\leveljcn2\levelfollow0\levelstartat1\lvltentative\levelspace0\levelindent0{\leveltext\leveltemplateid67698715\'02\'02.;}{\levelnumbers\'01;}\rtlch\fcs1 \af0
\ltrch\fcs0 \hres0\chhres0 \fi-180\li2160\lin2160 }{\listlevel\levelnfc0\levelnfcn0\leveljc0\leveljcn0\levelfollow0\levelstartat1\lvltentative\levelspace0\levelindent0{\leveltext\leveltemplateid67698703\'02\'03.;}{\levelnumbers\'01;}\rtlch\fcs1 \af0
\ltrch\fcs0 \hres0\chhres0 \fi-360\li2880\lin2880 }{\listlevel\levelnfc4\levelnfcn4\leveljc0\leveljcn0\levelfollow0\levelstartat1\lvltentative\levelspace0\levelindent0{\leveltext\leveltemplateid67698713\'02\'04.;}{\levelnumbers\'01;}\rtlch\fcs1 \af0
\ltrch\fcs0 \hres0\chhres0 \fi-360\li3600\lin3600 }{\listlevel\levelnfc2\levelnfcn2\leveljc2\leveljcn2\levelfollow0\levelstartat1\lvltentative\levelspace0\levelindent0{\leveltext\leveltemplateid67698715\'02\'05.;}{\levelnumbers\'01;}\rtlch\fcs1 \af0
\ltrch\fcs0 \hres0\chhres0 \fi-180\li4320\lin4320 }{\listlevel\levelnfc0\levelnfcn0\leveljc0\leveljcn0\levelfollow0\levelstartat1\lvltentative\levelspace0\levelindent0{\leveltext\leveltemplateid67698703\'02\'06.;}{\levelnumbers\'01;}\rtlch\fcs1 \af0
\ltrch\fcs0 \hres0\chhres0 \fi-360\li5040\lin5040 }{\listlevel\levelnfc4\levelnfcn4\leveljc0\leveljcn0\levelfollow0\levelstartat1\lvltentative\levelspace0\levelindent0{\leveltext\leveltemplateid67698713\'02\'07.;}{\levelnumbers\'01;}\rtlch\fcs1 \af0
\ltrch\fcs0 \hres0\chhres0 \fi-360\li5760\lin5760 }{\listlevel\levelnfc2\levelnfcn2\leveljc2\leveljcn2\levelfollow0\levelstartat1\lvltentative\levelspace0\levelindent0{\leveltext\leveltemplateid67698715\'02\'08.;}{\levelnumbers\'01;}\rtlch\fcs1 \af0
\ltrch\fcs0 \hres0\chhres0 \fi-180\li6480\lin6480 }{\listname ;}\listid1617834509}}{\*\listoverridetable{\listoverride\listid-2\listoverridecount1{\lfolevel\listoverrideformat{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat0
\levelold\levelspace0\levelindent0{\leveltext\'01\u-3913 ?;}{\levelnumbers;}\f3\fbias0 }}\ls1}{\listoverride\listid1617834509\listoverridecount0\ls2}}{\*\rsidtbl \rsid927059\rsid3111406\rsid3232479\rsid3763068\rsid5190140\rsid5327097\rsid5985810
\rsid6113920\rsid7799561\rsid8068493\rsid8353839\rsid8484554\rsid8879590\rsid8913734\rsid9175821\rsid9331093\rsid9637834\rsid9832860\rsid10748571\rsid11411570\rsid12137944\rsid13005862\rsid13784877\rsid13837067\rsid13897761\rsid14043460\rsid14622934
\rsid14825363\rsid14970534\rsid15234004\rsid16058252}{\mmathPr\mmathFont34\mbrkBin0\mbrkBinSub0\msmallFrac1\mdispDef1\mlMargin0\mrMargin0\mdefJc1\mwrapIndent1440\mintLim0\mnaryLim1}{\info{\author Thomson, Clive}{\operator Malte}
{\creatim\yr2017\mo2\dy14\hr13\min47}{\revtim\yr2017\mo2\dy14\hr15\min47}{\version4}{\edmins0}{\nofpages5}{\nofwords1297}{\nofchars7007}{\*\company CSR}{\nofcharsws8288}{\vern32859}}{\*\userprops {\propname _AdHocReviewCycleID}\proptype3{\staticval -10657
70450}{\propname _NewReviewCycle}\proptype30{\staticval }{\propname _EmailSubject}\proptype30{\staticval Request for evaluation license and details of third party software}{\propname _AuthorEmail}\proptype30{\staticval mrae@qti.qualcomm.com}{\propname _Au
thorEmailDisplayName}\proptype30{\staticval Rae, Marika}{\propname _ReviewingToolsShownOnce}\proptype30{\staticval }}{\*\xmlnstbl {\xmlns1 http://schemas.microsoft.com/office/word/2003/wordml}}
\paperw12240\paperh15840\margl1440\margr1440\margt1440\margb1440\gutter0\ltrsect
\widowctrl\ftnbj\aenddoc\hyphhotz425\trackmoves1\trackformatting1\donotembedsysfont1\relyonvml0\donotembedlingdata0\grfdocevents0\validatexml1\showplaceholdtext0\ignoremixedcontent0\saveinvalidxml0\showxmlerrors1
\noxlattoyen\expshrtn\noultrlspc\dntblnsbdb\nospaceforul\formshade\horzdoc\dgmargin\dghspace180\dgvspace180\dghorigin1440\dgvorigin1440\dghshow1\dgvshow1
\jexpand\viewkind1\viewscale100\pgbrdrhead\pgbrdrfoot\splytwnine\ftnlytwnine\htmautsp\nolnhtadjtbl\useltbaln\alntblind\lytcalctblwd\lyttblrtgr\lnbrkrule\nobrkwrptbl\snaptogridincell\allowfieldendsel\wrppunct
\asianbrkrule\rsidroot3763068\newtblstyruls\nogrowautofit\usenormstyforlist\noindnmbrts\felnbrelev\nocxsptable\indrlsweleven\noafcnsttbl\afelev\utinl\hwelev\spltpgpar\notcvasp\notbrkcnstfrctbl\notvatxbx\krnprsnet\cachedcolbal \nouicompat \fet0
{\*\wgrffmtfilter 2450}\nofeaturethrottle1\ilfomacatclnup0\ltrpar \sectd \ltrsect\linex0\sectdefaultcl\sectrsid8068493\sftnbj {\*\pnseclvl1\pnucrm\pnstart1\pnindent720\pnhang {\pntxta .}}{\*\pnseclvl2\pnucltr\pnstart1\pnindent720\pnhang {\pntxta .}}
{\*\pnseclvl3\pndec\pnstart1\pnindent720\pnhang {\pntxta .}}{\*\pnseclvl4\pnlcltr\pnstart1\pnindent720\pnhang {\pntxta )}}{\*\pnseclvl5\pndec\pnstart1\pnindent720\pnhang {\pntxtb (}{\pntxta )}}{\*\pnseclvl6\pnlcltr\pnstart1\pnindent720\pnhang {\pntxtb (}
{\pntxta )}}{\*\pnseclvl7\pnlcrm\pnstart1\pnindent720\pnhang {\pntxtb (}{\pntxta )}}{\*\pnseclvl8\pnlcltr\pnstart1\pnindent720\pnhang {\pntxtb (}{\pntxta )}}{\*\pnseclvl9\pnlcrm\pnstart1\pnindent720\pnhang {\pntxtb (}{\pntxta )}}\pard\plain \ltrpar
\ql \li0\ri0\widctlpar\wrapdefault\faauto\rin0\lin0\itap0\pararsid3763068 \rtlch\fcs1 \af31507\afs22\alang1025 \ltrch\fcs0 \f31506\fs22\lang2057\langfe1033\cgrid\langnp2057\langfenp1033 {\rtlch\fcs1 \af37 \ltrch\fcs0
\f37\lang1033\langfe1033\langnp1033\insrsid3763068\charrsid5327097 Coati
\par Software License Agreement}{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang1033\langfe1033\langnp1033\insrsid15234004\charrsid5327097 (}{\rtlch\fcs1 \af31507 \ltrch\fcs0 \lang1033\langfe1033\langnp1033\insrsid15234004\charrsid5327097 \'93}{\rtlch\fcs1 \af37
\ltrch\fcs0 \f37\lang1033\langfe1033\langnp1033\insrsid15234004\charrsid5327097 Agreement}{\rtlch\fcs1 \af31507 \ltrch\fcs0 \lang1033\langfe1033\langnp1033\insrsid15234004\charrsid5327097 \'94}{\rtlch\fcs1 \af37 \ltrch\fcs0
\f37\lang1033\langfe1033\langnp1033\insrsid15234004\charrsid5327097 )}{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang1033\langfe1033\langnp1033\insrsid3763068\charrsid5327097
\par Effective }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang1033\langfe1033\langnp1033\insrsid9331093\charrsid5327097 15}{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang1033\langfe1033\langnp1033\insrsid3763068\charrsid5327097 .}{\rtlch\fcs1 \af37 \ltrch\fcs0
\f37\lang1033\langfe1033\langnp1033\insrsid9331093\charrsid5327097 2}{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang1033\langfe1033\langnp1033\insrsid3763068\charrsid5327097 .}{\rtlch\fcs1 \af37 \ltrch\fcs0
\f37\lang1033\langfe1033\langnp1033\insrsid9331093\charrsid5327097 2017}{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang1033\langfe1033\langnp1033\insrsid13837067\charrsid5327097
\par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang1033\langfe1033\langnp1033\insrsid9331093\charrsid5327097
\par }\pard \ltrpar\ql \li0\ri0\sa200\sl276\slmult1\widctlpar\wrapdefault\faauto\rin0\lin0\itap0\pararsid14043460 {\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang1033\langfe1033\langnp1033\insrsid3763068\charrsid5327097 BY INSTALLING OR USING THIS SOFTWARE, YOU ARE
BECOMING A PARTY TO, AND ARE CONSENTING TO BE BOUND BY, THIS AGREEMENT. IF YOU DO NOT AGREE TO ALL OF THE TERMS OF THIS AGREEMENT, DO NOT INSTALL OR USE THIS SOFTWARE.
\par }\pard \ltrpar\ql \li0\ri0\sa200\sl276\slmult1\widctlpar\wrapdefault\faauto\rin0\lin0\itap0\pararsid3763068 {\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang1033\langfe1033\langnp1033\insrsid3763068\charrsid5327097
\par }{\rtlch\fcs1 \ab\af37 \ltrch\fcs0 \b\f37\lang1033\langfe1033\langnp1033\insrsid3763068\charrsid5327097 DEFINITIONS}{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang1033\langfe1033\langnp1033\insrsid3763068\charrsid5327097
\par "Software" means:
\par {\pntext\pard\plain\ltrpar \rtlch\fcs1 \af37\afs22 \ltrch\fcs0 \f3\fs22\lang1033\langfe1033\langnp1033\insrsid3763068\charrsid5327097 \loch\af3\dbch\af0\hich\f3 \'b7\tab}}\pard \ltrpar\ql \fi-360\li720\ri0\sa200\sl276\slmult1\widctlpar\wrapdefault{\*\pn
\pnlvlblt\ilvl0\ls1\pnrnot0\pnf3 {\pntxtb \'b7}}\faauto\ls1\rin0\lin720\itap0\pararsid3763068 {\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang1033\langfe1033\langnp1033\insrsid3763068\charrsid5327097 A major version of Coati in executable form. The major
version is defined by the leading number of the version string (e.g. th}{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang1033\langfe1033\langnp1033\insrsid9331093\charrsid5327097 e major version of Coati 1.x.x}{\rtlch\fcs1 \af37 \ltrch\fcs0
\f37\lang1033\langfe1033\langnp1033\insrsid3763068\charrsid5327097 is version 1);
\par {\pntext\pard\plain\ltrpar \rtlch\fcs1 \af37\afs22 \ltrch\fcs0 \f3\fs22\lang1033\langfe1033\langnp1033\insrsid3763068\charrsid5327097 \loch\af3\dbch\af0\hich\f3 \'b7\tab}}\pard \ltrpar\ql \fi-360\li720\ri0\sa200\sl276\slmult1\widctlpar\wrapdefault{\*\pn
\pnlvlblt\ilvl0\ls1\pnrnot0\pnf3 {\pntxtb \'b7}}\faauto\ls1\rin0\lin720\itap0\pararsid3763068 {\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang1033\langfe1033\langnp1033\insrsid3763068\charrsid5327097 documentation for that major version of Coati;
\par {\pntext\pard\plain\ltrpar \rtlch\fcs1 \af37\afs22 \ltrch\fcs0 \f3\fs22\lang1033\langfe1033\langnp1033\insrsid3763068\charrsid5327097 \loch\af3\dbch\af0\hich\f3 \'b7\tab}}\pard \ltrpar\ql \fi-360\li720\ri0\sa200\sl276\slmult1\widctlpar\wrapdefault{\*\pn
\pnlvlblt\ilvl0\ls1\pnrnot0\pnf3 {\pntxtb \'b7}}\faauto\ls1\rin0\lin720\itap0\pararsid9175821 {\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang1033\langfe1033\langnp1033\insrsid3763068\charrsid5327097
minor updates included in software maintenance which are indicated by an increase in the numbers that follow the major version number (e.}{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang1033\langfe1033\langnp1033\insrsid9331093\charrsid5327097
g. the update from Coati 1.0.0 to Coati 1.1.0}{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang1033\langfe1033\langnp1033\insrsid3763068\charrsid5327097 ).
\par }\pard \ltrpar\ql \li0\ri0\sa200\sl276\slmult1\widctlpar\wrapdefault{\*\pn \pnlvlcont\ilvl0\ls0\pnrnot0\pndec }\faauto\rin0\lin0\itap0\pararsid9175821 {\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang1033\langfe1033\langnp1033\insrsid3763068\charrsid5327097
"Licensor" means:
\par {\pntext\pard\plain\ltrpar \rtlch\fcs1 \af37\afs22 \ltrch\fcs0 \f3\fs22\lang1033\langfe1033\langnp1033\insrsid3763068\charrsid5327097 \loch\af3\dbch\af0\hich\f3 \'b7\tab}}\pard \ltrpar\ql \fi-360\li720\ri0\sa200\sl276\slmult1\widctlpar\wrapdefault{\*\pn
\pnlvlblt\ilvl0\ls1\pnrnot0\pnf3 {\pntxtb \'b7}}\faauto\ls1\rin0\lin720\itap0\pararsid3763068 {\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang1033\langfe1033\langnp1033\insrsid3763068\charrsid5327097 Coati Software OG, having a place of business at }{\rtlch\fcs1
\af37 \ltrch\fcs0 \f37\lang1033\langfe1033\langnp1033\insrsid9331093\charrsid5327097 Jakob-Haringer-Stra\'dfe 1/127, 5020}{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang1033\langfe1033\langnp1033\insrsid3763068\charrsid5327097 }{\rtlch\fcs1 \af37 \ltrch\fcs0
\f37\lang1033\langfe1033\langnp1033\insrsid9331093\charrsid5327097 Salzburg}{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang1033\langfe1033\langnp1033\insrsid3763068\charrsid5327097 , Austria.
\par }\pard \ltrpar\ql \li0\ri0\sa200\sl276\slmult1\widctlpar\wrapdefault{\*\pn \pnlvlcont\ilvl0\ls0\pnrnot0\pndec }\faauto\rin0\lin0\itap0\pararsid13005862 {\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang1033\langfe1033\langnp1033\insrsid3763068\charrsid5327097
"Licensee" means:}{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang1033\langfe1033\langnp1033\insrsid13005862\charrsid5327097
\par {\pntext\pard\plain\ltrpar \rtlch\fcs1 \af37\afs22 \ltrch\fcs0 \f3\fs22\lang1033\langfe1033\langnp1033\insrsid14825363\charrsid5327097 \loch\af3\dbch\af0\hich\f3 \'b7\tab}}\pard \ltrpar\ql \fi-360\li720\ri0\sa200\sl276\slmult1\widctlpar\wrapdefault{\*\pn
\pnlvlblt\ilvl0\ls1\pnrnot0\pnf3 {\pntxtb \'b7}}\faauto\ls1\rin0\lin720\itap0\pararsid13005862 {\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang1033\langfe1033\langnp1033\insrsid14825363\charrsid5327097 the individual who purch}{\rtlch\fcs1 \af37 \ltrch\fcs0
\f37\lang1033\langfe1033\langnp1033\insrsid8484554\charrsid5327097 ased a License(s) for the Software;}{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang1033\langfe1033\langnp1033\insrsid14825363\charrsid5327097 }{\rtlch\fcs1 \af37 \ltrch\fcs0
\f37\lang1033\langfe1033\langnp1033\insrsid13005862\charrsid5327097
\par {\pntext\pard\plain\ltrpar \rtlch\fcs1 \af37\afs22 \ltrch\fcs0 \f3\fs22\lang1033\langfe1033\langnp1033\insrsid13005862\charrsid5327097 \loch\af3\dbch\af0\hich\f3 \'b7\tab}}\pard \ltrpar\ql \fi-360\li720\ri0\sa200\sl276\slmult1\widctlpar\wrapdefault{\*\pn
\pnlvlblt\ilvl0\ls1\pnrnot0\pnf3 {\pntxtb \'b7}}\faauto\ls1\rin0\lin720\itap0\pararsid13005862 {\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang1033\langfe1033\langnp1033\insrsid13005862\charrsid5327097 the individual }{\rtlch\fcs1 \af37 \ltrch\fcs0
\f37\lang1033\langfe1033\langnp1033\insrsid5327097\charrsid5327097 who was granted a Test }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang1033\langfe1033\langnp1033\insrsid13005862\charrsid5327097 License(s) for the Software;
\par {\pntext\pard\plain\ltrpar \rtlch\fcs1 \af37\afs22 \ltrch\fcs0 \f3\fs22\lang1033\langfe1033\langnp1033\insrsid13005862\charrsid5327097 \loch\af3\dbch\af0\hich\f3 \'b7\tab}}\pard \ltrpar\ql \fi-360\li720\ri0\sa200\sl276\slmult1\widctlpar\wrapdefault{\*\pn
\pnlvlblt\ilvl0\ls1\pnrnot0\pnf3 {\pntxtb \'b7}}\faauto\ls1\rin0\lin720\itap0\pararsid13005862 {\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang1033\langfe1033\langnp1033\insrsid13005862\charrsid5327097 the individual }{\rtlch\fcs1 \af37 \ltrch\fcs0
\f37\lang1033\langfe1033\langnp1033\insrsid5327097\charrsid5327097 evaluating}{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang1033\langfe1033\langnp1033\insrsid13005862\charrsid5327097 the Software in trial mode; }{\rtlch\fcs1 \af37 \ltrch\fcs0
\f37\lang1033\langfe1033\langnp1033\insrsid14825363\charrsid5327097
\par {\pntext\pard\plain\ltrpar \rtlch\fcs1 \af37\afs22 \ltrch\fcs0 \f3\fs22\lang1033\langfe1033\langnp1033\insrsid14825363\charrsid5327097 \loch\af3\dbch\af0\hich\f3 \'b7\tab}}\pard \ltrpar\ql \fi-360\li720\ri0\sa200\sl276\slmult1\widctlpar\wrapdefault{\*\pn
\pnlvlblt\ilvl0\ls1\pnrnot0\pnf3 {\pntxtb \'b7}}\faauto\ls1\rin0\lin720\itap0\pararsid14825363 {\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang1033\langfe1033\langnp1033\insrsid14825363\charrsid5327097
the company, corporation, or organization that purchased a License(s) for the Software;
\par {\pntext\pard\plain\ltrpar \rtlch\fcs1 \af37\afs22 \ltrch\fcs0 \f3\fs22\lang1033\langfe1033\langnp1033\insrsid14825363\charrsid5327097 \loch\af3\dbch\af0\hich\f3 \'b7\tab}}\pard \ltrpar\ql \fi-360\li720\ri0\sa200\sl276\slmult1\widctlpar\wrapdefault{\*\pn
\pnlvlblt\ilvl0\ls1\pnrnot0\pnf3 {\pntxtb \'b7}}\faauto\ls1\rin0\lin720\itap0\pararsid14825363 {\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang1033\langfe1033\langnp1033\insrsid14825363\charrsid5327097 the company, corporation, or organization }{\rtlch\fcs1
\af37 \ltrch\fcs0 \f37\lang1033\langfe1033\langnp1033\insrsid5327097\charrsid5327097 that was granted a Test }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang1033\langfe1033\langnp1033\insrsid13005862\charrsid5327097 License(s) for the Software}{\rtlch\fcs1
\af37 \ltrch\fcs0 \f37\lang1033\langfe1033\langnp1033\insrsid8484554\charrsid5327097 .}{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang1033\langfe1033\langnp1033\insrsid14825363\charrsid5327097
\par }\pard \ltrpar\ql \li0\ri0\sa200\sl276\slmult1\widctlpar\wrapdefault{\*\pn \pnlvlcont\ilvl0\ls0\pnrnot0\pndec }\faauto\rin0\lin0\itap0\pararsid8484554 {\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang1033\langfe1033\langnp1033\insrsid8484554\charrsid5327097
"Activation Key" means:
\par {\pntext\pard\plain\ltrpar \rtlch\fcs1 \af37\afs22 \ltrch\fcs0 \f3\fs22\lang1033\langfe1033\langnp1033\insrsid3763068\charrsid5327097 \loch\af3\dbch\af0\hich\f3 \'b7\tab}}\pard \ltrpar\ql \fi-360\li720\ri0\sa200\sl276\slmult1\widctlpar\wrapdefault{\*\pn
\pnlvlblt\ilvl0\ls1\pnrnot0\pnf3 {\pntxtb \'b7}}\faauto\ls1\rin0\lin720\itap0\pararsid3763068 {\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang1033\langfe1033\langnp1033\insrsid3763068\charrsid5327097 the name of the Licensee, the kind of lice
nse, the major version of the }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang1033\langfe1033\langnp1033\insrsid5327097 S}{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang1033\langfe1033\langnp1033\insrsid3763068\charrsid5327097 oftware that is licensed, and a hash}{
\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang1033\langfe1033\langnp1033\insrsid5327097 -}{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang1033\langfe1033\langnp1033\insrsid3763068\charrsid5327097 code; the combination of these values allows the Licensee to activate}{
\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang1033\langfe1033\langnp1033\insrsid7799561\charrsid5327097 the full functionality of}{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang1033\langfe1033\langnp1033\insrsid3763068\charrsid5327097 a genuine copy of the Software.
\par }\pard \ltrpar\ql \li0\ri0\sa200\sl276\slmult1\widctlpar\wrapdefault{\*\pn \pnlvlcont\ilvl0\ls0\pnrnot0\pndec }\faauto\rin0\lin0\itap0\pararsid3763068 {\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang1033\langfe1033\langnp1033\insrsid3763068\charrsid5327097
"Authorized User" means:
\par {\pntext\pard\plain\ltrpar \rtlch\fcs1 \af37\afs22 \ltrch\fcs0 \f3\fs22\lang1033\langfe1033\langnp1033\insrsid5327097\charrsid5327097 \loch\af3\dbch\af0\hich\f3 \'b7\tab}}\pard \ltrpar\ql \fi-360\li720\ri0\sa200\sl276\slmult1\widctlpar\wrapdefault{\*\pn
\pnlvlblt\ilvl0\ls1\pnrnot0\pnf3 {\pntxtb \'b7}}\faauto\ls1\rin0\lin720\itap0\pararsid5327097 {\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang1033\langfe1033\langnp1033\insrsid5327097\charrsid5327097 the
individual who purchased a License(s) for the Software; the individ}{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang1033\langfe1033\langnp1033\insrsid5327097 ual is the only Authorized User;}{\rtlch\fcs1 \af37 \ltrch\fcs0
\f37\lang1033\langfe1033\langnp1033\insrsid5327097\charrsid5327097
\par {\pntext\pard\plain\ltrpar \rtlch\fcs1 \af37\afs22 \ltrch\fcs0 \f3\fs22\lang1033\langfe1033\langnp1033\insrsid5327097\charrsid5327097 \loch\af3\dbch\af0\hich\f3 \'b7\tab}}\pard \ltrpar\ql \fi-360\li720\ri0\sa200\sl276\slmult1\widctlpar\wrapdefault{\*\pn
\pnlvlblt\ilvl0\ls1\pnrnot0\pnf3 {\pntxtb \'b7}}\faauto\ls1\rin0\lin720\itap0\pararsid5327097 {\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang1033\langfe1033\langnp1033\insrsid5327097\charrsid5327097
the individual who was granted a Test License(s) for the Software; }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang1033\langfe1033\langnp1033\insrsid5327097 }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang1033\langfe1033\langnp1033\insrsid5327097\charrsid5327097
the individ}{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang1033\langfe1033\langnp1033\insrsid5327097 ual is the only Authorized User;}{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang1033\langfe1033\langnp1033\insrsid5327097\charrsid5327097
\par {\pntext\pard\plain\ltrpar \rtlch\fcs1 \af37\afs22 \ltrch\fcs0 \f3\fs22\lang1033\langfe1033\langnp1033\insrsid5327097\charrsid5327097 \loch\af3\dbch\af0\hich\f3 \'b7\tab}}\pard \ltrpar\ql \fi-360\li720\ri0\sa200\sl276\slmult1\widctlpar\wrapdefault{\*\pn
\pnlvlblt\ilvl0\ls1\pnrnot0\pnf3 {\pntxtb \'b7}}\faauto\ls1\rin0\lin720\itap0\pararsid5327097 {\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang1033\langfe1033\langnp1033\insrsid5327097\charrsid5327097 the individual evaluating the Software in trial mode; }{
\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang1033\langfe1033\langnp1033\insrsid3763068\charrsid5327097
\par {\pntext\pard\plain\ltrpar \rtlch\fcs1 \af37\afs22 \ltrch\fcs0 \f3\fs22\lang1033\langfe1033\langnp1033\insrsid5327097\charrsid5327097 \loch\af3\dbch\af0\hich\f3 \'b7\tab}}\pard \ltrpar\ql \fi-360\li720\ri0\sa200\sl276\slmult1\widctlpar\wrapdefault{\*\pn
\pnlvlblt\ilvl0\ls1\pnrnot0\pnf3 {\pntxtb \'b7}}\faauto\ls1\rin0\lin720\itap0\pararsid5327097 {\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang1033\langfe1033\langnp1033\insrsid5327097\charrsid5327097
an employee or independent contractor who might at any time use the Software, of the company, corporation, or organization that purchased a License(s) for the Software; an entity has one Authorized User for each License purchased;
\par {\pntext\pard\plain\ltrpar \rtlch\fcs1 \af37\afs22 \ltrch\fcs0 \f3\fs22\lang1033\langfe1033\langnp1033\insrsid5327097\charrsid5327097 \loch\af3\dbch\af0\hich\f3 \'b7\tab}}\pard \ltrpar\ql \fi-360\li720\ri0\sa200\sl276\slmult1\widctlpar\wrapdefault{\*\pn
\pnlvlblt\ilvl0\ls1\pnrnot0\pnf3 {\pntxtb \'b7}}\faauto\ls1\rin0\lin720\itap0\pararsid5327097 {\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang1033\langfe1033\langnp1033\insrsid5327097\charrsid5327097 a
n employee or independent contractor who might at any time use the Software, of the company, corporation, or organization }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang1033\langfe1033\langnp1033\insrsid5327097 was granted}{\rtlch\fcs1 \af37 \ltrch\fcs0
\f37\lang1033\langfe1033\langnp1033\insrsid5327097\charrsid5327097 a }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang1033\langfe1033\langnp1033\insrsid5327097 Test }{\rtlch\fcs1 \af37 \ltrch\fcs0
\f37\lang1033\langfe1033\langnp1033\insrsid5327097\charrsid5327097 License(s) for the Software; an entity has one Authorized }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang1033\langfe1033\langnp1033\insrsid5327097 User for each License purchased.}{\rtlch\fcs1
\af37 \ltrch\fcs0 \f37\lang1033\langfe1033\langnp1033\insrsid5327097\charrsid5327097
\par }\pard \ltrpar\ql \li0\ri0\sa200\sl276\slmult1\widctlpar\wrapdefault{\*\pn \pnlvlcont\ilvl0\ls0\pnrnot0\pndec }\faauto\rin0\lin0\itap0\pararsid9637834 {\rtlch\fcs1 \ab\af37 \ltrch\fcs0 \b\f37\lang1033\langfe1033\langnp1033\insrsid13897761
\par }{\rtlch\fcs1 \ab\af37 \ltrch\fcs0 \b\f37\lang1033\langfe1033\langnp1033\insrsid3763068\charrsid5327097 GRANT}{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang1033\langfe1033\langnp1033\insrsid9637834\charrsid5327097
\par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang1033\langfe1033\langnp1033\insrsid3763068\charrsid5327097
Subject to the terms of this Agreement, the Licensor hereby grants the Licensee a non-transferable, non-exclusive, non-sub-licensable, limited license that allows:
\par {\pntext\pard\plain\ltrpar \rtlch\fcs1 \af37\afs22 \ltrch\fcs0 \f3\fs22\lang1033\langfe1033\langnp1033\insrsid3763068\charrsid5327097 \loch\af3\dbch\af0\hich\f3 \'b7\tab}}\pard \ltrpar\ql \fi-360\li720\ri0\sa200\sl276\slmult1\widctlpar\wrapdefault{\*\pn
\pnlvlblt\ilvl0\ls1\pnrnot0\pnf3 {\pntxtb \'b7}}\faauto\ls1\rin0\lin720\itap0\pararsid3763068 {\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang1033\langfe1033\langnp1033\insrsid3763068\charrsid5327097
the Licensee to distribute (an) Activation Key(s) to Authorized User(s);
\par {\pntext\pard\plain\ltrpar \rtlch\fcs1 \af37\afs22 \ltrch\fcs0 \f3\fs22\lang1033\langfe1033\langnp1033\insrsid3763068\charrsid5327097 \loch\af3\dbch\af0\hich\f3 \'b7\tab}}\pard \ltrpar\ql \fi-360\li720\ri0\sa200\sl276\slmult1\widctlpar\wrapdefault{\*\pn
\pnlvlblt\ilvl0\ls1\pnrnot0\pnf3 {\pntxtb \'b7}}\faauto\ls1\rin0\lin720\itap0\pararsid3763068 {\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang1033\langfe1033\langnp1033\insrsid3763068\charrsid5327097 Authorized Us
er(s) to install the licensed version of the Software on computer PCs where potential use of the Software is restricted exclusively to Authorized User(s);
\par {\pntext\pard\plain\ltrpar \rtlch\fcs1 \af37\afs22 \ltrch\fcs0 \f3\fs22\lang1033\langfe1033\langnp1033\insrsid3763068\charrsid5327097 \loch\af3\dbch\af0\hich\f3 \'b7\tab}}\pard \ltrpar\ql \fi-360\li720\ri0\sa200\sl276\slmult1\widctlpar\wrapdefault{\*\pn
\pnlvlblt\ilvl0\ls1\pnrnot0\pnf3 {\pntxtb \'b7}}\faauto\ls1\rin0\lin720\itap0\pararsid16058252 {\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang1033\langfe1033\langnp1033\insrsid3763068\charrsid5327097 Authorized User(s) to us}{\rtlch\fcs1 \af37 \ltrch\fcs0
\f37\lang1033\langfe1033\langnp1033\insrsid5327097 e the Software on computer PCs and }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang1033\langfe1033\langnp1033\insrsid3763068\charrsid5327097 in virtual machines}{\rtlch\fcs1 \af37 \ltrch\fcs0
\f37\lang1033\langfe1033\langnp1033\insrsid5327097 .}{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang1033\langfe1033\langnp1033\insrsid3763068\charrsid5327097
\par {\pntext\pard\plain\ltrpar \rtlch\fcs1 \af37\afs22 \ltrch\fcs0 \f3\fs22\lang1033\langfe1033\langnp1033\insrsid3763068\charrsid5327097 \loch\af3\dbch\af0\hich\f3 \'b7\tab}}\pard \ltrpar\ql \fi-360\li720\ri0\sa200\sl276\slmult1\widctlpar\wrapdefault{\*\pn
\pnlvlblt\ilvl0\ls1\pnrnot0\pnf3 {\pntxtb \'b7}}\faauto\ls1\rin0\lin720\itap0\pararsid3763068 {\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang1033\langfe1033\langnp1033\insrsid3763068\charrsid5327097
Licensee to make a copy of the Software for archival purposes provided the copy contains all of the proprietary notices of the Software.
\par {\pntext\pard\plain\ltrpar \rtlch\fcs1 \af37\afs22 \ltrch\fcs0 \f3\fs22\lang1033\langfe1033\langnp1033\insrsid3763068\charrsid5327097 \loch\af3\dbch\af0\hich\f3 \'b7\tab}}\pard \ltrpar\ql \fi-360\li720\ri0\sa200\sl276\slmult1\widctlpar\wrapdefault{\*\pn
\pnlvlblt\ilvl0\ls1\pnrnot0\pnf3 {\pntxtb \'b7}}\faauto\ls1\rin0\lin720\itap0\pararsid3763068 {\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang1033\langfe1033\langnp1033\insrsid3763068\charrsid5327097
In case the Licensee of the software is a company, corporation, or organization the Licensor has the right to mention this usage of the Software on its own website.
\par }\pard \ltrpar\ql \li0\ri0\sa200\sl276\slmult1\widctlpar\wrapdefault{\*\pn \pnlvlcont\ilvl0\ls0\pnrnot0\pndec }\faauto\rin0\lin0\itap0\pararsid3763068 {\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang1033\langfe1033\langnp1033\insrsid3763068\charrsid5327097
\par }{\rtlch\fcs1 \ab\af37 \ltrch\fcs0 \b\f37\lang1033\langfe1033\langnp1033\insrsid3763068\charrsid5327097 RESTRICTIONS}{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang1033\langfe1033\langnp1033\insrsid3763068\charrsid5327097
\par Licensee will not, and will have no right to:
\par {\pntext\pard\plain\ltrpar \rtlch\fcs1 \af37\afs22 \ltrch\fcs0 \f3\fs22\lang1033\langfe1033\langnp1033\insrsid3763068\charrsid5327097 \loch\af3\dbch\af0\hich\f3 \'b7\tab}}\pard \ltrpar\ql \fi-360\li720\ri0\sa200\sl276\slmult1\widctlpar\wrapdefault{\*\pn
\pnlvlblt\ilvl0\ls1\pnrnot0\pnf3 {\pntxtb \'b7}}\faauto\ls1\rin0\lin720\itap0\pararsid3763068 {\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang1033\langfe1033\langnp1033\insrsid3763068\charrsid5327097
distribute, use, or transfer an Activation Key(s) that has been superseded by an Activation Key(s) provided with software maintenance;
\par {\pntext\pard\plain\ltrpar \rtlch\fcs1 \af37\afs22 \ltrch\fcs0 \f3\fs22\lang1033\langfe1033\langnp1033\insrsid3763068\charrsid5327097 \loch\af3\dbch\af0\hich\f3 \'b7\tab}}\pard \ltrpar\ql \fi-360\li720\ri0\sa200\sl276\slmult1\widctlpar\wrapdefault{\*\pn
\pnlvlblt\ilvl0\ls1\pnrnot0\pnf3 {\pntxtb \'b7}}\faauto\ls1\rin0\lin720\itap0\pararsid3763068 {\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang1033\langfe1033\langnp1033\insrsid3763068\charrsid5327097 modify
, translate, reverse engineer, decompile, disassemble (except to the extent applicable laws specifically prohibit such restriction), create derivative works based on, or otherwise attempt to discover the source code or underlying ideas or algorithms of th
e Software;
\par {\pntext\pard\plain\ltrpar \rtlch\fcs1 \af37\afs22 \ltrch\fcs0 \f3\fs22\lang1033\langfe1033\langnp1033\insrsid3763068\charrsid5327097 \loch\af3\dbch\af0\hich\f3 \'b7\tab}}\pard \ltrpar\ql \fi-360\li720\ri0\sa200\sl276\slmult1\widctlpar\wrapdefault{\*\pn
\pnlvlblt\ilvl0\ls1\pnrnot0\pnf3 {\pntxtb \'b7}}\faauto\ls1\rin0\lin720\itap0\pararsid3763068 {\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang1033\langfe1033\langnp1033\insrsid3763068\charrsid5327097
sell, rent, lease, distribute, or otherwise transfer rights to the Software without prior written consent from Licensor;
\par {\pntext\pard\plain\ltrpar \rtlch\fcs1 \af37\afs22 \ltrch\fcs0 \f3\fs22\lang1033\langfe1033\langnp1033\insrsid3763068\charrsid5327097 \loch\af3\dbch\af0\hich\f3 \'b7\tab}}\pard \ltrpar\ql \fi-360\li720\ri0\sa200\sl276\slmult1\widctlpar\wrapdefault{\*\pn
\pnlvlblt\ilvl0\ls1\pnrnot0\pnf3 {\pntxtb \'b7}}\faauto\ls1\rin0\lin720\itap0\pararsid3763068 {\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang1033\langfe1033\langnp1033\insrsid3763068\charrsid5327097 remove any proprietary notices or labels from the Software.
\par }\pard \ltrpar\ql \li0\ri0\sa200\sl276\slmult1\widctlpar\wrapdefault{\*\pn \pnlvlcont\ilvl0\ls0\pnrnot0\pndec }\faauto\rin0\lin0\itap0\pararsid3763068 {\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang1033\langfe1033\langnp1033\insrsid8913734 Authorized User(s) }{
\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang1033\langfe1033\langnp1033\insrsid8913734\charrsid5327097 will not, and will have no right to:}{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang1033\langfe1033\langnp1033\insrsid3763068
\par {\pntext\pard\plain\ltrpar \rtlch\fcs1 \af37\afs22 \ltrch\fcs0 \f3\fs22\lang1033\langfe1033\langnp1033\insrsid8913734\charrsid5327097 \loch\af3\dbch\af0\hich\f3 \'b7\tab}}\pard \ltrpar\ql \fi-360\li720\ri0\sa200\sl276\slmult1\widctlpar\wrapdefault{\*\pn
\pnlvlblt\ilvl0\ls1\pnrnot0\pnf3 {\pntxtb \'b7}}\faauto\ls1\rin0\lin720\itap0\pararsid8353839 {\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang1033\langfe1033\langnp1033\insrsid8913734\charrsid5327097 use the trial }{\rtlch\fcs1 \af37 \ltrch\fcs0
\f37\lang1033\langfe1033\langnp1033\insrsid8913734 mode of the S}{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang1033\langfe1033\langnp1033\insrsid8913734\charrsid5327097 oftware }{\rtlch\fcs1 \af37 \ltrch\fcs0
\f37\lang1033\langfe1033\langnp1033\insrsid16058252\charrsid5327097 for any commercial purposes}{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang1033\langfe1033\langnp1033\insrsid8913734\charrsid5327097 ;}{\rtlch\fcs1 \af37 \ltrch\fcs0
\f37\lang1033\langfe1033\langnp1033\insrsid8913734\charrsid8913734
\par {\pntext\pard\plain\ltrpar \rtlch\fcs1 \af37\afs22 \ltrch\fcs0 \f3\fs22\lang1033\langfe1033\langnp1033\insrsid8913734\charrsid5327097 \loch\af3\dbch\af0\hich\f3 \'b7\tab}}\pard \ltrpar\ql \fi-360\li720\ri0\sa200\sl276\slmult1\widctlpar\wrapdefault{\*\pn
\pnlvlblt\ilvl0\ls1\pnrnot0\pnf3 {\pntxtb \'b7}}\faauto\ls1\rin0\lin720\itap0\pararsid8913734 {\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang1033\langfe1033\langnp1033\insrsid8913734\charrsid5327097 use a }{\rtlch\fcs1 \af37 \ltrch\fcs0
\f37\lang1033\langfe1033\langnp1033\insrsid8913734 P}{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang1033\langfe1033\langnp1033\insrsid8913734\charrsid5327097 rivate/}{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang1033\langfe1033\langnp1033\insrsid8913734 A}{
\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang1033\langfe1033\langnp1033\insrsid8913734\charrsid5327097 cademic }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang1033\langfe1033\langnp1033\insrsid8913734 L}{\rtlch\fcs1 \af37 \ltrch\fcs0
\f37\lang1033\langfe1033\langnp1033\insrsid8913734\charrsid5327097 icense of the software}{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang1033\langfe1033\langnp1033\insrsid16058252\charrsid16058252 }{\rtlch\fcs1 \af37 \ltrch\fcs0
\f37\lang1033\langfe1033\langnp1033\insrsid16058252\charrsid5327097 for any commercial purposes}{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang1033\langfe1033\langnp1033\insrsid8913734 .}{\rtlch\fcs1 \af37 \ltrch\fcs0
\f37\lang1033\langfe1033\langnp1033\insrsid8913734\charrsid8913734
\par }\pard \ltrpar\ql \li0\ri0\sa200\sl276\slmult1\widctlpar\wrapdefault\faauto\rin0\lin0\itap0\pararsid3763068 {\rtlch\fcs1 \ab\af37 \ltrch\fcs0 \b\f37\lang1033\langfe1033\langnp1033\insrsid8353839
\par }{\rtlch\fcs1 \ab\af37 \ltrch\fcs0 \b\f37\lang1033\langfe1033\langnp1033\insrsid3763068\charrsid5327097 TITLE AND COPYRIGHT}{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang1033\langfe1033\langnp1033\insrsid3763068\charrsid5327097
\par Title, ownership rights, intellectual property rights, and copyright to the Software, and any copies or portions thereof, shall remain in Licensor. The Software is protected by European copyright directives, Austrian copyright laws as well as United State
s copyright laws and international treaty provisions.
\par }{\rtlch\fcs1 \ab\af37 \ltrch\fcs0 \b\f37\lang1033\langfe1033\langnp1033\insrsid3763068\charrsid5327097
\par DISCLAIMER OF WARRANTY}{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang1033\langfe1033\langnp1033\insrsid3763068\charrsid5327097
\par THE SOFTWARE IS PROVIDED AS IS, WITHOUT WARRANTY OF ANY KIND. LICENSOR HEREBY DISCLAIMS ALL EXPRESS OR IMPLIED WARRANTIES, INCLUDING WITHOUT LIMITATION WARRANTIES OF MERCHANTABILI
TY, FITNESS FOR A PARTICULAR PURPOSE, AND NON-INFRINGEMENT. THIS DISCLAIMER OF WARRANTY CONSTITUTES AN ESSENTIAL PART OF THIS AGREEMENT. SOME U.S. STATES DO NOT ALLOW EXCLUSIONS OF AN IMPLIED WARRANTY, SO THIS DISCLAIMER MAY NOT APPLY TO LICENSEE. LICENSE
E MAY HAVE OTHER LEGAL RIGHTS THAT VARY FROM STATE TO STATE OR BY JURISDICTION.
\par
\par }{\rtlch\fcs1 \ab\af37 \ltrch\fcs0 \b\f37\lang1033\langfe1033\langnp1033\insrsid3763068\charrsid5327097 LIMITATION OF LIABILITY}{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang1033\langfe1033\langnp1033\insrsid3763068\charrsid5327097
\par LICENSEE ASSUMES THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE SOFTWARE. LICENSOR ASSUMES NO LIABILITY FOR THE COST OF ANY SERVICE OR REPAIR
IF THE SOFTWARE IS DEFECTIVE. UNDER NO CIRCUMSTANCES AND UNDER NO LEGAL THEORY, TORT, CONTRACT, STRICT LIABILITY, OR OTHERWISE, SHALL LICENSOR, OR ITS LICENSORS, SUPPLIERS OR RESELLERS, BE LIABLE TO LICENSEE OR ANY OTHER PERSON FOR ANY INDIRECT, SPECIAL,
I
NCIDENTAL, OR CONSEQUENTIAL DAMAGES OF ANY CHARACTER INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOST PROFITS, LOSS OF GOODWILL, WORK STOPPAGE, COMPUTER FAILURE OR MALFUNCTION, OR ANY AND ALL OTHER COMMERCIAL DAMAGES OR LOSSES. IN NO EVENT WILL LICENSOR BE
LIABLE FOR ANY DAMAGES IN EXCESS OF THE MONEY PAID FOR THE SOFTWARE, EVEN IF LICENSOR SHALL HAVE BEEN INFORMED OF THE POSSIBILITY OF SUCH DAMAGES, OR FOR ANY CLAIM BY ANY OTHER PARTY. THIS LIMITATION OF LIABILITY SHALL NOT APPLY TO LIABILITY FOR DEATH OR
PERSONAL INJURY TO THE EXTENT APPLICABLE LAW PROHIBITS SUCH LIMITATION. FURTHERMORE, SOME U.S. STATES DO NOT ALLOW THE EXCLUSION OR LIMITATION OF INCIDENTAL OR CONSEQUENTIAL DAMAGES, SO THIS LIMITATION AND EXCLUSION MAY NOT APPLY TO LICENSEE.
\par
\par }{\rtlch\fcs1 \ab\af37 \ltrch\fcs0 \b\f37\lang1033\langfe1033\langnp1033\insrsid3763068\charrsid5327097 TERMINATION}{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang1033\langfe1033\langnp1033\insrsid3763068\charrsid5327097
\par T
he license granted herein shall be perpetual. If Licensee fails to comply with any of the terms of this Agreement, this Agreement and the rights granted herein will terminate immediately. Licensor may, at its sole discretion and at any time, terminate thi
s Agreement. On termination, Licensee must cease using and destroy all copies of the Software.
\par }{\rtlch\fcs1 \ab\af37 \ltrch\fcs0 \b\f37\lang1033\langfe1033\langnp1033\insrsid3763068\charrsid5327097
\par EXPORT CONTROLS}{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang1033\langfe1033\langnp1033\insrsid3763068\charrsid5327097
\par Licensee shall comply with all export laws, restrictions and regulations of the United States, the Directive 2009/428/EC of the European Parliament and of the Council and the Austrian Au\'df
enwirtschaftsgesetz 2011, BGBl I No. 26/2011. Licensee shall not export, re-export or otherwise transfer the Software to any country for which the United States or the European Union or Austria maintains an embargo
, or to any person or entity on the U.S. Department of Treasury List of Specially Designated Nationals or the U.S. Department of Commerce Denied Persons List or Entity List. Licensee represents and warrants that licensee is not located in, under the contr
ol of, or a national or resident of any restricted country or on any such list.
\par
\par }{\rtlch\fcs1 \ab\af37 \ltrch\fcs0 \b\f37\lang1033\langfe1033\langnp1033\insrsid3763068\charrsid5327097 THIRD PARTY CREDITS}{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang1033\langfe1033\langnp1033\insrsid3763068\charrsid5327097
\par Portions of the Software utilize or include third party software and other copyrighted materials. Credits, licensing terms, and disclaimers for such materials are contained in the installation directory for the Software, and are accessible via the \'93}{
\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang1033\langfe1033\langnp1033\insrsid13897761 3rd Party }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang1033\langfe1033\langnp1033\insrsid3763068\charrsid5327097 Licenses\'94
dialog for the Software. Licensee agrees that use of such copyrighted materials is governed by their respective terms.
\par
\par }{\rtlch\fcs1 \ab\af37 \ltrch\fcs0 \b\f37\lang1033\langfe1033\langnp1033\insrsid3763068\charrsid5327097 ENTIRE AGREEMENT}{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang1033\langfe1033\langnp1033\insrsid3763068\charrsid5327097
\par This Agreement represents the complete agreement concerning this }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang1033\langfe1033\langnp1033\insrsid13784877\charrsid5327097 Software}{\rtlch\fcs1 \af37 \ltrch\fcs0
\f37\lang1033\langfe1033\langnp1033\insrsid3763068\charrsid5327097 between the parties and supersedes all prior agreements and representations between them. It may
be amended only in writing executed by both parties. Coati Software OG reserves the exclusive right to periodically update this }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang1033\langfe1033\langnp1033\insrsid8353839 Agreement}{\rtlch\fcs1 \af37 \ltrch\fcs0
\f37\lang1033\langfe1033\langnp1033\insrsid3763068\charrsid5327097 at its discretion at any time, with reasonable notice to you by posting the new }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang1033\langfe1033\langnp1033\insrsid8353839 Agreement}{\rtlch\fcs1
\af37 \ltrch\fcs0 \f37\lang1033\langfe1033\langnp1033\insrsid3763068\charrsid5327097 at the following URL: }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\ul\cf2\lang1033\langfe1033\langnp1033\insrsid3763068\charrsid5327097 <http://www.coati.io/>}{\rtlch\fcs1
\af37 \ltrch\fcs0 \f37\lang1033\langfe1033\langnp1033\insrsid3763068\charrsid5327097
. Any action arising out of or relating to this Agreement may be brought exclusively in Salzburg, Austria, and Coati Software OG and you irrevocably consent to the jurisdiction of such courts and venue in Salzburg, Austria.
\par
\par }{\rtlch\fcs1 \ab\af37 \ltrch\fcs0 \b\f37\lang1033\langfe1033\langnp1033\insrsid3763068\charrsid5327097 CONTACT}{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang1033\langfe1033\langnp1033\insrsid3763068\charrsid5327097
\par If you have questions regarding this agreement, contact:
\par }\pard\plain \ltrpar\s24\ql \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid8353839 \rtlch\fcs1 \af31507\afs22\alang1025 \ltrch\fcs0 \f31506\fs22\lang2057\langfe1033\cgrid\langnp2057\langfenp1033 {\rtlch\fcs1
\af31507 \ltrch\fcs0 \lang1031\langfe1033\langnp1031\insrsid3763068\charrsid16058252 Coati Software OG
\par }{\rtlch\fcs1 \af31507 \ltrch\fcs0 \lang1031\langfe1033\langnp1031\insrsid8353839\charrsid8353839 Jakob-Haringer-Stra\'dfe 1/127
\par 5020 Salzburg
\par }{\rtlch\fcs1 \af31507 \ltrch\fcs0 \lang1031\langfe1033\langnp1031\insrsid3763068\charrsid8353839 Austria
\par }\pard\plain \ltrpar\ql \li0\ri0\sa200\sl276\slmult1\widctlpar\wrapdefault\faauto\rin0\lin0\itap0\pararsid3763068 \rtlch\fcs1 \af31507\afs22\alang1025 \ltrch\fcs0 \f31506\fs22\lang2057\langfe1033\cgrid\langnp2057\langfenp1033 {\rtlch\fcs1 \af37
\ltrch\fcs0 \f37\lang1031\langfe1033\langnp1031\insrsid3763068
\par }{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang1031\langfe1033\langnp1031\insrsid3232479 support@coati.io}{\rtlch\fcs1 \af37 \ltrch\fcs0 \f37\lang1031\langfe1033\langnp1031\insrsid3232479\charrsid8353839
\par }\pard \ltrpar\ql \li0\ri0\sa160\sl259\slmult1\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 {\rtlch\fcs1 \af31507 \ltrch\fcs0 \lang1033\langfe1033\langnp1033\insrsid9832860\charrsid5327097
\par }{\*\themedata 504b030414000600080000002100828abc13fa0000001c020000130000005b436f6e74656e745f54797065735d2e786d6cac91cb6ac3301045f785fe83d0b6d8
72ba28a5d8cea249777d2cd20f18e4b12d6a8f843409c9df77ecb850ba082d74231062ce997b55ae8fe3a00e1893f354e9555e6885647de3a8abf4fbee29bbd7
2a3150038327acf409935ed7d757e5ee14302999a654e99e393c18936c8f23a4dc072479697d1c81e51a3b13c07e4087e6b628ee8cf5c4489cf1c4d075f92a0b
44d7a07a83c82f308ac7b0a0f0fbf90c2480980b58abc733615aa2d210c2e02cb04430076a7ee833dfb6ce62e3ed7e14693e8317d8cd0433bf5c60f53fea2fe7
065bd80facb647e9e25c7fc421fd2ddb526b2e9373fed4bb902e182e97b7b461e6bfad3f010000ffff0300504b030414000600080000002100a5d6a7e7c00000
00360100000b0000005f72656c732f2e72656c73848fcf6ac3300c87ef85bd83d17d51d2c31825762fa590432fa37d00e1287f68221bdb1bebdb4fc7060abb08
84a4eff7a93dfeae8bf9e194e720169aaa06c3e2433fcb68e1763dbf7f82c985a4a725085b787086a37bdbb55fbc50d1a33ccd311ba548b63095120f88d94fbc
52ae4264d1c910d24a45db3462247fa791715fd71f989e19e0364cd3f51652d73760ae8fa8c9ffb3c330cc9e4fc17faf2ce545046e37944c69e462a1a82fe353
bd90a865aad41ed0b5b8f9d6fd010000ffff0300504b0304140006000800000021006b799616830000008a0000001c0000007468656d652f7468656d652f7468
656d654d616e616765722e786d6c0ccc4d0ac3201040e17da17790d93763bb284562b2cbaebbf600439c1a41c7a0d29fdbd7e5e38337cedf14d59b4b0d592c9c
070d8a65cd2e88b7f07c2ca71ba8da481cc52c6ce1c715e6e97818c9b48d13df49c873517d23d59085adb5dd20d6b52bd521ef2cdd5eb9246a3d8b4757e8d3f7
29e245eb2b260a0238fd010000ffff0300504b0304140006000800000021008aa90d21b8060000581a0000160000007468656d652f7468656d652f7468656d65
312e786d6cec59cf6fdb3614be0fd8ff20e8eefa9724db419dc296ed666bd216b5dba147daa62d369468487452a32830b4c701038675c30e2bb0db0ec3b6022d
b04bf7d764ebb075c0fe853d52b24cdaf49206390443938b457deff1e37be4f748f1eab58721b58e709c101635edf295926de168c4c6249a36edbb835ea16e5b
0947d1185116e1a6bdc0897d6df7c30faea21d1ee0105b601f253ba869079ccf768ac56404cd28b9c26638827713168788c3633c2d8e63740c7e435aac944a5e
314424b2ad0885e0f6d6644246d81a0897f6eed27997c263c413d130a2715fb8c69a85c48e0fcb02912c129fc6d611a24d1bfa19b3e3017ec86d8ba284c38ba6
5d927f7671f76a11ed6446946fb155ec7af22fb3cb0cc68715d9673c1de69d3a8eeb78addcbf0450be89ebd6ba5ed7cbfd49001a8d60a42917d5a7db6eb43b6e
865540e94f83ef4ead532d6b78c57f758373cb15ff1a5e8252ffce06bed7f3218a1a5e8252bcbb81779c5ac57734bc04a5786f035f2bb53a4e4dc34b50404974
b8812eb95ed55f8e36874c18dd33c21baed3ab5532e72b14cc867c76892e262ce2dbe65a881eb0b8070001a48893c8e28b199ea011cc621f51328c89b54fa601
17dda01d8c94f769d328d968123d5ac9282633deb43f9e2158172bafffbcfef19fd72fad9327af4e9efc72f2f4e9c9939f53479ad51e8aa6aad5dbefbff8fbf9
a7d65f2fbf7bfbec2b333e51f1bffff4d96fbf7e6906c2225ad179f3f58b3f5ebd78f3cde77ffef0cc006fc568a8c20724c48975131f5b775808039351d199e3
61fc6e16830011d5a2154d131421d18bc17f97071afae6025164c0b5b11ec17b31888809787dfe4023dc0fe23927068f378250031e3046db2c3646e186e84b09
f3601e4dcd9dc773157707a12353df3e8ab4fc76e733504f6272e90758a3799ba288a3298e30b7c43b7688b16174f709d1e27a4046314bd8845bf789d546c418
9201196ab36965b44742c8cbc24410f2adc5e6e09ed566d434ea0e3ed291b02a1035901f60aa85f13a9a73149a5c0e5048d580ef231e9848f617f148c575130e
999e62caacee182789c9e6560ce355927e0304c49cf603ba087564ccc9a1c9e73e624c4576d8a11fa07066c2f64914a8d88f924398a2c8bacdb8097ec0f41522
9e210f28da9aee7b046be93e5d0dee8276aa94561344bc99c7865c5ec74c9bbffd059d202ca506a45d53ec9044a7ca77dac3c5093748e59b6f9f1b785f56c96e
c5c4b866f6d6847a1b6e5d9e7d168fc9e557e70e9a47b7312c88cd12f55e9cdf8bb3fdbf17e76debf9e22579a5c220d06233986eb7e5e63bdcbaf79e104afb7c
41f17e22b7df09d49e710f1a859d3c77e2fc2c360be0a758c9d081869bc648da5831e39f101ef4033483ad7bd9164ea649e67a9a583396c09151361b7d0b3c9d
87076c9c1e39cb6571bc4cc523417cd55e72f376382ef014edd556c7a8dcbd643b95c7dd250161fb2e2494ce7412550389dab25104491eae21680612726417c2
a261605117ee97a9da6001d4f2acc0e6c8822d55d3761d3001233833218ac7224f69aa97d995c9bcc84c6f0ba636034af05d239b01ab4c3704d7adc313a34ba7
da1932ad9150a69b4e424646d6b02440639ccd4ed17a161aef9aebc62aa51a3d118a2c160a8d5afdbf589c37d760b7ae0d3452958246d671d3f6aa2e4c99119a
35ed091cdde1673883b993884d2da253f8fe35e271bae0cfa32cb338e11d940469c0a5e8a46a10128e638b92b0698be1e769a091d410c9ad5c0141b8b4e41a20
2b978d1c245d4f329e4cf088ab69575a44a4d34750f8542b8c6fa5f9f9c1c292cd21ddfd607c6c0de93cbe83608ab9b5b208e09824f07da79c46734ce093642e
64abf9b7569832d955bf09ca3994b6233a0b50565154314fe152ca733af2298f81f2948d1902aa84242b84c3a928b06a50b56a9a578d94c3d6aa7bba91889c22
9aab9aa9a98aa89a6615d37a589681b5589eafc82bac96218672a956f854bad725b7b1d4bab57d425e2520e079fc0c55f70c0541a1b6ea4ca326186fcab0d0ec
ac55af1dcb019e42ed2c4542517d6fe9762d6e798d3076078de7aafc60b73e6ba169b2dc57ca48cbbb0bf57a810d1f807874e043ee9cf244a6122e0f62041ba2
bedc93a4b2014be421cf9606fcb2e63169da8f4a6ecbf12bae5f28d5dd6ec1a93aa542dd6d550b2dd7ad96bb6eb9d469571e4361e1415876d37b931e7c6ca28b
f4f6a469dbd9358a046c5ca584cb0f6b57462c2c327955529423905729e5caf6ab148b80fa3cf22abd46b5d1f60a8d6aab57703aed7aa1e17bed42c7f36b9d5e
c777eb8dde63db3a9260a755f51daf5b2f7865df2f385e498ca3de28d49c4aa5e5d45af5aed37a9ced672004a98e644181384b5ebbff020000ffff0300504b03
04140006000800000021000dd1909fb60000001b010000270000007468656d652f7468656d652f5f72656c732f7468656d654d616e616765722e786d6c2e7265
6c73848f4d0ac2301484f78277086f6fd3ba109126dd88d0add40384e4350d363f2451eced0dae2c082e8761be9969bb979dc9136332de3168aa1a083ae99571
9ac16db8ec8e4052164e89d93b64b060828e6f37ed1567914b284d262452282e3198720e274a939cd08a54f980ae38a38f56e422a3a641c8bbd048f7757da0f1
9b017cc524bd62107bd5001996509affb3fd381a89672f1f165dfe514173d9850528a2c6cce0239baa4c04ca5bbabac4df000000ffff0300504b01022d001400
0600080000002100828abc13fa0000001c0200001300000000000000000000000000000000005b436f6e74656e745f54797065735d2e786d6c504b01022d0014
000600080000002100a5d6a7e7c0000000360100000b000000000000000000000000002b0100005f72656c732f2e72656c73504b01022d001400060008000000
21006b799616830000008a0000001c00000000000000000000000000140200007468656d652f7468656d652f7468656d654d616e616765722e786d6c504b0102
2d00140006000800000021008aa90d21b8060000581a00001600000000000000000000000000d10200007468656d652f7468656d652f7468656d65312e786d6c
504b01022d00140006000800000021000dd1909fb60000001b0100002700000000000000000000000000bd0900007468656d652f7468656d652f5f72656c732f7468656d654d616e616765722e786d6c2e72656c73504b050600000000050005005d010000b80a00000000}
{\*\colorschememapping 3c3f786d6c2076657273696f6e3d22312e302220656e636f64696e673d225554462d3822207374616e64616c6f6e653d22796573223f3e0d0a3c613a636c724d
617020786d6c6e733a613d22687474703a2f2f736368656d61732e6f70656e786d6c666f726d6174732e6f72672f64726177696e676d6c2f323030362f6d6169
6e22206267313d226c743122207478313d22646b3122206267323d226c743222207478323d22646b322220616363656e74313d22616363656e74312220616363
656e74323d22616363656e74322220616363656e74333d22616363656e74332220616363656e74343d22616363656e74342220616363656e74353d22616363656e74352220616363656e74363d22616363656e74362220686c696e6b3d22686c696e6b2220666f6c486c696e6b3d22666f6c486c696e6b222f3e}
{\*\latentstyles\lsdstimax267\lsdlockeddef0\lsdsemihiddendef1\lsdunhideuseddef1\lsdqformatdef0\lsdprioritydef99{\lsdlockedexcept \lsdsemihidden0 \lsdunhideused0 \lsdqformat1 \lsdpriority0 \lsdlocked0 Normal;
\lsdsemihidden0 \lsdunhideused0 \lsdqformat1 \lsdpriority9 \lsdlocked0 heading 1;\lsdqformat1 \lsdpriority9 \lsdlocked0 heading 2;\lsdqformat1 \lsdpriority0 \lsdlocked0 heading 3;\lsdqformat1 \lsdpriority9 \lsdlocked0 heading 4;
\lsdqformat1 \lsdpriority9 \lsdlocked0 heading 5;\lsdqformat1 \lsdpriority9 \lsdlocked0 heading 6;\lsdqformat1 \lsdpriority9 \lsdlocked0 heading 7;\lsdqformat1 \lsdpriority9 \lsdlocked0 heading 8;\lsdqformat1 \lsdpriority9 \lsdlocked0 heading 9;
\lsdpriority39 \lsdlocked0 toc 1;\lsdpriority39 \lsdlocked0 toc 2;\lsdpriority39 \lsdlocked0 toc 3;\lsdpriority39 \lsdlocked0 toc 4;\lsdpriority39 \lsdlocked0 toc 5;\lsdpriority39 \lsdlocked0 toc 6;\lsdpriority39 \lsdlocked0 toc 7;
\lsdpriority39 \lsdlocked0 toc 8;\lsdpriority39 \lsdlocked0 toc 9;\lsdqformat1 \lsdpriority35 \lsdlocked0 caption;\lsdsemihidden0 \lsdunhideused0 \lsdqformat1 \lsdpriority10 \lsdlocked0 Title;\lsdpriority1 \lsdlocked0 Default Paragraph Font;
\lsdpriority0 \lsdlocked0 Body Text;\lsdsemihidden0 \lsdunhideused0 \lsdqformat1 \lsdpriority11 \lsdlocked0 Subtitle;\lsdpriority0 \lsdlocked0 Body Text 2;\lsdsemihidden0 \lsdunhideused0 \lsdqformat1 \lsdpriority22 \lsdlocked0 Strong;
\lsdsemihidden0 \lsdunhideused0 \lsdqformat1 \lsdpriority20 \lsdlocked0 Emphasis;\lsdsemihidden0 \lsdunhideused0 \lsdpriority39 \lsdlocked0 Table Grid;\lsdunhideused0 \lsdlocked0 Placeholder Text;
\lsdsemihidden0 \lsdunhideused0 \lsdqformat1 \lsdpriority1 \lsdlocked0 No Spacing;\lsdsemihidden0 \lsdunhideused0 \lsdpriority60 \lsdlocked0 Light Shading;\lsdsemihidden0 \lsdunhideused0 \lsdpriority61 \lsdlocked0 Light List;
\lsdsemihidden0 \lsdunhideused0 \lsdpriority62 \lsdlocked0 Light Grid;\lsdsemihidden0 \lsdunhideused0 \lsdpriority63 \lsdlocked0 Medium Shading 1;\lsdsemihidden0 \lsdunhideused0 \lsdpriority64 \lsdlocked0 Medium Shading 2;
\lsdsemihidden0 \lsdunhideused0 \lsdpriority65 \lsdlocked0 Medium List 1;\lsdsemihidden0 \lsdunhideused0 \lsdpriority66 \lsdlocked0 Medium List 2;\lsdsemihidden0 \lsdunhideused0 \lsdpriority67 \lsdlocked0 Medium Grid 1;
\lsdsemihidden0 \lsdunhideused0 \lsdpriority68 \lsdlocked0 Medium Grid 2;\lsdsemihidden0 \lsdunhideused0 \lsdpriority69 \lsdlocked0 Medium Grid 3;\lsdsemihidden0 \lsdunhideused0 \lsdpriority70 \lsdlocked0 Dark List;
\lsdsemihidden0 \lsdunhideused0 \lsdpriority71 \lsdlocked0 Colorful Shading;\lsdsemihidden0 \lsdunhideused0 \lsdpriority72 \lsdlocked0 Colorful List;\lsdsemihidden0 \lsdunhideused0 \lsdpriority73 \lsdlocked0 Colorful Grid;
\lsdsemihidden0 \lsdunhideused0 \lsdpriority60 \lsdlocked0 Light Shading Accent 1;\lsdsemihidden0 \lsdunhideused0 \lsdpriority61 \lsdlocked0 Light List Accent 1;\lsdsemihidden0 \lsdunhideused0 \lsdpriority62 \lsdlocked0 Light Grid Accent 1;
\lsdsemihidden0 \lsdunhideused0 \lsdpriority63 \lsdlocked0 Medium Shading 1 Accent 1;\lsdsemihidden0 \lsdunhideused0 \lsdpriority64 \lsdlocked0 Medium Shading 2 Accent 1;\lsdsemihidden0 \lsdunhideused0 \lsdpriority65 \lsdlocked0 Medium List 1 Accent 1;
\lsdunhideused0 \lsdlocked0 Revision;\lsdsemihidden0 \lsdunhideused0 \lsdqformat1 \lsdpriority34 \lsdlocked0 List Paragraph;\lsdsemihidden0 \lsdunhideused0 \lsdqformat1 \lsdpriority29 \lsdlocked0 Quote;
\lsdsemihidden0 \lsdunhideused0 \lsdqformat1 \lsdpriority30 \lsdlocked0 Intense Quote;\lsdsemihidden0 \lsdunhideused0 \lsdpriority66 \lsdlocked0 Medium List 2 Accent 1;\lsdsemihidden0 \lsdunhideused0 \lsdpriority67 \lsdlocked0 Medium Grid 1 Accent 1;
\lsdsemihidden0 \lsdunhideused0 \lsdpriority68 \lsdlocked0 Medium Grid 2 Accent 1;\lsdsemihidden0 \lsdunhideused0 \lsdpriority69 \lsdlocked0 Medium Grid 3 Accent 1;\lsdsemihidden0 \lsdunhideused0 \lsdpriority70 \lsdlocked0 Dark List Accent 1;
\lsdsemihidden0 \lsdunhideused0 \lsdpriority71 \lsdlocked0 Colorful Shading Accent 1;\lsdsemihidden0 \lsdunhideused0 \lsdpriority72 \lsdlocked0 Colorful List Accent 1;\lsdsemihidden0 \lsdunhideused0 \lsdpriority73 \lsdlocked0 Colorful Grid Accent 1;
\lsdsemihidden0 \lsdunhideused0 \lsdpriority60 \lsdlocked0 Light Shading Accent 2;\lsdsemihidden0 \lsdunhideused0 \lsdpriority61 \lsdlocked0 Light List Accent 2;\lsdsemihidden0 \lsdunhideused0 \lsdpriority62 \lsdlocked0 Light Grid Accent 2;
\lsdsemihidden0 \lsdunhideused0 \lsdpriority63 \lsdlocked0 Medium Shading 1 Accent 2;\lsdsemihidden0 \lsdunhideused0 \lsdpriority64 \lsdlocked0 Medium Shading 2 Accent 2;\lsdsemihidden0 \lsdunhideused0 \lsdpriority65 \lsdlocked0 Medium List 1 Accent 2;
\lsdsemihidden0 \lsdunhideused0 \lsdpriority66 \lsdlocked0 Medium List 2 Accent 2;\lsdsemihidden0 \lsdunhideused0 \lsdpriority67 \lsdlocked0 Medium Grid 1 Accent 2;\lsdsemihidden0 \lsdunhideused0 \lsdpriority68 \lsdlocked0 Medium Grid 2 Accent 2;
\lsdsemihidden0 \lsdunhideused0 \lsdpriority69 \lsdlocked0 Medium Grid 3 Accent 2;\lsdsemihidden0 \lsdunhideused0 \lsdpriority70 \lsdlocked0 Dark List Accent 2;\lsdsemihidden0 \lsdunhideused0 \lsdpriority71 \lsdlocked0 Colorful Shading Accent 2;
\lsdsemihidden0 \lsdunhideused0 \lsdpriority72 \lsdlocked0 Colorful List Accent 2;\lsdsemihidden0 \lsdunhideused0 \lsdpriority73 \lsdlocked0 Colorful Grid Accent 2;\lsdsemihidden0 \lsdunhideused0 \lsdpriority60 \lsdlocked0 Light Shading Accent 3;
\lsdsemihidden0 \lsdunhideused0 \lsdpriority61 \lsdlocked0 Light List Accent 3;\lsdsemihidden0 \lsdunhideused0 \lsdpriority62 \lsdlocked0 Light Grid Accent 3;\lsdsemihidden0 \lsdunhideused0 \lsdpriority63 \lsdlocked0 Medium Shading 1 Accent 3;
\lsdsemihidden0 \lsdunhideused0 \lsdpriority64 \lsdlocked0 Medium Shading 2 Accent 3;\lsdsemihidden0 \lsdunhideused0 \lsdpriority65 \lsdlocked0 Medium List 1 Accent 3;\lsdsemihidden0 \lsdunhideused0 \lsdpriority66 \lsdlocked0 Medium List 2 Accent 3;
\lsdsemihidden0 \lsdunhideused0 \lsdpriority67 \lsdlocked0 Medium Grid 1 Accent 3;\lsdsemihidden0 \lsdunhideused0 \lsdpriority68 \lsdlocked0 Medium Grid 2 Accent 3;\lsdsemihidden0 \lsdunhideused0 \lsdpriority69 \lsdlocked0 Medium Grid 3 Accent 3;
\lsdsemihidden0 \lsdunhideused0 \lsdpriority70 \lsdlocked0 Dark List Accent 3;\lsdsemihidden0 \lsdunhideused0 \lsdpriority71 \lsdlocked0 Colorful Shading Accent 3;\lsdsemihidden0 \lsdunhideused0 \lsdpriority72 \lsdlocked0 Colorful List Accent 3;
\lsdsemihidden0 \lsdunhideused0 \lsdpriority73 \lsdlocked0 Colorful Grid Accent 3;\lsdsemihidden0 \lsdunhideused0 \lsdpriority60 \lsdlocked0 Light Shading Accent 4;\lsdsemihidden0 \lsdunhideused0 \lsdpriority61 \lsdlocked0 Light List Accent 4;
\lsdsemihidden0 \lsdunhideused0 \lsdpriority62 \lsdlocked0 Light Grid Accent 4;\lsdsemihidden0 \lsdunhideused0 \lsdpriority63 \lsdlocked0 Medium Shading 1 Accent 4;\lsdsemihidden0 \lsdunhideused0 \lsdpriority64 \lsdlocked0 Medium Shading 2 Accent 4;
\lsdsemihidden0 \lsdunhideused0 \lsdpriority65 \lsdlocked0 Medium List 1 Accent 4;\lsdsemihidden0 \lsdunhideused0 \lsdpriority66 \lsdlocked0 Medium List 2 Accent 4;\lsdsemihidden0 \lsdunhideused0 \lsdpriority67 \lsdlocked0 Medium Grid 1 Accent 4;
\lsdsemihidden0 \lsdunhideused0 \lsdpriority68 \lsdlocked0 Medium Grid 2 Accent 4;\lsdsemihidden0 \lsdunhideused0 \lsdpriority69 \lsdlocked0 Medium Grid 3 Accent 4;\lsdsemihidden0 \lsdunhideused0 \lsdpriority70 \lsdlocked0 Dark List Accent 4;
\lsdsemihidden0 \lsdunhideused0 \lsdpriority71 \lsdlocked0 Colorful Shading Accent 4;\lsdsemihidden0 \lsdunhideused0 \lsdpriority72 \lsdlocked0 Colorful List Accent 4;\lsdsemihidden0 \lsdunhideused0 \lsdpriority73 \lsdlocked0 Colorful Grid Accent 4;
\lsdsemihidden0 \lsdunhideused0 \lsdpriority60 \lsdlocked0 Light Shading Accent 5;\lsdsemihidden0 \lsdunhideused0 \lsdpriority61 \lsdlocked0 Light List Accent 5;\lsdsemihidden0 \lsdunhideused0 \lsdpriority62 \lsdlocked0 Light Grid Accent 5;
\lsdsemihidden0 \lsdunhideused0 \lsdpriority63 \lsdlocked0 Medium Shading 1 Accent 5;\lsdsemihidden0 \lsdunhideused0 \lsdpriority64 \lsdlocked0 Medium Shading 2 Accent 5;\lsdsemihidden0 \lsdunhideused0 \lsdpriority65 \lsdlocked0 Medium List 1 Accent 5;
\lsdsemihidden0 \lsdunhideused0 \lsdpriority66 \lsdlocked0 Medium List 2 Accent 5;\lsdsemihidden0 \lsdunhideused0 \lsdpriority67 \lsdlocked0 Medium Grid 1 Accent 5;\lsdsemihidden0 \lsdunhideused0 \lsdpriority68 \lsdlocked0 Medium Grid 2 Accent 5;
\lsdsemihidden0 \lsdunhideused0 \lsdpriority69 \lsdlocked0 Medium Grid 3 Accent 5;\lsdsemihidden0 \lsdunhideused0 \lsdpriority70 \lsdlocked0 Dark List Accent 5;\lsdsemihidden0 \lsdunhideused0 \lsdpriority71 \lsdlocked0 Colorful Shading Accent 5;
\lsdsemihidden0 \lsdunhideused0 \lsdpriority72 \lsdlocked0 Colorful List Accent 5;\lsdsemihidden0 \lsdunhideused0 \lsdpriority73 \lsdlocked0 Colorful Grid Accent 5;\lsdsemihidden0 \lsdunhideused0 \lsdpriority60 \lsdlocked0 Light Shading Accent 6;
\lsdsemihidden0 \lsdunhideused0 \lsdpriority61 \lsdlocked0 Light List Accent 6;\lsdsemihidden0 \lsdunhideused0 \lsdpriority62 \lsdlocked0 Light Grid Accent 6;\lsdsemihidden0 \lsdunhideused0 \lsdpriority63 \lsdlocked0 Medium Shading 1 Accent 6;
\lsdsemihidden0 \lsdunhideused0 \lsdpriority64 \lsdlocked0 Medium Shading 2 Accent 6;\lsdsemihidden0 \lsdunhideused0 \lsdpriority65 \lsdlocked0 Medium List 1 Accent 6;\lsdsemihidden0 \lsdunhideused0 \lsdpriority66 \lsdlocked0 Medium List 2 Accent 6;
\lsdsemihidden0 \lsdunhideused0 \lsdpriority67 \lsdlocked0 Medium Grid 1 Accent 6;\lsdsemihidden0 \lsdunhideused0 \lsdpriority68 \lsdlocked0 Medium Grid 2 Accent 6;\lsdsemihidden0 \lsdunhideused0 \lsdpriority69 \lsdlocked0 Medium Grid 3 Accent 6;
\lsdsemihidden0 \lsdunhideused0 \lsdpriority70 \lsdlocked0 Dark List Accent 6;\lsdsemihidden0 \lsdunhideused0 \lsdpriority71 \lsdlocked0 Colorful Shading Accent 6;\lsdsemihidden0 \lsdunhideused0 \lsdpriority72 \lsdlocked0 Colorful List Accent 6;
\lsdsemihidden0 \lsdunhideused0 \lsdpriority73 \lsdlocked0 Colorful Grid Accent 6;\lsdsemihidden0 \lsdunhideused0 \lsdqformat1 \lsdpriority19 \lsdlocked0 Subtle Emphasis;
\lsdsemihidden0 \lsdunhideused0 \lsdqformat1 \lsdpriority21 \lsdlocked0 Intense Emphasis;\lsdsemihidden0 \lsdunhideused0 \lsdqformat1 \lsdpriority31 \lsdlocked0 Subtle Reference;
\lsdsemihidden0 \lsdunhideused0 \lsdqformat1 \lsdpriority32 \lsdlocked0 Intense Reference;\lsdsemihidden0 \lsdunhideused0 \lsdqformat1 \lsdpriority33 \lsdlocked0 Book Title;\lsdpriority37 \lsdlocked0 Bibliography;
\lsdqformat1 \lsdpriority39 \lsdlocked0 TOC Heading;}}{\*\datastore 0105000002000000180000004d73786d6c322e534158584d4c5265616465722e352e30000000000000000000000e0000
d0cf11e0a1b11ae1000000000000000000000000000000003e000300feff0900060000000000000000000000010000000100000000000000001000000200000001000000feffffff0000000000000000ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
fffffffffffffffffdffffff04000000feffffff05000000fefffffffeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
ffffffffffffffffffffffffffffffff52006f006f007400200045006e00740072007900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000016000500ffffffffffffffff01000000ec69d9888b8b3d4c859eaf6cd158be0f0000000000000000000000007002
3351d186d2010300000080020000000000004d0073006f004400610074006100530074006f0072006500000000000000000000000000000000000000000000000000000000000000000000000000000000001a000101ffffffffffffffff02000000000000000000000000000000000000000000000070023351d186d201
70023351d186d2010000000000000000000000004500c2004c00d1005400c100c200c800d600d4004b00520031003200d6004d00c60042004600cc00d20041003d003d000000000000000000000000000000000032000101ffffffffffffffff03000000000000000000000000000000000000000000000070023351d186
d20170023351d186d2010000000000000000000000004900740065006d0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a000201ffffffff04000000ffffffff000000000000000000000000000000000000000000000000
00000000000000000000000000000000cd00000000000000010000000200000003000000feffffff0500000006000000070000000800000009000000feffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff3c623a536f757263657320786d6c6e733a623d22687474703a2f2f736368656d61732e6f70656e786d6c666f726d6174732e6f72672f6f6666696365446f63756d656e742f323030362f6269626c696f6772617068792220786d6c6e733d
22687474703a2f2f736368656d61732e6f70656e786d6c666f726d6174732e6f72672f6f6666696365446f63756d656e742f323030362f6269626c696f677261706879222053656c65637465645374796c653d225c4150412e58534c22205374796c654e616d653d22415041222f3e000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000000000003c3f786d6c2076657273696f6e3d22312e302220656e636f64696e673d225554462d3822207374616e64616c6f6e653d226e6f223f3e0d0a3c64733a6461746173746f72654974656d2064733a6974656d49443d227b34454631
323231322d413831382d343244422d393136442d4344384339383131364343387d2220786d6c6e733a64733d22687474703a2f2f736368656d61732e6f70656e786d6c666f726d6174732e6f72672f6f6666696365446f63756d656e742f323030362f637573746f6d586d6c223e3c64733a736368656d61526566733e3c
64733a736368656d615265662064733a7572693d22687474703a2f2f736368656d61732e6f70656e500072006f007000650072007400690065007300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000016000200ffffffffffffffffffffffff000000000000
0000000000000000000000000000000000000000000000000000000000000400000055010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffffffffffffffffffff00000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffffffffffffffffffff0000
000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffffffffffffffffffff
000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000786d6c666f726d6174732e6f72672f6f6666696365446f63756d656e742f323030362f6269626c696f677261706879222f3e3c2f64733a736368656d61526566733e3c2f64733a6461746173746f
72654974656d3e0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000105000000000000}}
{\rtf1\adeflang1025\ansi\ansicpg1252\uc1\adeff31507\deff0\stshfdbch31505\stshfloch31506\stshfhich31506\stshfbi31507\deflang1031\deflangfe1031\themelang1031\themelangfe0\themelangcs0{\fonttbl{\f0\fbidi \froman\fcharset0\fprq2{\*\panose 02020603050405020304}Times New Roman;}{\f2\fbidi \fmodern\fcharset0\fprq1{\*\panose 02070309020205020404}Courier New;}
{\f3\fbidi \froman\fcharset2\fprq2{\*\panose 05050102010706020507}Symbol;}{\f4\fbidi \fswiss\fcharset0\fprq2{\*\panose 020b0604020202020204}Helvetica;}{\f10\fbidi \fnil\fcharset2\fprq2{\*\panose 05000000000000000000}Wingdings;}
{\f34\fbidi \froman\fcharset0\fprq2{\*\panose 02040503050406030204}Cambria Math;}{\flomajor\f31500\fbidi \froman\fcharset0\fprq2{\*\panose 02020603050405020304}Times New Roman;}
{\fdbmajor\f31501\fbidi \froman\fcharset0\fprq2{\*\panose 02020603050405020304}Times New Roman;}{\fhimajor\f31502\fbidi \froman\fcharset0\fprq2{\*\panose 02040503050406030204}Cambria;}
{\fbimajor\f31503\fbidi \froman\fcharset0\fprq2{\*\panose 02020603050405020304}Times New Roman;}{\flominor\f31504\fbidi \froman\fcharset0\fprq2{\*\panose 02020603050405020304}Times New Roman;}
{\fdbminor\f31505\fbidi \froman\fcharset0\fprq2{\*\panose 02020603050405020304}Times New Roman;}{\fhiminor\f31506\fbidi \fswiss\fcharset0\fprq2{\*\panose 020f0502020204030204}Calibri;}
{\fbiminor\f31507\fbidi \froman\fcharset0\fprq2{\*\panose 02020603050405020304}Times New Roman;}{\f39\fbidi \froman\fcharset238\fprq2 Times New Roman CE;}{\f40\fbidi \froman\fcharset204\fprq2 Times New Roman Cyr;}
{\f42\fbidi \froman\fcharset161\fprq2 Times New Roman Greek;}{\f43\fbidi \froman\fcharset162\fprq2 Times New Roman Tur;}{\f44\fbidi \froman\fcharset177\fprq2 Times New Roman (Hebrew);}{\f45\fbidi \froman\fcharset178\fprq2 Times New Roman (Arabic);}
{\f46\fbidi \froman\fcharset186\fprq2 Times New Roman Baltic;}{\f47\fbidi \froman\fcharset163\fprq2 Times New Roman (Vietnamese);}{\f59\fbidi \fmodern\fcharset238\fprq1 Courier New CE;}{\f60\fbidi \fmodern\fcharset204\fprq1 Courier New Cyr;}
{\f62\fbidi \fmodern\fcharset161\fprq1 Courier New Greek;}{\f63\fbidi \fmodern\fcharset162\fprq1 Courier New Tur;}{\f64\fbidi \fmodern\fcharset177\fprq1 Courier New (Hebrew);}{\f65\fbidi \fmodern\fcharset178\fprq1 Courier New (Arabic);}
{\f66\fbidi \fmodern\fcharset186\fprq1 Courier New Baltic;}{\f67\fbidi \fmodern\fcharset163\fprq1 Courier New (Vietnamese);}{\f79\fbidi \fswiss\fcharset238\fprq2 Helvetica CE;}{\f80\fbidi \fswiss\fcharset204\fprq2 Helvetica Cyr;}
{\f82\fbidi \fswiss\fcharset161\fprq2 Helvetica Greek;}{\f83\fbidi \fswiss\fcharset162\fprq2 Helvetica Tur;}{\f84\fbidi \fswiss\fcharset177\fprq2 Helvetica (Hebrew);}{\f85\fbidi \fswiss\fcharset178\fprq2 Helvetica (Arabic);}
{\f86\fbidi \fswiss\fcharset186\fprq2 Helvetica Baltic;}{\f87\fbidi \fswiss\fcharset163\fprq2 Helvetica (Vietnamese);}{\f379\fbidi \froman\fcharset238\fprq2 Cambria Math CE;}{\f380\fbidi \froman\fcharset204\fprq2 Cambria Math Cyr;}
{\f382\fbidi \froman\fcharset161\fprq2 Cambria Math Greek;}{\f383\fbidi \froman\fcharset162\fprq2 Cambria Math Tur;}{\f386\fbidi \froman\fcharset186\fprq2 Cambria Math Baltic;}{\f387\fbidi \froman\fcharset163\fprq2 Cambria Math (Vietnamese);}
{\flomajor\f31508\fbidi \froman\fcharset238\fprq2 Times New Roman CE;}{\flomajor\f31509\fbidi \froman\fcharset204\fprq2 Times New Roman Cyr;}{\flomajor\f31511\fbidi \froman\fcharset161\fprq2 Times New Roman Greek;}
{\flomajor\f31512\fbidi \froman\fcharset162\fprq2 Times New Roman Tur;}{\flomajor\f31513\fbidi \froman\fcharset177\fprq2 Times New Roman (Hebrew);}{\flomajor\f31514\fbidi \froman\fcharset178\fprq2 Times New Roman (Arabic);}
{\flomajor\f31515\fbidi \froman\fcharset186\fprq2 Times New Roman Baltic;}{\flomajor\f31516\fbidi \froman\fcharset163\fprq2 Times New Roman (Vietnamese);}{\fdbmajor\f31518\fbidi \froman\fcharset238\fprq2 Times New Roman CE;}
{\fdbmajor\f31519\fbidi \froman\fcharset204\fprq2 Times New Roman Cyr;}{\fdbmajor\f31521\fbidi \froman\fcharset161\fprq2 Times New Roman Greek;}{\fdbmajor\f31522\fbidi \froman\fcharset162\fprq2 Times New Roman Tur;}
{\fdbmajor\f31523\fbidi \froman\fcharset177\fprq2 Times New Roman (Hebrew);}{\fdbmajor\f31524\fbidi \froman\fcharset178\fprq2 Times New Roman (Arabic);}{\fdbmajor\f31525\fbidi \froman\fcharset186\fprq2 Times New Roman Baltic;}
{\fdbmajor\f31526\fbidi \froman\fcharset163\fprq2 Times New Roman (Vietnamese);}{\fhimajor\f31528\fbidi \froman\fcharset238\fprq2 Cambria CE;}{\fhimajor\f31529\fbidi \froman\fcharset204\fprq2 Cambria Cyr;}
{\fhimajor\f31531\fbidi \froman\fcharset161\fprq2 Cambria Greek;}{\fhimajor\f31532\fbidi \froman\fcharset162\fprq2 Cambria Tur;}{\fhimajor\f31535\fbidi \froman\fcharset186\fprq2 Cambria Baltic;}
{\fhimajor\f31536\fbidi \froman\fcharset163\fprq2 Cambria (Vietnamese);}{\fbimajor\f31538\fbidi \froman\fcharset238\fprq2 Times New Roman CE;}{\fbimajor\f31539\fbidi \froman\fcharset204\fprq2 Times New Roman Cyr;}
{\fbimajor\f31541\fbidi \froman\fcharset161\fprq2 Times New Roman Greek;}{\fbimajor\f31542\fbidi \froman\fcharset162\fprq2 Times New Roman Tur;}{\fbimajor\f31543\fbidi \froman\fcharset177\fprq2 Times New Roman (Hebrew);}
{\fbimajor\f31544\fbidi \froman\fcharset178\fprq2 Times New Roman (Arabic);}{\fbimajor\f31545\fbidi \froman\fcharset186\fprq2 Times New Roman Baltic;}{\fbimajor\f31546\fbidi \froman\fcharset163\fprq2 Times New Roman (Vietnamese);}
{\flominor\f31548\fbidi \froman\fcharset238\fprq2 Times New Roman CE;}{\flominor\f31549\fbidi \froman\fcharset204\fprq2 Times New Roman Cyr;}{\flominor\f31551\fbidi \froman\fcharset161\fprq2 Times New Roman Greek;}
{\flominor\f31552\fbidi \froman\fcharset162\fprq2 Times New Roman Tur;}{\flominor\f31553\fbidi \froman\fcharset177\fprq2 Times New Roman (Hebrew);}{\flominor\f31554\fbidi \froman\fcharset178\fprq2 Times New Roman (Arabic);}
{\flominor\f31555\fbidi \froman\fcharset186\fprq2 Times New Roman Baltic;}{\flominor\f31556\fbidi \froman\fcharset163\fprq2 Times New Roman (Vietnamese);}{\fdbminor\f31558\fbidi \froman\fcharset238\fprq2 Times New Roman CE;}
{\fdbminor\f31559\fbidi \froman\fcharset204\fprq2 Times New Roman Cyr;}{\fdbminor\f31561\fbidi \froman\fcharset161\fprq2 Times New Roman Greek;}{\fdbminor\f31562\fbidi \froman\fcharset162\fprq2 Times New Roman Tur;}
{\fdbminor\f31563\fbidi \froman\fcharset177\fprq2 Times New Roman (Hebrew);}{\fdbminor\f31564\fbidi \froman\fcharset178\fprq2 Times New Roman (Arabic);}{\fdbminor\f31565\fbidi \froman\fcharset186\fprq2 Times New Roman Baltic;}
{\fdbminor\f31566\fbidi \froman\fcharset163\fprq2 Times New Roman (Vietnamese);}{\fhiminor\f31568\fbidi \fswiss\fcharset238\fprq2 Calibri CE;}{\fhiminor\f31569\fbidi \fswiss\fcharset204\fprq2 Calibri Cyr;}
{\fhiminor\f31571\fbidi \fswiss\fcharset161\fprq2 Calibri Greek;}{\fhiminor\f31572\fbidi \fswiss\fcharset162\fprq2 Calibri Tur;}{\fhiminor\f31575\fbidi \fswiss\fcharset186\fprq2 Calibri Baltic;}
{\fhiminor\f31576\fbidi \fswiss\fcharset163\fprq2 Calibri (Vietnamese);}{\fbiminor\f31578\fbidi \froman\fcharset238\fprq2 Times New Roman CE;}{\fbiminor\f31579\fbidi \froman\fcharset204\fprq2 Times New Roman Cyr;}
{\fbiminor\f31581\fbidi \froman\fcharset161\fprq2 Times New Roman Greek;}{\fbiminor\f31582\fbidi \froman\fcharset162\fprq2 Times New Roman Tur;}{\fbiminor\f31583\fbidi \froman\fcharset177\fprq2 Times New Roman (Hebrew);}
{\fbiminor\f31584\fbidi \froman\fcharset178\fprq2 Times New Roman (Arabic);}{\fbiminor\f31585\fbidi \froman\fcharset186\fprq2 Times New Roman Baltic;}{\fbiminor\f31586\fbidi \froman\fcharset163\fprq2 Times New Roman (Vietnamese);}}
{\colortbl;\red0\green0\blue0;\red0\green0\blue255;\red0\green255\blue255;\red0\green255\blue0;\red255\green0\blue255;\red255\green0\blue0;\red255\green255\blue0;\red255\green255\blue255;\red0\green0\blue128;\red0\green128\blue128;\red0\green128\blue0;
\red128\green0\blue128;\red128\green0\blue0;\red128\green128\blue0;\red128\green128\blue128;\red192\green192\blue192;}{\*\defchp \fs22\loch\af31506\hich\af31506\dbch\af31505 }{\*\defpap \ql \li0\ri0\sa200\sl276\slmult1
\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 }\noqfpromote {\stylesheet{\ql \li0\ri0\sa200\sl276\slmult1\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af31507\afs22\alang1025
\ltrch\fcs0 \fs22\lang1031\langfe1031\loch\f31506\hich\af31506\dbch\af31505\cgrid\langnp1031\langfenp1031 \snext0 \sqformat \spriority0 Normal;}{\*\cs10 \additive \ssemihidden \sunhideused \spriority1 Default Paragraph Font;}{\*
\ts11\tsrowd\trftsWidthB3\trpaddl108\trpaddr108\trpaddfl3\trpaddft3\trpaddfb3\trpaddfr3\trcbpat1\trcfpat1\tblind0\tblindtype3\tscellwidthfts0\tsvertalt\tsbrdrt\tsbrdrl\tsbrdrb\tsbrdrr\tsbrdrdgl\tsbrdrdgr\tsbrdrh\tsbrdrv \ql \li0\ri0\sa200\sl276\slmult1
\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af31507\afs22\alang1025 \ltrch\fcs0 \fs22\lang1031\langfe1031\loch\f31506\hich\af31506\dbch\af31505\cgrid\langnp1031\langfenp1031
\snext11 \ssemihidden \sunhideused \sqformat Normal Table;}}{\*\listtable{\list\listtemplateid-193139844\listhybrid{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace360\levelindent0{\leveltext
\leveltemplateid67567617\'01\u-3913 ?;}{\levelnumbers;}\f3\fbias0\hres0\chhres0 \fi-360\li720\lin720 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\lvltentative\levelspace360\levelindent0{\leveltext
\leveltemplateid67567619\'01o;}{\levelnumbers;}\f2\fbias0\hres0\chhres0 \fi-360\li1440\lin1440 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\lvltentative\levelspace360\levelindent0{\leveltext\leveltemplateid67567621
\'01\u-3929 ?;}{\levelnumbers;}\f10\fbias0\hres0\chhres0 \fi-360\li2160\lin2160 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\lvltentative\levelspace360\levelindent0{\leveltext\leveltemplateid67567617
\'01\u-3913 ?;}{\levelnumbers;}\f3\fbias0\hres0\chhres0 \fi-360\li2880\lin2880 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\lvltentative\levelspace360\levelindent0{\leveltext\leveltemplateid67567619
\'01o;}{\levelnumbers;}\f2\fbias0\hres0\chhres0 \fi-360\li3600\lin3600 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\lvltentative\levelspace360\levelindent0{\leveltext\leveltemplateid67567621
\'01\u-3929 ?;}{\levelnumbers;}\f10\fbias0\hres0\chhres0 \fi-360\li4320\lin4320 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\lvltentative\levelspace360\levelindent0{\leveltext\leveltemplateid67567617
\'01\u-3913 ?;}{\levelnumbers;}\f3\fbias0\hres0\chhres0 \fi-360\li5040\lin5040 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\lvltentative\levelspace360\levelindent0{\leveltext\leveltemplateid67567619
\'01o;}{\levelnumbers;}\f2\fbias0\hres0\chhres0 \fi-360\li5760\lin5760 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\lvltentative\levelspace360\levelindent0{\leveltext\leveltemplateid67567621
\'01\u-3929 ?;}{\levelnumbers;}\f10\fbias0\hres0\chhres0 \fi-360\li6480\lin6480 }{\listname ;}\listid27729033}{\list\listtemplateid300595816\listhybrid{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace360
\levelindent0{\leveltext\leveltemplateid67567617\'01\u-3913 ?;}{\levelnumbers;}\f3\fbias0\hres0\chhres0 \fi-360\li720\lin720 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\lvltentative\levelspace360\levelindent0
{\leveltext\leveltemplateid67567619\'01o;}{\levelnumbers;}\f2\fbias0\hres0\chhres0 \fi-360\li1440\lin1440 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\lvltentative\levelspace360\levelindent0{\leveltext
\leveltemplateid67567621\'01\u-3929 ?;}{\levelnumbers;}\f10\fbias0\hres0\chhres0 \fi-360\li2160\lin2160 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\lvltentative\levelspace360\levelindent0{\leveltext
\leveltemplateid67567617\'01\u-3913 ?;}{\levelnumbers;}\f3\fbias0\hres0\chhres0 \fi-360\li2880\lin2880 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\lvltentative\levelspace360\levelindent0{\leveltext
\leveltemplateid67567619\'01o;}{\levelnumbers;}\f2\fbias0\hres0\chhres0 \fi-360\li3600\lin3600 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\lvltentative\levelspace360\levelindent0{\leveltext\leveltemplateid67567621
\'01\u-3929 ?;}{\levelnumbers;}\f10\fbias0\hres0\chhres0 \fi-360\li4320\lin4320 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\lvltentative\levelspace360\levelindent0{\leveltext\leveltemplateid67567617
\'01\u-3913 ?;}{\levelnumbers;}\f3\fbias0\hres0\chhres0 \fi-360\li5040\lin5040 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\lvltentative\levelspace360\levelindent0{\leveltext\leveltemplateid67567619
\'01o;}{\levelnumbers;}\f2\fbias0\hres0\chhres0 \fi-360\li5760\lin5760 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\lvltentative\levelspace360\levelindent0{\leveltext\leveltemplateid67567621
\'01\u-3929 ?;}{\levelnumbers;}\f10\fbias0\hres0\chhres0 \fi-360\li6480\lin6480 }{\listname ;}\listid253251691}{\list\listtemplateid-1917002558\listhybrid{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace360
\levelindent0{\leveltext\leveltemplateid67567617\'01\u-3913 ?;}{\levelnumbers;}\f3\fbias0\hres0\chhres0 \fi-360\li720\lin720 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\lvltentative\levelspace360\levelindent0
{\leveltext\leveltemplateid67567619\'01o;}{\levelnumbers;}\f2\fbias0\hres0\chhres0 \fi-360\li1440\lin1440 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\lvltentative\levelspace360\levelindent0{\leveltext
\leveltemplateid67567621\'01\u-3929 ?;}{\levelnumbers;}\f10\fbias0\hres0\chhres0 \fi-360\li2160\lin2160 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\lvltentative\levelspace360\levelindent0{\leveltext
\leveltemplateid67567617\'01\u-3913 ?;}{\levelnumbers;}\f3\fbias0\hres0\chhres0 \fi-360\li2880\lin2880 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\lvltentative\levelspace360\levelindent0{\leveltext
\leveltemplateid67567619\'01o;}{\levelnumbers;}\f2\fbias0\hres0\chhres0 \fi-360\li3600\lin3600 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\lvltentative\levelspace360\levelindent0{\leveltext\leveltemplateid67567621
\'01\u-3929 ?;}{\levelnumbers;}\f10\fbias0\hres0\chhres0 \fi-360\li4320\lin4320 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\lvltentative\levelspace360\levelindent0{\leveltext\leveltemplateid67567617
\'01\u-3913 ?;}{\levelnumbers;}\f3\fbias0\hres0\chhres0 \fi-360\li5040\lin5040 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\lvltentative\levelspace360\levelindent0{\leveltext\leveltemplateid67567619
\'01o;}{\levelnumbers;}\f2\fbias0\hres0\chhres0 \fi-360\li5760\lin5760 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\lvltentative\levelspace360\levelindent0{\leveltext\leveltemplateid67567621
\'01\u-3929 ?;}{\levelnumbers;}\f10\fbias0\hres0\chhres0 \fi-360\li6480\lin6480 }{\listname ;}\listid731805719}{\list\listtemplateid-331980480\listhybrid{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace360
\levelindent0{\leveltext\leveltemplateid67567617\'01\u-3913 ?;}{\levelnumbers;}\f3\fbias0\hres0\chhres0 \fi-360\li720\lin720 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\lvltentative\levelspace360\levelindent0
{\leveltext\leveltemplateid67567619\'01o;}{\levelnumbers;}\f2\fbias0\hres0\chhres0 \fi-360\li1440\lin1440 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\lvltentative\levelspace360\levelindent0{\leveltext
\leveltemplateid67567621\'01\u-3929 ?;}{\levelnumbers;}\f10\fbias0\hres0\chhres0 \fi-360\li2160\lin2160 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\lvltentative\levelspace360\levelindent0{\leveltext
\leveltemplateid67567617\'01\u-3913 ?;}{\levelnumbers;}\f3\fbias0\hres0\chhres0 \fi-360\li2880\lin2880 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\lvltentative\levelspace360\levelindent0{\leveltext
\leveltemplateid67567619\'01o;}{\levelnumbers;}\f2\fbias0\hres0\chhres0 \fi-360\li3600\lin3600 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\lvltentative\levelspace360\levelindent0{\leveltext\leveltemplateid67567621
\'01\u-3929 ?;}{\levelnumbers;}\f10\fbias0\hres0\chhres0 \fi-360\li4320\lin4320 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\lvltentative\levelspace360\levelindent0{\leveltext\leveltemplateid67567617
\'01\u-3913 ?;}{\levelnumbers;}\f3\fbias0\hres0\chhres0 \fi-360\li5040\lin5040 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\lvltentative\levelspace360\levelindent0{\leveltext\leveltemplateid67567619
\'01o;}{\levelnumbers;}\f2\fbias0\hres0\chhres0 \fi-360\li5760\lin5760 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\lvltentative\levelspace360\levelindent0{\leveltext\leveltemplateid67567621
\'01\u-3929 ?;}{\levelnumbers;}\f10\fbias0\hres0\chhres0 \fi-360\li6480\lin6480 }{\listname ;}\listid846598160}{\list\listtemplateid2109785220\listhybrid{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace360
\levelindent0{\leveltext\leveltemplateid67567617\'01\u-3913 ?;}{\levelnumbers;}\f3\fbias0\hres0\chhres0 \fi-360\li720\lin720 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\lvltentative\levelspace360\levelindent0
{\leveltext\leveltemplateid67567619\'01o;}{\levelnumbers;}\f2\fbias0\hres0\chhres0 \fi-360\li1440\lin1440 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\lvltentative\levelspace360\levelindent0{\leveltext
\leveltemplateid67567621\'01\u-3929 ?;}{\levelnumbers;}\f10\fbias0\hres0\chhres0 \fi-360\li2160\lin2160 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\lvltentative\levelspace360\levelindent0{\leveltext
\leveltemplateid67567617\'01\u-3913 ?;}{\levelnumbers;}\f3\fbias0\hres0\chhres0 \fi-360\li2880\lin2880 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\lvltentative\levelspace360\levelindent0{\leveltext
\leveltemplateid67567619\'01o;}{\levelnumbers;}\f2\fbias0\hres0\chhres0 \fi-360\li3600\lin3600 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\lvltentative\levelspace360\levelindent0{\leveltext\leveltemplateid67567621
\'01\u-3929 ?;}{\levelnumbers;}\f10\fbias0\hres0\chhres0 \fi-360\li4320\lin4320 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\lvltentative\levelspace360\levelindent0{\leveltext\leveltemplateid67567617
\'01\u-3913 ?;}{\levelnumbers;}\f3\fbias0\hres0\chhres0 \fi-360\li5040\lin5040 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\lvltentative\levelspace360\levelindent0{\leveltext\leveltemplateid67567619
\'01o;}{\levelnumbers;}\f2\fbias0\hres0\chhres0 \fi-360\li5760\lin5760 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\lvltentative\levelspace360\levelindent0{\leveltext\leveltemplateid67567621
\'01\u-3929 ?;}{\levelnumbers;}\f10\fbias0\hres0\chhres0 \fi-360\li6480\lin6480 }{\listname ;}\listid1207254615}{\list\listtemplateid2097152234\listhybrid{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace360
\levelindent0{\leveltext\leveltemplateid67567617\'01\u-3913 ?;}{\levelnumbers;}\f3\fbias0\hres0\chhres0 \fi-360\li720\lin720 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\lvltentative\levelspace360\levelindent0
{\leveltext\leveltemplateid67567619\'01o;}{\levelnumbers;}\f2\fbias0\hres0\chhres0 \fi-360\li1440\lin1440 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\lvltentative\levelspace360\levelindent0{\leveltext
\leveltemplateid67567621\'01\u-3929 ?;}{\levelnumbers;}\f10\fbias0\hres0\chhres0 \fi-360\li2160\lin2160 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\lvltentative\levelspace360\levelindent0{\leveltext
\leveltemplateid67567617\'01\u-3913 ?;}{\levelnumbers;}\f3\fbias0\hres0\chhres0 \fi-360\li2880\lin2880 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\lvltentative\levelspace360\levelindent0{\leveltext
\leveltemplateid67567619\'01o;}{\levelnumbers;}\f2\fbias0\hres0\chhres0 \fi-360\li3600\lin3600 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\lvltentative\levelspace360\levelindent0{\leveltext\leveltemplateid67567621
\'01\u-3929 ?;}{\levelnumbers;}\f10\fbias0\hres0\chhres0 \fi-360\li4320\lin4320 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\lvltentative\levelspace360\levelindent0{\leveltext\leveltemplateid67567617
\'01\u-3913 ?;}{\levelnumbers;}\f3\fbias0\hres0\chhres0 \fi-360\li5040\lin5040 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\lvltentative\levelspace360\levelindent0{\leveltext\leveltemplateid67567619
\'01o;}{\levelnumbers;}\f2\fbias0\hres0\chhres0 \fi-360\li5760\lin5760 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\lvltentative\levelspace360\levelindent0{\leveltext\leveltemplateid67567621
\'01\u-3929 ?;}{\levelnumbers;}\f10\fbias0\hres0\chhres0 \fi-360\li6480\lin6480 }{\listname ;}\listid1638951864}}{\*\listoverridetable{\listoverride\listid846598160\listoverridecount0\ls1}{\listoverride\listid253251691\listoverridecount0\ls2}
{\listoverride\listid731805719\listoverridecount0\ls3}{\listoverride\listid1638951864\listoverridecount0\ls4}{\listoverride\listid1207254615\listoverridecount0\ls5}{\listoverride\listid27729033\listoverridecount0\ls6}}{\*\rsidtbl \rsid3083065\rsid5338747}
{\mmathPr\mmathFont34\mbrkBin0\mbrkBinSub0\msmallFrac0\mdispDef1\mlMargin0\mrMargin0\mdefJc1\mwrapIndent1440\mintLim0\mnaryLim1}{\info{\author Thomson, Clive}{\operator Malte Langkabel}{\creatim\yr2017\mo6\dy20\hr14}{\revtim\yr2017\mo6\dy20\hr14\min8}
{\version3}{\edmins0}{\nofpages4}{\nofwords1481}{\nofchars8026}{\*\company CSR}{\nofcharsws9489}{\vern32859}}{\*\xmlnstbl {\xmlns1 http://schemas.microsoft.com/office/word/2003/wordml}}
\paperw12240\paperh15840\margl1440\margr1440\margt1417\margb1134\gutter0\ltrsect
\widowctrl\ftnbj\aenddoc\hyphhotz425\trackmoves1\trackformatting1\donotembedsysfont0\relyonvml0\donotembedlingdata1\grfdocevents0\validatexml0\showplaceholdtext0\ignoremixedcontent0\saveinvalidxml0\showxmlerrors0\horzdoc\dghspace120\dgvspace120
\dghorigin1701\dgvorigin1984\dghshow0\dgvshow3\jcompress\viewkind1\viewscale100\rsidroot3083065 \fet0{\*\wgrffmtfilter 2450}\ilfomacatclnup0\ltrpar \sectd \ltrsect\linex0\sectdefaultcl\sftnbj {\*\pnseclvl1\pnucrm\pnstart1\pnindent720\pnhang {\pntxta .}}
{\*\pnseclvl2\pnucltr\pnstart1\pnindent720\pnhang {\pntxta .}}{\*\pnseclvl3\pndec\pnstart1\pnindent720\pnhang {\pntxta .}}{\*\pnseclvl4\pnlcltr\pnstart1\pnindent720\pnhang {\pntxta )}}{\*\pnseclvl5\pndec\pnstart1\pnindent720\pnhang {\pntxtb (}{\pntxta )}}
{\*\pnseclvl6\pnlcltr\pnstart1\pnindent720\pnhang {\pntxtb (}{\pntxta )}}{\*\pnseclvl7\pnlcrm\pnstart1\pnindent720\pnhang {\pntxtb (}{\pntxta )}}{\*\pnseclvl8\pnlcltr\pnstart1\pnindent720\pnhang {\pntxtb (}{\pntxta )}}{\*\pnseclvl9
\pnlcrm\pnstart1\pnindent720\pnhang {\pntxtb (}{\pntxta )}}\pard\plain \ltrpar\ql \li0\ri0\nowidctlpar\wrapdefault\faauto\rin0\lin0\itap0 \rtlch\fcs1 \af31507\afs22\alang1025 \ltrch\fcs0
\fs22\lang1031\langfe1031\loch\af31506\hich\af31506\dbch\af31505\cgrid\langnp1031\langfenp1031 {\rtlch\fcs1 \af4 \ltrch\fcs0 \f4\lang1033\langfe1031\langnp1033\insrsid5338747\charrsid3083065 \hich\af4\dbch\af31505\loch\f4 Sourcetrail
\par \hich\af4\dbch\af31505\loch\f4 \hich\f4 Software License Agreement (\'93\loch\f4 \hich\f4 AGREEMENT\'94\loch\f4 )
\par \hich\af4\dbch\af31505\loch\f4 Last date of change: 2017-06-19
\par
\par \hich\af4\dbch\af31505\loch\f4 BY INSTALLING OR USING THIS SOFTWARE, YOU ARE BECOMING A PARTY TO, AND ARE CO\hich\af4\dbch\af31505\loch\f4
NSENTING TO BE BOUND BY, THIS AGREEMENT. IF YOU DO NOT AGREE TO ALL OF THE TERMS OF THIS AGREEMENT, DO NOT INSTALL OR USE THIS SOFTWARE.
\par
\par
\par }{\rtlch\fcs1 \af4 \ltrch\fcs0 \b\f4\lang1033\langfe1031\langnp1033\insrsid5338747\charrsid5338747 \hich\af4\dbch\af31505\loch\f4 DEFINITIONS
\par }{\rtlch\fcs1 \af4 \ltrch\fcs0 \f4\lang1033\langfe1031\langnp1033\insrsid5338747\charrsid3083065
\par \hich\af4\dbch\af31505\loch\f4 "SOFTWARE" means:}{\rtlch\fcs1 \af4 \ltrch\fcs0 \f4\insrsid5338747
\par {\listtext\pard\plain\ltrpar \rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \f3\fs22\lang1033\langfe1031\langnp1033\charrsid3083065 \loch\af3\dbch\af31505\hich\f3 \'b7\tab}}\pard \ltrpar
\ql \fi-360\li720\ri0\nowidctlpar\wrapdefault\faauto\ls1\rin0\lin720\itap0\pararsid5338747 {\rtlch\fcs1 \af4 \ltrch\fcs0 \f4\lang1033\langfe1031\langnp1033\insrsid5338747\charrsid3083065 \hich\af4\dbch\af31505\loch\f4
A version of the cross-platform source code explorer known as Sourcetrail in executa\hich\af4\dbch\af31505\loch\f4
ble form. The version is defined by the two leading numbers of the version string (e.g. the version of Sourcetrail 2017.1.x is version 2017.1);}{\rtlch\fcs1 \af4 \ltrch\fcs0 \f4\lang1033\langfe1031\langnp1033\insrsid5338747
\par {\listtext\pard\plain\ltrpar \rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \f3\fs22\lang1033\langfe1031\langnp1033\charrsid5338747 \loch\af3\dbch\af31505\hich\f3 \'b7\tab}}{\rtlch\fcs1 \af4 \ltrch\fcs0
\f4\lang1033\langfe1031\langnp1033\insrsid5338747\charrsid5338747 \hich\af4\dbch\af31505\loch\f4 documentation for that version of Sourcetrail;}{\rtlch\fcs1 \af4 \ltrch\fcs0 \f4\lang1033\langfe1031\langnp1033\insrsid5338747
\par {\listtext\pard\plain\ltrpar \rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \f3\fs22\lang1033\langfe1031\langnp1033\charrsid5338747 \loch\af3\dbch\af31505\hich\f3 \'b7\tab}}{\rtlch\fcs1 \af4 \ltrch\fcs0
\f4\lang1033\langfe1031\langnp1033\insrsid5338747\charrsid5338747 \hich\af4\dbch\af31505\loch\f4 minor updates included in software maintenance which are indi\hich\af4\dbch\af31505\loch\f4
cated by an increase in the digits that follow the first two leading numbers of the version string (e.g. the update from Sourcetrail 2017.1.0 to Sourcetrail 2017.1.1 is a minor update).
\par }\pard \ltrpar\ql \li0\ri0\nowidctlpar\wrapdefault\faauto\rin0\lin0\itap0 {\rtlch\fcs1 \af4 \ltrch\fcs0 \f4\lang1033\langfe1031\langnp1033\insrsid5338747\charrsid3083065 \hich\af4\dbch\af31505\loch\f4 "LICENSE" means:
\par {\listtext\pard\plain\ltrpar \rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \f3\fs22\lang1033\langfe1031\langnp1033\charrsid3083065 \loch\af3\dbch\af31505\hich\f3 \'b7\tab}}\pard \ltrpar
\ql \fi-360\li720\ri0\nowidctlpar\wrapdefault\faauto\ls2\rin0\lin720\itap0\pararsid5338747 {\rtlch\fcs1 \af4 \ltrch\fcs0 \f4\lang1033\langfe1031\langnp1033\insrsid5338747\charrsid3083065 \hich\af4\dbch\af31505\loch\f4
the permission to use, reproduction and distributio\hich\af4\dbch\af31505\loch\f4 n of the SOFTWARE as defined by the following sections of this document.
\par }\pard \ltrpar\ql \li0\ri0\nowidctlpar\wrapdefault\faauto\rin0\lin0\itap0 {\rtlch\fcs1 \af4 \ltrch\fcs0 \f4\lang1033\langfe1031\langnp1033\insrsid5338747\charrsid3083065 \hich\af4\dbch\af31505\loch\f4 "LICENSOR" means:
\par {\listtext\pard\plain\ltrpar \rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \f3\fs22\lang1033\langfe1031\langnp1033\charrsid3083065 \loch\af3\dbch\af31505\hich\f3 \'b7\tab}}\pard \ltrpar
\ql \fi-360\li720\ri0\nowidctlpar\wrapdefault\faauto\ls2\rin0\lin720\itap0\pararsid5338747 {\rtlch\fcs1 \af4 \ltrch\fcs0 \f4\lang1033\langfe1031\langnp1033\insrsid5338747\charrsid3083065 \hich\af4\dbch\af31505\loch\f4 \hich\f4
Coati Software OG, having a place of business at Jakob-Haringer-Stra\'df\loch\f4 e 1/127, 5020 Salzburg, Austria.
\par }\pard \ltrpar\ql \li0\ri0\nowidctlpar\wrapdefault\faauto\rin0\lin0\itap0 {\rtlch\fcs1 \af4 \ltrch\fcs0 \f4\lang1033\langfe1031\langnp1033\insrsid5338747\charrsid3083065 \hich\af4\dbch\af31505\loch\f4 "LICENSEE" means:
\par {\listtext\pard\plain\ltrpar \rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \f3\fs22\lang1033\langfe1031\langnp1033\charrsid3083065 \loch\af3\dbch\af31505\hich\f3 \'b7\tab}}\pard \ltrpar
\ql \fi-360\li720\ri0\nowidctlpar\wrapdefault\faauto\ls2\rin0\lin720\itap0\pararsid5338747 {\rtlch\fcs1 \af4 \ltrch\fcs0 \f4\lang1033\langfe1031\langnp1033\insrsid5338747\charrsid3083065 \hich\af4\dbch\af31505\loch\f4
the individual who purchased a LICENSE(s)\hich\af4\dbch\af31505\loch\f4 for the SOFTWARE; }{\rtlch\fcs1 \af4 \ltrch\fcs0 \f4\lang1033\langfe1031\langnp1033\insrsid5338747
\par {\listtext\pard\plain\ltrpar \rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \f3\fs22\lang1033\langfe1031\langnp1033\charrsid5338747 \loch\af3\dbch\af31505\hich\f3 \'b7\tab}}{\rtlch\fcs1 \af4 \ltrch\fcs0
\f4\lang1033\langfe1031\langnp1033\insrsid5338747\charrsid5338747 \hich\af4\dbch\af31505\loch\f4 the individual who was granted a LICENSE(s) for the SOFTWARE by the LICENSOR;}{\rtlch\fcs1 \af4 \ltrch\fcs0 \f4\lang1033\langfe1031\langnp1033\insrsid5338747
\par {\listtext\pard\plain\ltrpar \rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \f3\fs22\lang1033\langfe1031\langnp1033\charrsid5338747 \loch\af3\dbch\af31505\hich\f3 \'b7\tab}}{\rtlch\fcs1 \af4 \ltrch\fcs0
\f4\lang1033\langfe1031\langnp1033\insrsid5338747\charrsid5338747 \hich\af4\dbch\af31505\loch\f4 the individual evaluating the SOFTWARE in trial mode; }{\rtlch\fcs1 \af4 \ltrch\fcs0 \f4\lang1033\langfe1031\langnp1033\insrsid5338747
\par {\listtext\pard\plain\ltrpar \rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \f3\fs22\lang1033\langfe1031\langnp1033\charrsid5338747 \loch\af3\dbch\af31505\hich\f3 \'b7\tab}}{\rtlch\fcs1 \af4 \ltrch\fcs0
\f4\lang1033\langfe1031\langnp1033\insrsid5338747\charrsid5338747 \hich\af4\dbch\af31505\loch\f4 the company, corporation, or organization that purchased a LICENSE(s) for the SOFTWARE;}{\rtlch\fcs1 \af4 \ltrch\fcs0
\f4\lang1033\langfe1031\langnp1033\insrsid5338747
\par {\listtext\pard\plain\ltrpar \rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \f3\fs22\lang1033\langfe1031\langnp1033\charrsid5338747 \loch\af3\dbch\af31505\hich\f3 \'b7\tab}}{\rtlch\fcs1 \af4 \ltrch\fcs0
\f4\lang1033\langfe1031\langnp1033\insrsid5338747\charrsid5338747 \hich\af4\dbch\af31505\loch\f4 the com\hich\af4\dbch\af31505\loch\f4 pany, corporation, or organization that was granted a LICENSE(s) for the SOFTWARE by the LICENSOR.
\par }\pard \ltrpar\ql \li0\ri0\nowidctlpar\wrapdefault\faauto\rin0\lin0\itap0 {\rtlch\fcs1 \af4 \ltrch\fcs0 \f4\lang1033\langfe1031\langnp1033\insrsid5338747\charrsid3083065 \hich\af4\dbch\af31505\loch\f4 "PARTIES" means:
\par {\listtext\pard\plain\ltrpar \rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \f3\fs22\lang1033\langfe1031\langnp1033\charrsid3083065 \loch\af3\dbch\af31505\hich\f3 \'b7\tab}}\pard \ltrpar
\ql \fi-360\li720\ri0\nowidctlpar\wrapdefault\faauto\ls3\rin0\lin720\itap0\pararsid5338747 {\rtlch\fcs1 \af4 \ltrch\fcs0 \f4\lang1033\langfe1031\langnp1033\insrsid5338747\charrsid3083065 \hich\af4\dbch\af31505\loch\f4
both LICENSOR and LICENSEE collectively.
\par }\pard \ltrpar\ql \li0\ri0\nowidctlpar\wrapdefault\faauto\rin0\lin0\itap0 {\rtlch\fcs1 \af4 \ltrch\fcs0 \f4\lang1033\langfe1031\langnp1033\insrsid5338747\charrsid3083065 \hich\af4\dbch\af31505\loch\f4 "ACTIVATION KEY" means:
\par {\listtext\pard\plain\ltrpar \rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \f3\fs22\lang1033\langfe1031\langnp1033\charrsid3083065 \loch\af3\dbch\af31505\hich\f3 \'b7\tab}}\pard \ltrpar
\ql \fi-360\li720\ri0\nowidctlpar\wrapdefault\faauto\ls3\rin0\lin720\itap0\pararsid5338747 {\rtlch\fcs1 \af4 \ltrch\fcs0 \f4\lang1033\langfe1031\langnp1033\insrsid5338747\charrsid3083065 \hich\af4\dbch\af31505\loch\f4
a document that defines the parameters of the LICENSE. It specifies th\hich\af4\dbch\af31505\loch\f4
e name of the licensed SOFTWARE, the name of the LICENSEE, the license type, an upper limit for the licensed SOFTWARE version or an expiration date, and a hash-code; the combination of these values allows the LICENSEE to unlock the full functionality of a
\hich\af4\dbch\af31505\loch\f4 \hich\af4\dbch\af31505\loch\f4 genuine copy of the SOFTWARE.
\par }\pard \ltrpar\ql \li0\ri0\nowidctlpar\wrapdefault\faauto\rin0\lin0\itap0 {\rtlch\fcs1 \af4 \ltrch\fcs0 \f4\lang1033\langfe1031\langnp1033\insrsid5338747\charrsid3083065 \hich\af4\dbch\af31505\loch\f4 "AUTHORIZED USER" means:
\par {\listtext\pard\plain\ltrpar \rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \f3\fs22\lang1033\langfe1031\langnp1033\charrsid3083065 \loch\af3\dbch\af31505\hich\f3 \'b7\tab}}\pard \ltrpar
\ql \fi-360\li720\ri0\nowidctlpar\wrapdefault\faauto\ls3\rin0\lin720\itap0\pararsid5338747 {\rtlch\fcs1 \af4 \ltrch\fcs0 \f4\lang1033\langfe1031\langnp1033\insrsid5338747\charrsid3083065 \hich\af4\dbch\af31505\loch\f4
the individual who purchased a LICENSE(s) for the SOFTWARE; the individual is the only AUTHORIZED USER;
\par {\listtext\pard\plain\ltrpar \rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \f3\fs22\lang1033\langfe1031\langnp1033\charrsid3083065 \loch\af3\dbch\af31505\hich\f3 \'b7\tab}\hich\af4\dbch\af31505\loch\f4
the individual who was granted a LICENSE(s) for the SOFTWARE by the LICENSOR; the individual is the only AUTHORIZED USER;
\par {\listtext\pard\plain\ltrpar \rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \f3\fs22\lang1033\langfe1031\langnp1033\charrsid3083065 \loch\af3\dbch\af31505\hich\f3 \'b7\tab}\hich\af4\dbch\af31505\loch\f4 the individual evaluating the SOFTWARE in trial mode;
\par {\listtext\pard\plain\ltrpar \rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \f3\fs22\lang1033\langfe1031\langnp1033\charrsid3083065 \loch\af3\dbch\af31505\hich\f3 \'b7\tab}\hich\af4\dbch\af31505\loch\f4
an employee or independent contractor who might at any time use the SOFTWA\hich\af4\dbch\af31505\loch\f4
RE, of the LICENSEE; for each ACTIVATION KEY an entity has as many AUTHORIZED USER(s) as defined by the amount of seats specified in the ACTIVATION KEY; if no amount of seats is specified in the ACTIVATION KEY the entity has one AUTHORIZED USER for this A
\hich\af4\dbch\af31505\loch\f4 C\hich\af4\dbch\af31505\loch\f4 TIVATION KEY.
\par }\pard \ltrpar\ql \li0\ri0\nowidctlpar\wrapdefault\faauto\rin0\lin0\itap0 {\rtlch\fcs1 \af4 \ltrch\fcs0 \f4\lang1033\langfe1031\langnp1033\insrsid5338747\charrsid3083065
\par
\par }{\rtlch\fcs1 \af4 \ltrch\fcs0 \b\f4\lang1033\langfe1031\langnp1033\insrsid5338747\charrsid5338747 \hich\af4\dbch\af31505\loch\f4 GRANT
\par }{\rtlch\fcs1 \af4 \ltrch\fcs0 \f4\lang1033\langfe1031\langnp1033\insrsid5338747\charrsid3083065
\par \hich\af4\dbch\af31505\loch\f4 Subject to the terms of this AGREEMENT, the LICENSOR hereby grants the LICENSEE a worldwide, non-transferable, non-exclusive, non-sub-licensable, limited LICENSE that allows:
\par {\listtext\pard\plain\ltrpar \rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \f3\fs22\lang1033\langfe1031\langnp1033\charrsid3083065 \loch\af3\dbch\af31505\hich\f3 \'b7\tab}}\pard \ltrpar
\ql \fi-360\li720\ri0\nowidctlpar\wrapdefault\faauto\ls4\rin0\lin720\itap0\pararsid5338747 {\rtlch\fcs1 \af4 \ltrch\fcs0 \f4\lang1033\langfe1031\langnp1033\insrsid5338747\charrsid3083065 \hich\af4\dbch\af31505\loch\f4
the LICENSEE to distribute (an) ACTIVATION KEY(s) to AUT\hich\af4\dbch\af31505\loch\f4 HORIZED USER(s);}{\rtlch\fcs1 \af4 \ltrch\fcs0 \f4\lang1033\langfe1031\langnp1033\insrsid5338747
\par {\listtext\pard\plain\ltrpar \rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \f3\fs22\lang1033\langfe1031\langnp1033\charrsid5338747 \loch\af3\dbch\af31505\hich\f3 \'b7\tab}}{\rtlch\fcs1 \af4 \ltrch\fcs0
\f4\lang1033\langfe1031\langnp1033\insrsid5338747\charrsid5338747 \hich\af4\dbch\af31505\loch\f4
the LICENSEE and AUTHORIZED USER(s) to install the SOFTWARE on computer PCs where potential use of the SOFTWARE is restricted exclusively to AUTHORIZED USER(s);}{\rtlch\fcs1 \af4 \ltrch\fcs0 \f4\lang1033\langfe1031\langnp1033\insrsid5338747
\par {\listtext\pard\plain\ltrpar \rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \f3\fs22\lang1033\langfe1031\langnp1033\charrsid5338747 \loch\af3\dbch\af31505\hich\f3 \'b7\tab}}{\rtlch\fcs1 \af4 \ltrch\fcs0
\f4\lang1033\langfe1031\langnp1033\insrsid5338747\charrsid5338747 \hich\af4\dbch\af31505\loch\f4 the LICENSEE and AUTHORIZED USER(s) to use an ACTIVATION KEY to unlock the\hich\af4\dbch\af31505\loch\f4 SOFTWARE;}{\rtlch\fcs1 \af4 \ltrch\fcs0
\f4\lang1033\langfe1031\langnp1033\insrsid5338747
\par {\listtext\pard\plain\ltrpar \rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \f3\fs22\lang1033\langfe1031\langnp1033\charrsid5338747 \loch\af3\dbch\af31505\hich\f3 \'b7\tab}}{\rtlch\fcs1 \af4 \ltrch\fcs0
\f4\lang1033\langfe1031\langnp1033\insrsid5338747\charrsid5338747 \hich\af4\dbch\af31505\loch\f4 AUTHORIZED USER(s) to use any version of the SOFTWARE in trial mode;}{\rtlch\fcs1 \af4 \ltrch\fcs0 \f4\lang1033\langfe1031\langnp1033\insrsid5338747
\par {\listtext\pard\plain\ltrpar \rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \f3\fs22\lang1033\langfe1031\langnp1033\charrsid5338747 \loch\af3\dbch\af31505\hich\f3 \'b7\tab}}{\rtlch\fcs1 \af4 \ltrch\fcs0
\f4\lang1033\langfe1031\langnp1033\insrsid5338747\charrsid5338747 \hich\af4\dbch\af31505\loch\f4
AUTHORIZED USER(s) to use any version of the unlocked SOFTWARE that specifies a version number less than or equal to the version number denoted in the ACTIVATION KEY; if th\hich\af4\dbch\af31505\loch\f4
e ACTIVATION KEY does not denote a version number the AUTHORIZED USER is allowed to use any version of the SOFTWARE for a period of time that is limited by the expiration date specified in the ACTIVATION KEY;}{\rtlch\fcs1 \af4 \ltrch\fcs0
\f4\lang1033\langfe1031\langnp1033\insrsid5338747
\par {\listtext\pard\plain\ltrpar \rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \f3\fs22\lang1033\langfe1031\langnp1033\charrsid5338747 \loch\af3\dbch\af31505\hich\f3 \'b7\tab}}{\rtlch\fcs1 \af4 \ltrch\fcs0
\f4\lang1033\langfe1031\langnp1033\insrsid5338747\charrsid5338747 \hich\af4\dbch\af31505\loch\f4 LICENSEE to make a copy of the SOFTWARE for a\hich\af4\dbch\af31505\loch\f4
rchival purposes provided the copy contains all of the proprietary notices of the SOFTWARE.
\par }\pard \ltrpar\ql \li0\ri0\nowidctlpar\wrapdefault\faauto\rin0\lin0\itap0 {\rtlch\fcs1 \af4 \ltrch\fcs0 \f4\lang1033\langfe1031\langnp1033\insrsid5338747\charrsid3083065
\par
\par }{\rtlch\fcs1 \af4 \ltrch\fcs0 \b\f4\lang1033\langfe1031\langnp1033\insrsid5338747\charrsid5338747 \hich\af4\dbch\af31505\loch\f4 RESTRICTIONS AND CONFIDENTIALITY
\par }{\rtlch\fcs1 \af4 \ltrch\fcs0 \f4\lang1033\langfe1031\langnp1033\insrsid5338747\charrsid3083065
\par \hich\af4\dbch\af31505\loch\f4 The LICENSEE will not, and will have no right to:}{\rtlch\fcs1 \af4 \ltrch\fcs0 \f4\lang1033\langfe1031\langnp1033\insrsid5338747
\par {\listtext\pard\plain\ltrpar \rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \f3\fs22\lang1033\langfe1031\langnp1033\charrsid3083065 \loch\af3\dbch\af31505\hich\f3 \'b7\tab}}\pard \ltrpar
\ql \fi-360\li720\ri0\nowidctlpar\wrapdefault\faauto\ls5\rin0\lin720\itap0\pararsid5338747 {\rtlch\fcs1 \af4 \ltrch\fcs0 \f4\lang1033\langfe1031\langnp1033\insrsid5338747\charrsid3083065 \hich\af4\dbch\af31505\loch\f4
modify, translate, reverse engineer, decompile, disassemble (except to the e\hich\af4\dbch\af31505\loch\f4
xtent applicable laws specifically prohibit such restriction), create derivative works based on, or otherwise attempt to discover the source code or underlying ideas or algorithms of the SOFTWARE;}{\rtlch\fcs1 \af4 \ltrch\fcs0
\f4\lang1033\langfe1031\langnp1033\insrsid5338747
\par {\listtext\pard\plain\ltrpar \rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \f3\fs22\lang1033\langfe1031\langnp1033\charrsid5338747 \loch\af3\dbch\af31505\hich\f3 \'b7\tab}}{\rtlch\fcs1 \af4 \ltrch\fcs0
\f4\lang1033\langfe1031\langnp1033\insrsid5338747\charrsid5338747 \hich\af4\dbch\af31505\loch\f4 sell, rent, lease, distribute, or otherwise transfer righ\hich\af4\dbch\af31505\loch\f4 ts to the SOFTWARE without prior written consent from LICENSOR;}{
\rtlch\fcs1 \af4 \ltrch\fcs0 \f4\lang1033\langfe1031\langnp1033\insrsid5338747
\par {\listtext\pard\plain\ltrpar \rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \f3\fs22\lang1033\langfe1031\langnp1033\charrsid5338747 \loch\af3\dbch\af31505\hich\f3 \'b7\tab}}{\rtlch\fcs1 \af4 \ltrch\fcs0
\f4\lang1033\langfe1031\langnp1033\insrsid5338747\charrsid5338747 \hich\af4\dbch\af31505\loch\f4 remove any proprietary notices or labels from the SOFTWARE;}{\rtlch\fcs1 \af4 \ltrch\fcs0 \f4\lang1033\langfe1031\langnp1033\insrsid5338747
\par {\listtext\pard\plain\ltrpar \rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \f3\fs22\lang1033\langfe1031\langnp1033\charrsid5338747 \loch\af3\dbch\af31505\hich\f3 \'b7\tab}}{\rtlch\fcs1 \af4 \ltrch\fcs0
\f4\lang1033\langfe1031\langnp1033\insrsid5338747\charrsid5338747 \hich\af4\dbch\af31505\loch\f4 distribute, use, or transfer an ACTIVATION KEY(s) that has been superseded by an ACTIVATION KEY(s) provided with software mainte
\hich\af4\dbch\af31505\loch\f4 nance.
\par }\pard \ltrpar\ql \li0\ri0\nowidctlpar\wrapdefault\faauto\rin0\lin0\itap0 {\rtlch\fcs1 \af4 \ltrch\fcs0 \f4\lang1033\langfe1031\langnp1033\insrsid5338747\charrsid3083065 \hich\af4\dbch\af31505\loch\f4
AUTHORIZED USER(s) will not, and will have no right to:
\par {\listtext\pard\plain\ltrpar \rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \f3\fs22\lang1033\langfe1031\langnp1033\charrsid3083065 \loch\af3\dbch\af31505\hich\f3 \'b7\tab}}\pard \ltrpar
\ql \fi-360\li720\ri0\nowidctlpar\wrapdefault\faauto\ls6\rin0\lin720\itap0\pararsid5338747 {\rtlch\fcs1 \af4 \ltrch\fcs0 \f4\lang1033\langfe1031\langnp1033\insrsid5338747\charrsid3083065 \hich\af4\dbch\af31505\loch\f4
use an unlocked version of the SOFTWARE that exceeds the version string specified in the ACTIVATION KEY; }{\rtlch\fcs1 \af4 \ltrch\fcs0 \f4\lang1033\langfe1031\langnp1033\insrsid5338747
\par {\listtext\pard\plain\ltrpar \rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \f3\fs22\lang1033\langfe1031\langnp1033\charrsid5338747 \loch\af3\dbch\af31505\hich\f3 \'b7\tab}}{\rtlch\fcs1 \af4 \ltrch\fcs0
\f4\lang1033\langfe1031\langnp1033\insrsid5338747\charrsid5338747 \hich\af4\dbch\af31505\loch\f4 use the trial mode of the SOFTWARE for any commercial purposes; }{\rtlch\fcs1 \af4 \ltrch\fcs0 \f4\lang1033\langfe1031\langnp1033\insrsid5338747
\par {\listtext\pard\plain\ltrpar \rtlch\fcs1 \af4\afs22 \ltrch\fcs0 \f3\fs22\lang1033\langfe1031\langnp1033\charrsid5338747 \loch\af3\dbch\af31505\hich\f3 \'b7\tab}}{\rtlch\fcs1 \af4 \ltrch\fcs0
\f4\lang1033\langfe1031\langnp1033\insrsid5338747\charrsid5338747 \hich\af4\dbch\af31505\loch\f4 use a Private/Ac\hich\af4\dbch\af31505\loch\f4 ademic License of the software for any commercial purposes.
\par }\pard \ltrpar\ql \li0\ri0\nowidctlpar\wrapdefault\faauto\rin0\lin0\itap0 {\rtlch\fcs1 \af4 \ltrch\fcs0 \f4\lang1033\langfe1031\langnp1033\insrsid5338747\charrsid3083065 \hich\af4\dbch\af31505\loch\f4
Unless a valid non-disclosure agreement exists between the Parties, in which case the terms of that non-disclosure agreement shall apply, the following terms shall: Except as necessary for its per\hich\af4\dbch\af31505\loch\f4
formance under the AGREEMENT or required by law, the LICENSOR shall not disclose to anyone any information furnished by the LICENSEE that is marked as confidential or proprietary.
\par
\par }{\rtlch\fcs1 \af4 \ltrch\fcs0 \b\f4\lang1033\langfe1031\langnp1033\insrsid5338747\charrsid5338747 \hich\af4\dbch\af31505\loch\f4 TITLE AND COPYRIGHT
\par }{\rtlch\fcs1 \af4 \ltrch\fcs0 \f4\lang1033\langfe1031\langnp1033\insrsid5338747\charrsid3083065
\par \hich\af4\dbch\af31505\loch\f4
Title, ownership rights, intellectual property rights, and copyright to the SOFTWARE, and any copies or portions thereof, shall remain in LICENSOR. The SOFTWARE is protected by European copyright directives, Austrian copyright laws as well as United State
\hich\af4\dbch\af31505\loch\f4 s\hich\af4\dbch\af31505\loch\f4 copyright laws and international treaty provisions.
\par
\par
\par }{\rtlch\fcs1 \af4 \ltrch\fcs0 \b\f4\lang1033\langfe1031\langnp1033\insrsid5338747\charrsid5338747 \hich\af4\dbch\af31505\loch\f4 DISCLAIMER OF WARRANTY
\par }{\rtlch\fcs1 \af4 \ltrch\fcs0 \f4\lang1033\langfe1031\langnp1033\insrsid5338747\charrsid3083065
\par \hich\af4\dbch\af31505\loch\f4 THE SOFTWARE IS PROVIDED AS IS, WITHOUT WARRANTY OF ANY KIND. LICENSOR HEREBY DISCLAIMS ALL EXPRESS OR IMPLIED WARRANTIES, INCLUDING WITHOUT LIMITATION WARRANTIES OF MERCHANTABI\hich\af4\dbch\af31505\loch\f4
LITY, FITNESS FOR A PARTICULAR PURPOSE, AND NON-INFRINGEMENT. THIS DISCLAIMER OF WARRANTY CONSTITUTES AN ESSENTIAL PART OF THIS AGREEMENT. SOME U.S. STATES DO NOT ALLOW EXCLUSIONS OF AN IMPLIED WARRANTY, SO THIS DISCLAIMER MAY NOT APPLY TO LICENSEE. LICEN
\hich\af4\dbch\af31505\loch\f4 S\hich\af4\dbch\af31505\loch\f4 EE MAY HAVE OTHER LEGAL RIGHTS THAT VARY FROM STATE TO STATE OR BY JURISDICTION.
\par
\par
\par }{\rtlch\fcs1 \af4 \ltrch\fcs0 \b\f4\lang1033\langfe1031\langnp1033\insrsid5338747\charrsid5338747 \hich\af4\dbch\af31505\loch\f4 LIMITATION OF LIABILITY
\par }{\rtlch\fcs1 \af4 \ltrch\fcs0 \f4\lang1033\langfe1031\langnp1033\insrsid5338747\charrsid3083065
\par \hich\af4\dbch\af31505\loch\f4 LICENSEE ASSUMES THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE SOFTWARE. LICENSOR ASSUMES NO LIABILITY FOR THE COST OF ANY SERVICE OR REP\hich\af4\dbch\af31505\loch\f4
AIR IF THE SOFTWARE IS DEFECTIVE. UNDER NO CIRCUMSTANCES AND UNDER NO LEGAL THEORY, TORT, CONTRACT, STRICT LIABILITY, OR OTHERWISE, SHALL LICENSOR, OR ITS LICENSORS, SUPPLIERS OR RESELLERS, BE LIABLE TO LICENSEE OR ANY OTHER PERSON FOR ANY INDIRECT, SPECI
\hich\af4\dbch\af31505\loch\f4 A\hich\af4\dbch\af31505\loch\f4
L, INCIDENTAL, OR CONSEQUENTIAL DAMAGES OF ANY CHARACTER INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOST PROFITS, LOSS OF GOODWILL, WORK STOPPAGE, COMPUTER FAILURE OR MALFUNCTION, OR ANY AND ALL OTHER COMMERCIAL DAMAGES OR LOSSES. IN NO EVENT WILL LICENSO
\hich\af4\dbch\af31505\loch\f4 R\hich\af4\dbch\af31505\loch\f4
BE LIABLE FOR ANY DAMAGES IN EXCESS OF THE MONEY PAID FOR THE SOFTWARE, EVEN IF LICENSOR SHALL HAVE BEEN INFORMED OF THE POSSIBILITY OF SUCH DAMAGES, OR FOR ANY CLAIM BY ANY OTHER PARTY. THIS LIMITATION OF LIABILITY SHALL NOT APPLY TO LIABILITY FOR DEATH
\hich\af4\dbch\af31505\loch\f4 \hich\af4\dbch\af31505\loch\f4
OR PERSONAL INJURY TO THE EXTENT APPLICABLE LAW PROHIBITS SUCH LIMITATION. FURTHERMORE, SOME U.S. STATES DO NOT ALLOW THE EXCLUSION OR LIMITATION OF INCIDENTAL OR CONSEQUENTIAL DAMAGES, SO THIS LIMITATION AND EXCLUSION MAY NOT APPLY TO LICENSEE.
\par
\par
\par }{\rtlch\fcs1 \af4 \ltrch\fcs0 \b\f4\lang1033\langfe1031\langnp1033\insrsid5338747\charrsid5338747 \hich\af4\dbch\af31505\loch\f4 TERMINAT\hich\af4\dbch\af31505\loch\f4 ION
\par }{\rtlch\fcs1 \af4 \ltrch\fcs0 \f4\lang1033\langfe1031\langnp1033\insrsid5338747\charrsid3083065
\par \hich\af4\dbch\af31505\loch\f4
The license granted herein shall be perpetual. If LICENSEE fails to comply with any of the terms of this AGREEMENT, this AGREEMENT and the rights granted herein will terminate immediately. LICENSOR may, at its sole discretion and at any time, terminat
\hich\af4\dbch\af31505\loch\f4 e this AGREEMENT. On termination, LICENSEE must cease using and destroy all copies of the SOFTWARE.
\par
\par
\par }{\rtlch\fcs1 \af4 \ltrch\fcs0 \b\f4\lang1033\langfe1031\langnp1033\insrsid5338747\charrsid5338747 \hich\af4\dbch\af31505\loch\f4 EXPORT CONTROLS
\par }{\rtlch\fcs1 \af4 \ltrch\fcs0 \f4\lang1033\langfe1031\langnp1033\insrsid5338747\charrsid3083065
\par \hich\af4\dbch\af31505\loch\f4 LICENSEE shall comply with all export laws, restrictions and regulations of the United States, the Directive 2009/428/EC of the European \hich\af4\dbch\af31505\loch\f4 \hich\f4
Parliament and of the Council and the Austrian Au\'df\loch\f4
enwirtschaftsgesetz 2011, BGBl I No. 26/2011. LICENSEE shall not export, re-export or otherwise transfer the SOFTWARE to any country for which the United States or the European Union or Austria maintains a\hich\af4\dbch\af31505\loch\f4 n
\hich\af4\dbch\af31505\loch\f4
embargo, or to any person or entity on the U.S. Department of Treasury List of Specially Designated Nationals or the U.S. Department of Commerce Denied Persons List or Entity List. LICENSEE represents and warrants that licensee is not located in, under t
\hich\af4\dbch\af31505\loch\f4 h\hich\af4\dbch\af31505\loch\f4 e control of, or a national or resident of any restricted country or on any such list.
\par
\par
\par }{\rtlch\fcs1 \af4 \ltrch\fcs0 \b\f4\lang1033\langfe1031\langnp1033\insrsid5338747\charrsid5338747 \hich\af4\dbch\af31505\loch\f4 THIRD PARTY CREDITS
\par }{\rtlch\fcs1 \af4 \ltrch\fcs0 \f4\lang1033\langfe1031\langnp1033\insrsid5338747\charrsid3083065
\par \hich\af4\dbch\af31505\loch\f4 \hich\f4
Portions of the SOFTWARE utilize or include third party software and other copyrighted materials. Credits, licensing terms, and disclaimers for such materials are contained in the installation directory for the SOFTWARE, and are accessible via the \'93
\loch\f4 3rd Pa\hich\af4\dbch\af31505\loch\f4 r\hich\af4\dbch\af31505\loch\f4 \hich\f4 ty Licenses\'94\loch\f4 dialog for the SOFTWARE. LICENSEE agrees that use of such copyrighted materials is governed by their respective terms.
\par
\par }{\rtlch\fcs1 \af4 \ltrch\fcs0 \f4\lang1033\langfe1031\langnp1033\insrsid5338747\charrsid5338747
\par }{\rtlch\fcs1 \af4 \ltrch\fcs0 \b\f4\lang1033\langfe1031\langnp1033\insrsid5338747\charrsid5338747 \hich\af4\dbch\af31505\loch\f4 ENTIRE AGREEMENT
\par }{\rtlch\fcs1 \af4 \ltrch\fcs0 \f4\lang1033\langfe1031\langnp1033\insrsid5338747\charrsid3083065
\par \hich\af4\dbch\af31505\loch\f4 This AGREEMENT represents the complete agreement concerning this SOFTWARE between the PARTIES and supers\hich\af4\dbch\af31505\loch\f4
edes all prior agreements and representations between them. It may be amended only in writing executed by both PARTIES. Coati Software OG reserves the exclusive right to periodically update this AGREEMENT at its discretion at any time, with reasonable not
\hich\af4\dbch\af31505\loch\f4 i\hich\af4\dbch\af31505\loch\f4
ce to LICENSEE by posting the new AGREEMENT at the following URL: <https://www.sourcetrail.com/terms-of-use>. Any action arising out of or relating to this AGREEMENT may be brought exclusively in Salzburg, Austria, and the PARTIES irrevocably consent to t
\hich\af4\dbch\af31505\loch\f4 h\hich\af4\dbch\af31505\loch\f4 e jurisdiction of such courts and venue in Salzburg, Austria.
\par
\par
\par }{\rtlch\fcs1 \af4 \ltrch\fcs0 \b\f4\lang1033\langfe1031\langnp1033\insrsid5338747\charrsid5338747 \hich\af4\dbch\af31505\loch\f4 CONTACT
\par }{\rtlch\fcs1 \af4 \ltrch\fcs0 \f4\lang1033\langfe1031\langnp1033\insrsid5338747\charrsid3083065
\par \hich\af4\dbch\af31505\loch\f4 If you have questions regarding this agreement, contact:
\par }{\rtlch\fcs1 \af4 \ltrch\fcs0 \f4\insrsid5338747 \hich\af4\dbch\af31505\loch\f4 Coati Software OG
\par \hich\af4\dbch\af31505\loch\f4 \hich\f4 Jakob-Haringer-Stra\'df\loch\f4 e 1/127
\par \hich\af4\dbch\af31505\loch\f4 5020 Salzburg
\par \hich\af4\dbch\af31505\loch\f4 Austria
\par
\par \hich\af4\dbch\af31505\loch\f4 support@sourcetrail.com
\par }\pard \ltrpar\ql \li0\ri0\sa160\sl259\slmult1\nowidctlpar\wrapdefault\faauto\rin0\lin0\itap0 {\rtlch\fcs1 \af4 \ltrch\fcs0 \f4\insrsid5338747
\par }{\*\themedata 504b030414000600080000002100828abc13fa0000001c020000130000005b436f6e74656e745f54797065735d2e786d6cac91cb6ac3301045f785fe83d0b6d8
72ba28a5d8cea249777d2cd20f18e4b12d6a8f843409c9df77ecb850ba082d74231062ce997b55ae8fe3a00e1893f354e9555e6885647de3a8abf4fbee29bbd7
2a3150038327acf409935ed7d757e5ee14302999a654e99e393c18936c8f23a4dc072479697d1c81e51a3b13c07e4087e6b628ee8cf5c4489cf1c4d075f92a0b
44d7a07a83c82f308ac7b0a0f0fbf90c2480980b58abc733615aa2d210c2e02cb04430076a7ee833dfb6ce62e3ed7e14693e8317d8cd0433bf5c60f53fea2fe7
065bd80facb647e9e25c7fc421fd2ddb526b2e9373fed4bb902e182e97b7b461e6bfad3f010000ffff0300504b030414000600080000002100a5d6a7e7c00000
00360100000b0000005f72656c732f2e72656c73848fcf6ac3300c87ef85bd83d17d51d2c31825762fa590432fa37d00e1287f68221bdb1bebdb4fc7060abb08
84a4eff7a93dfeae8bf9e194e720169aaa06c3e2433fcb68e1763dbf7f82c985a4a725085b787086a37bdbb55fbc50d1a33ccd311ba548b63095120f88d94fbc
52ae4264d1c910d24a45db3462247fa791715fd71f989e19e0364cd3f51652d73760ae8fa8c9ffb3c330cc9e4fc17faf2ce545046e37944c69e462a1a82fe353
bd90a865aad41ed0b5b8f9d6fd010000ffff0300504b0304140006000800000021006b799616830000008a0000001c0000007468656d652f7468656d652f7468
656d654d616e616765722e786d6c0ccc4d0ac3201040e17da17790d93763bb284562b2cbaebbf600439c1a41c7a0d29fdbd7e5e38337cedf14d59b4b0d592c9c
070d8a65cd2e88b7f07c2ca71ba8da481cc52c6ce1c715e6e97818c9b48d13df49c873517d23d59085adb5dd20d6b52bd521ef2cdd5eb9246a3d8b4757e8d3f7
29e245eb2b260a0238fd010000ffff0300504b030414000600080000002100e35a492797060000551b0000160000007468656d652f7468656d652f7468656d65
312e786d6cec594d6f1b4518be23f11f467b6f6327761a4775aad8b11b6852a2d82dea71bc3bde9d66766735334eea1b6a8f484888823850891b0704546a252e
e5d7048aa048fd0bbc33b3bbde89d72469235a417d48bcb3cfbcdf5f33be7aed5eccd0211192f2a4edd52fd73c44129f073409dbdead61ffd29a87a4c2498019
4f48db9b12e95ddb78ffbdab785d45242608f627721db7bd48a9747d6949fab08ce5659e9204de8db988b18247112e05021f01dd982d2dd76aab4b31a6898712
1c03d91d2ca894f8d21691344cbc8d9c7c8f018f4449bde03331d0c489bbc7808383ba86c8a9ec32810e316b7bc02ae04743724f798861a9e045dbab998fb7b4
717509af679b985ab0b7b4af6f3ed9be6c4370b06c788a705430adf71bad2b5b057d03606a1ed7ebf5babd7a41cf00b0ef83aa569632cd467faddec9699640f6
eb3ced6ead596bb8f812fd9539995b9d4ea7d9ca64b1440dc87e6dcce1d76aab8dcd65076f4016df9cc3373a9bddeeaa8337208b5f9dc3f7afb4561b2ede8022
46938339b47668bf9f512f2063ceb62be16b005fab65f0190aa2a1082fcd62cc13b530d8627c978b3e203492614513a4a62919631f22b98be391a05873c0eb04
97ded8255fce2d696648fa82a6aaed7d9862c88a19bd97cf7e78f9ec093abefff4f8fecfc70f1e1cdfffc91272766de3242cef7af1dde77f3dfa04fdf9e4db17
0fbfacc6cb32feb71f3ffdf5972faa81903f33719e7ff5f8f7a78f9f7ffdd91fdf3fac806f0a3c2ac387342612dd2447689fc7a098b18a2b391989f3ed184698
96776c26a1c409d65c2ae8f754e4a06f4e31cbbce3c8d121ae056f0ba81f55c0eb93bb8ec083484c14ade07c238a1de02ee7acc345a5156e685e25330f274958
cd5c4ccab87d8c0fab787771e2f8b73749a172e661e928de8d8823e61ec389c221498842fa1d3f20a442bb3b943a76dda5bee0928f15ba435107d34a930ce9c8
89a6d9a66d1a835fa6553a83bf1ddbecde461dceaab4de22872e12b202b30ae187843966bc8e270ac755248738666583ef6015550939980abf8ceb49059e0e09
e3a81710686d15527c2440df92d36f602859956edf65d3d8450a450faa68ee60cecbc82d7ed08d709c5661073489cad80fe4018428467b5c55c177b99b21fa19
fc809385eebe4d89e3eed3abc12d1a3a22cd0244bf99086d45a8d54e058e69f24fe59851a8c7d6fa17578ea1003effe651854fdfd642bc093da92a13b64f94df
45b89345b7cb4540dffe9abb8527c91e81309f6f3cef4aeebb92ebfde74beea27c3e6ba19dd55628bb7a6eb053b19991e3c523f298323650534676a499922534
8aa00f8b7aa3392292e2cc9446f0352bec0e2e14d8ec4182ab8fa98a06114e61c2ae7b9a482833d2a144299770b433cb95b4351ea674650f864d7d64b0054162
b5cb03bbbca297f3934141c6b49bd09c3f73462b9ac05999ad5cc98882daafc2acae853a33b7ba11cdd43a875ba13238715e35582cac09130882b905acbc0a87
74cd1a4e26989140dbdd36dfdc2dc60b17e92219e180643ed27acffba86e9c94c78ab90c80d8a9f0913ee69d62b512b79626fb1adccee2a432bbc60276b9f75e
c74b7904cfbca413f7443ab2a49c9c2c41476dafd55c6e7ac8c769db1bc3a116bec629785deaa10fb3106e877c256cd89f9acc26cb67de6ce58ab94950878b0a
6bf739859d3a900aa9b6b08c6c6898575908b04473b2f22f37c1ac17a5808df4579062650d82e18d490176745d4bc663e2abb2b34b2bda76f6312ba57ca28818
44c1111ab189d8c7e07e1daaa04f4025dc4d988aa01fe0264d5bdbbc728b739674e5fb2b83b3eb98a511cecaad4ed13c932ddce4712183792a8907ba55ca6e94
3bbf2a26e52f48957218ffcf54d1fd04ae0a5602ed011fee7205463a5fdb1e172ae25085d288fa7d019383a91d102d701b0baf21a8e046d9fc17e450ffb73967
6998b486139fdaa7211214fa918a04217b50964cf49d42ac9ef52e4b9265844c4495c495a9157b440e091bea1ab8aa7bbb87220875534db232607027e3cf7dce
326814ea21a79c6f4e0d297aafcd817f7bf2b1c90c4ab975d80c34b9fd0b112bbaaadd6fb6e7bdb7ac887e311bb31a795600b3522b686569ff8a229cb3d5da8a
35a7f17233170ebc38af312c1603510a173e48ff81fe4785cf880963dd50877c1f6a2b829f1a3431081b88ea4b76f040ba40dac5110c4e76d1069326654d9b8d
4eda6a79b3bee049b7e07bc2d85ab2b3f8fb9cc62e8633979d938b1769ecccc28eadedda425383674fa6282c8df3938c718cf95dabfcc3131fdd05476fc105ff
84296982097e55121846cf81c903487ecbd16cddf81b0000ffff0300504b0304140006000800000021000dd1909fb60000001b010000270000007468656d652f
7468656d652f5f72656c732f7468656d654d616e616765722e786d6c2e72656c73848f4d0ac2301484f78277086f6fd3ba109126dd88d0add40384e4350d363f
2451eced0dae2c082e8761be9969bb979dc9136332de3168aa1a083ae995719ac16db8ec8e4052164e89d93b64b060828e6f37ed1567914b284d262452282e31
98720e274a939cd08a54f980ae38a38f56e422a3a641c8bbd048f7757da0f19b017cc524bd62107bd5001996509affb3fd381a89672f1f165dfe514173d98505
28a2c6cce0239baa4c04ca5bbabac4df000000ffff0300504b01022d0014000600080000002100828abc13fa0000001c02000013000000000000000000000000
00000000005b436f6e74656e745f54797065735d2e786d6c504b01022d0014000600080000002100a5d6a7e7c0000000360100000b0000000000000000000000
00002b0100005f72656c732f2e72656c73504b01022d00140006000800000021006b799616830000008a0000001c000000000000000000000000001402000074
68656d652f7468656d652f7468656d654d616e616765722e786d6c504b01022d0014000600080000002100e35a492797060000551b0000160000000000000000
0000000000d10200007468656d652f7468656d652f7468656d65312e786d6c504b01022d00140006000800000021000dd1909fb60000001b0100002700000000
0000000000000000009c0900007468656d652f7468656d652f5f72656c732f7468656d654d616e616765722e786d6c2e72656c73504b050600000000050005005d010000970a00000000}
{\*\colorschememapping 3c3f786d6c2076657273696f6e3d22312e302220656e636f64696e673d225554462d3822207374616e64616c6f6e653d22796573223f3e0d0a3c613a636c724d
617020786d6c6e733a613d22687474703a2f2f736368656d61732e6f70656e786d6c666f726d6174732e6f72672f64726177696e676d6c2f323030362f6d6169
6e22206267313d226c743122207478313d22646b3122206267323d226c743222207478323d22646b322220616363656e74313d22616363656e74312220616363
656e74323d22616363656e74322220616363656e74333d22616363656e74332220616363656e74343d22616363656e74342220616363656e74353d22616363656e74352220616363656e74363d22616363656e74362220686c696e6b3d22686c696e6b2220666f6c486c696e6b3d22666f6c486c696e6b222f3e}
{\*\latentstyles\lsdstimax267\lsdlockeddef0\lsdsemihiddendef1\lsdunhideuseddef1\lsdqformatdef0\lsdprioritydef99{\lsdlockedexcept \lsdsemihidden0 \lsdunhideused0 \lsdqformat1 \lsdpriority0 \lsdlocked0 Normal;
\lsdsemihidden0 \lsdunhideused0 \lsdqformat1 \lsdpriority9 \lsdlocked0 heading 1;\lsdqformat1 \lsdpriority9 \lsdlocked0 heading 2;\lsdqformat1 \lsdpriority9 \lsdlocked0 heading 3;\lsdqformat1 \lsdpriority9 \lsdlocked0 heading 4;
\lsdqformat1 \lsdpriority9 \lsdlocked0 heading 5;\lsdqformat1 \lsdpriority9 \lsdlocked0 heading 6;\lsdqformat1 \lsdpriority9 \lsdlocked0 heading 7;\lsdqformat1 \lsdpriority9 \lsdlocked0 heading 8;\lsdqformat1 \lsdpriority9 \lsdlocked0 heading 9;
\lsdpriority39 \lsdlocked0 toc 1;\lsdpriority39 \lsdlocked0 toc 2;\lsdpriority39 \lsdlocked0 toc 3;\lsdpriority39 \lsdlocked0 toc 4;\lsdpriority39 \lsdlocked0 toc 5;\lsdpriority39 \lsdlocked0 toc 6;\lsdpriority39 \lsdlocked0 toc 7;
\lsdpriority39 \lsdlocked0 toc 8;\lsdpriority39 \lsdlocked0 toc 9;\lsdqformat1 \lsdpriority35 \lsdlocked0 caption;\lsdsemihidden0 \lsdunhideused0 \lsdqformat1 \lsdpriority10 \lsdlocked0 Title;\lsdpriority1 \lsdlocked0 Default Paragraph Font;
\lsdsemihidden0 \lsdunhideused0 \lsdqformat1 \lsdpriority11 \lsdlocked0 Subtitle;\lsdsemihidden0 \lsdunhideused0 \lsdqformat1 \lsdpriority22 \lsdlocked0 Strong;\lsdsemihidden0 \lsdunhideused0 \lsdqformat1 \lsdpriority20 \lsdlocked0 Emphasis;
\lsdsemihidden0 \lsdunhideused0 \lsdpriority59 \lsdlocked0 Table Grid;\lsdunhideused0 \lsdlocked0 Placeholder Text;\lsdsemihidden0 \lsdunhideused0 \lsdqformat1 \lsdpriority1 \lsdlocked0 No Spacing;
\lsdsemihidden0 \lsdunhideused0 \lsdpriority60 \lsdlocked0 Light Shading;\lsdsemihidden0 \lsdunhideused0 \lsdpriority61 \lsdlocked0 Light List;\lsdsemihidden0 \lsdunhideused0 \lsdpriority62 \lsdlocked0 Light Grid;
\lsdsemihidden0 \lsdunhideused0 \lsdpriority63 \lsdlocked0 Medium Shading 1;\lsdsemihidden0 \lsdunhideused0 \lsdpriority64 \lsdlocked0 Medium Shading 2;\lsdsemihidden0 \lsdunhideused0 \lsdpriority65 \lsdlocked0 Medium List 1;
\lsdsemihidden0 \lsdunhideused0 \lsdpriority66 \lsdlocked0 Medium List 2;\lsdsemihidden0 \lsdunhideused0 \lsdpriority67 \lsdlocked0 Medium Grid 1;\lsdsemihidden0 \lsdunhideused0 \lsdpriority68 \lsdlocked0 Medium Grid 2;
\lsdsemihidden0 \lsdunhideused0 \lsdpriority69 \lsdlocked0 Medium Grid 3;\lsdsemihidden0 \lsdunhideused0 \lsdpriority70 \lsdlocked0 Dark List;\lsdsemihidden0 \lsdunhideused0 \lsdpriority71 \lsdlocked0 Colorful Shading;
\lsdsemihidden0 \lsdunhideused0 \lsdpriority72 \lsdlocked0 Colorful List;\lsdsemihidden0 \lsdunhideused0 \lsdpriority73 \lsdlocked0 Colorful Grid;\lsdsemihidden0 \lsdunhideused0 \lsdpriority60 \lsdlocked0 Light Shading Accent 1;
\lsdsemihidden0 \lsdunhideused0 \lsdpriority61 \lsdlocked0 Light List Accent 1;\lsdsemihidden0 \lsdunhideused0 \lsdpriority62 \lsdlocked0 Light Grid Accent 1;\lsdsemihidden0 \lsdunhideused0 \lsdpriority63 \lsdlocked0 Medium Shading 1 Accent 1;
\lsdsemihidden0 \lsdunhideused0 \lsdpriority64 \lsdlocked0 Medium Shading 2 Accent 1;\lsdsemihidden0 \lsdunhideused0 \lsdpriority65 \lsdlocked0 Medium List 1 Accent 1;\lsdunhideused0 \lsdlocked0 Revision;
\lsdsemihidden0 \lsdunhideused0 \lsdqformat1 \lsdpriority34 \lsdlocked0 List Paragraph;\lsdsemihidden0 \lsdunhideused0 \lsdqformat1 \lsdpriority29 \lsdlocked0 Quote;\lsdsemihidden0 \lsdunhideused0 \lsdqformat1 \lsdpriority30 \lsdlocked0 Intense Quote;
\lsdsemihidden0 \lsdunhideused0 \lsdpriority66 \lsdlocked0 Medium List 2 Accent 1;\lsdsemihidden0 \lsdunhideused0 \lsdpriority67 \lsdlocked0 Medium Grid 1 Accent 1;\lsdsemihidden0 \lsdunhideused0 \lsdpriority68 \lsdlocked0 Medium Grid 2 Accent 1;
\lsdsemihidden0 \lsdunhideused0 \lsdpriority69 \lsdlocked0 Medium Grid 3 Accent 1;\lsdsemihidden0 \lsdunhideused0 \lsdpriority70 \lsdlocked0 Dark List Accent 1;\lsdsemihidden0 \lsdunhideused0 \lsdpriority71 \lsdlocked0 Colorful Shading Accent 1;
\lsdsemihidden0 \lsdunhideused0 \lsdpriority72 \lsdlocked0 Colorful List Accent 1;\lsdsemihidden0 \lsdunhideused0 \lsdpriority73 \lsdlocked0 Colorful Grid Accent 1;\lsdsemihidden0 \lsdunhideused0 \lsdpriority60 \lsdlocked0 Light Shading Accent 2;
\lsdsemihidden0 \lsdunhideused0 \lsdpriority61 \lsdlocked0 Light List Accent 2;\lsdsemihidden0 \lsdunhideused0 \lsdpriority62 \lsdlocked0 Light Grid Accent 2;\lsdsemihidden0 \lsdunhideused0 \lsdpriority63 \lsdlocked0 Medium Shading 1 Accent 2;
\lsdsemihidden0 \lsdunhideused0 \lsdpriority64 \lsdlocked0 Medium Shading 2 Accent 2;\lsdsemihidden0 \lsdunhideused0 \lsdpriority65 \lsdlocked0 Medium List 1 Accent 2;\lsdsemihidden0 \lsdunhideused0 \lsdpriority66 \lsdlocked0 Medium List 2 Accent 2;
\lsdsemihidden0 \lsdunhideused0 \lsdpriority67 \lsdlocked0 Medium Grid 1 Accent 2;\lsdsemihidden0 \lsdunhideused0 \lsdpriority68 \lsdlocked0 Medium Grid 2 Accent 2;\lsdsemihidden0 \lsdunhideused0 \lsdpriority69 \lsdlocked0 Medium Grid 3 Accent 2;
\lsdsemihidden0 \lsdunhideused0 \lsdpriority70 \lsdlocked0 Dark List Accent 2;\lsdsemihidden0 \lsdunhideused0 \lsdpriority71 \lsdlocked0 Colorful Shading Accent 2;\lsdsemihidden0 \lsdunhideused0 \lsdpriority72 \lsdlocked0 Colorful List Accent 2;
\lsdsemihidden0 \lsdunhideused0 \lsdpriority73 \lsdlocked0 Colorful Grid Accent 2;\lsdsemihidden0 \lsdunhideused0 \lsdpriority60 \lsdlocked0 Light Shading Accent 3;\lsdsemihidden0 \lsdunhideused0 \lsdpriority61 \lsdlocked0 Light List Accent 3;
\lsdsemihidden0 \lsdunhideused0 \lsdpriority62 \lsdlocked0 Light Grid Accent 3;\lsdsemihidden0 \lsdunhideused0 \lsdpriority63 \lsdlocked0 Medium Shading 1 Accent 3;\lsdsemihidden0 \lsdunhideused0 \lsdpriority64 \lsdlocked0 Medium Shading 2 Accent 3;
\lsdsemihidden0 \lsdunhideused0 \lsdpriority65 \lsdlocked0 Medium List 1 Accent 3;\lsdsemihidden0 \lsdunhideused0 \lsdpriority66 \lsdlocked0 Medium List 2 Accent 3;\lsdsemihidden0 \lsdunhideused0 \lsdpriority67 \lsdlocked0 Medium Grid 1 Accent 3;
\lsdsemihidden0 \lsdunhideused0 \lsdpriority68 \lsdlocked0 Medium Grid 2 Accent 3;\lsdsemihidden0 \lsdunhideused0 \lsdpriority69 \lsdlocked0 Medium Grid 3 Accent 3;\lsdsemihidden0 \lsdunhideused0 \lsdpriority70 \lsdlocked0 Dark List Accent 3;
\lsdsemihidden0 \lsdunhideused0 \lsdpriority71 \lsdlocked0 Colorful Shading Accent 3;\lsdsemihidden0 \lsdunhideused0 \lsdpriority72 \lsdlocked0 Colorful List Accent 3;\lsdsemihidden0 \lsdunhideused0 \lsdpriority73 \lsdlocked0 Colorful Grid Accent 3;
\lsdsemihidden0 \lsdunhideused0 \lsdpriority60 \lsdlocked0 Light Shading Accent 4;\lsdsemihidden0 \lsdunhideused0 \lsdpriority61 \lsdlocked0 Light List Accent 4;\lsdsemihidden0 \lsdunhideused0 \lsdpriority62 \lsdlocked0 Light Grid Accent 4;
\lsdsemihidden0 \lsdunhideused0 \lsdpriority63 \lsdlocked0 Medium Shading 1 Accent 4;\lsdsemihidden0 \lsdunhideused0 \lsdpriority64 \lsdlocked0 Medium Shading 2 Accent 4;\lsdsemihidden0 \lsdunhideused0 \lsdpriority65 \lsdlocked0 Medium List 1 Accent 4;
\lsdsemihidden0 \lsdunhideused0 \lsdpriority66 \lsdlocked0 Medium List 2 Accent 4;\lsdsemihidden0 \lsdunhideused0 \lsdpriority67 \lsdlocked0 Medium Grid 1 Accent 4;\lsdsemihidden0 \lsdunhideused0 \lsdpriority68 \lsdlocked0 Medium Grid 2 Accent 4;
\lsdsemihidden0 \lsdunhideused0 \lsdpriority69 \lsdlocked0 Medium Grid 3 Accent 4;\lsdsemihidden0 \lsdunhideused0 \lsdpriority70 \lsdlocked0 Dark List Accent 4;\lsdsemihidden0 \lsdunhideused0 \lsdpriority71 \lsdlocked0 Colorful Shading Accent 4;
\lsdsemihidden0 \lsdunhideused0 \lsdpriority72 \lsdlocked0 Colorful List Accent 4;\lsdsemihidden0 \lsdunhideused0 \lsdpriority73 \lsdlocked0 Colorful Grid Accent 4;\lsdsemihidden0 \lsdunhideused0 \lsdpriority60 \lsdlocked0 Light Shading Accent 5;
\lsdsemihidden0 \lsdunhideused0 \lsdpriority61 \lsdlocked0 Light List Accent 5;\lsdsemihidden0 \lsdunhideused0 \lsdpriority62 \lsdlocked0 Light Grid Accent 5;\lsdsemihidden0 \lsdunhideused0 \lsdpriority63 \lsdlocked0 Medium Shading 1 Accent 5;
\lsdsemihidden0 \lsdunhideused0 \lsdpriority64 \lsdlocked0 Medium Shading 2 Accent 5;\lsdsemihidden0 \lsdunhideused0 \lsdpriority65 \lsdlocked0 Medium List 1 Accent 5;\lsdsemihidden0 \lsdunhideused0 \lsdpriority66 \lsdlocked0 Medium List 2 Accent 5;
\lsdsemihidden0 \lsdunhideused0 \lsdpriority67 \lsdlocked0 Medium Grid 1 Accent 5;\lsdsemihidden0 \lsdunhideused0 \lsdpriority68 \lsdlocked0 Medium Grid 2 Accent 5;\lsdsemihidden0 \lsdunhideused0 \lsdpriority69 \lsdlocked0 Medium Grid 3 Accent 5;
\lsdsemihidden0 \lsdunhideused0 \lsdpriority70 \lsdlocked0 Dark List Accent 5;\lsdsemihidden0 \lsdunhideused0 \lsdpriority71 \lsdlocked0 Colorful Shading Accent 5;\lsdsemihidden0 \lsdunhideused0 \lsdpriority72 \lsdlocked0 Colorful List Accent 5;
\lsdsemihidden0 \lsdunhideused0 \lsdpriority73 \lsdlocked0 Colorful Grid Accent 5;\lsdsemihidden0 \lsdunhideused0 \lsdpriority60 \lsdlocked0 Light Shading Accent 6;\lsdsemihidden0 \lsdunhideused0 \lsdpriority61 \lsdlocked0 Light List Accent 6;
\lsdsemihidden0 \lsdunhideused0 \lsdpriority62 \lsdlocked0 Light Grid Accent 6;\lsdsemihidden0 \lsdunhideused0 \lsdpriority63 \lsdlocked0 Medium Shading 1 Accent 6;\lsdsemihidden0 \lsdunhideused0 \lsdpriority64 \lsdlocked0 Medium Shading 2 Accent 6;
\lsdsemihidden0 \lsdunhideused0 \lsdpriority65 \lsdlocked0 Medium List 1 Accent 6;\lsdsemihidden0 \lsdunhideused0 \lsdpriority66 \lsdlocked0 Medium List 2 Accent 6;\lsdsemihidden0 \lsdunhideused0 \lsdpriority67 \lsdlocked0 Medium Grid 1 Accent 6;
\lsdsemihidden0 \lsdunhideused0 \lsdpriority68 \lsdlocked0 Medium Grid 2 Accent 6;\lsdsemihidden0 \lsdunhideused0 \lsdpriority69 \lsdlocked0 Medium Grid 3 Accent 6;\lsdsemihidden0 \lsdunhideused0 \lsdpriority70 \lsdlocked0 Dark List Accent 6;
\lsdsemihidden0 \lsdunhideused0 \lsdpriority71 \lsdlocked0 Colorful Shading Accent 6;\lsdsemihidden0 \lsdunhideused0 \lsdpriority72 \lsdlocked0 Colorful List Accent 6;\lsdsemihidden0 \lsdunhideused0 \lsdpriority73 \lsdlocked0 Colorful Grid Accent 6;
\lsdsemihidden0 \lsdunhideused0 \lsdqformat1 \lsdpriority19 \lsdlocked0 Subtle Emphasis;\lsdsemihidden0 \lsdunhideused0 \lsdqformat1 \lsdpriority21 \lsdlocked0 Intense Emphasis;
\lsdsemihidden0 \lsdunhideused0 \lsdqformat1 \lsdpriority31 \lsdlocked0 Subtle Reference;\lsdsemihidden0 \lsdunhideused0 \lsdqformat1 \lsdpriority32 \lsdlocked0 Intense Reference;
\lsdsemihidden0 \lsdunhideused0 \lsdqformat1 \lsdpriority33 \lsdlocked0 Book Title;\lsdpriority37 \lsdlocked0 Bibliography;\lsdqformat1 \lsdpriority39 \lsdlocked0 TOC Heading;}}{\*\datastore 010500000200000018000000
4d73786d6c322e534158584d4c5265616465722e352e3000000000000000000000060000
d0cf11e0a1b11ae1000000000000000000000000000000003e000300feff090006000000000000000000000001000000010000000000000000100000feffffff00000000feffffff0000000000000000ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
fffffffffffffffffdfffffffeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
ffffffffffffffffffffffffffffffff52006f006f007400200045006e00740072007900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000016000500ffffffffffffffffffffffffec69d9888b8b3d4c859eaf6cd158be0f000000000000000000000000d095
c2fbbde9d201feffffff00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffffffffffffffffffff00000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffffffffffffffffffff000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000105000000000000}}
+102 -97
View File
@@ -1,97 +1,102 @@
Coati
Software License Agreement (“Agreement”)
Effective 15.2.2017
BY INSTALLING OR USING THIS SOFTWARE, YOU ARE BECOMING A PARTY TO, AND ARE CONSENTING TO BE BOUND BY, THIS AGREEMENT. IF YOU DO NOT AGREE TO ALL OF THE TERMS OF THIS AGREEMENT, DO NOT INSTALL OR USE THIS SOFTWARE.
DEFINITIONS
"Software" means:
• A major version of Coati in executable form. The major version is defined by the leading number of the version string (e.g. the major version of Coati 1.x.x is version 1);
• documentation for that major version of Coati;
• minor updates included in software maintenance which are indicated by an increase in the numbers that follow the major version number (e.g. the update from Coati 1.0.0 to Coati 1.1.0).
"Licensor" means:
Coati Software OG, having a place of business at Jakob-Haringer-Straße 1/127, 5020 Salzburg, Austria.
"Licensee" means:
the individual who purchased a License(s) for the Software;
• the individual who was granted a Test License(s) for the Software;
• the individual evaluating the Software in trial mode;
• the company, corporation, or organization that purchased a License(s) for the Software;
• the company, corporation, or organization that was granted a Test License(s) for the Software.
"Activation Key" means:
• the name of the Licensee, the kind of license, the major version of the Software that is licensed, and a hash-code; the combination of these values allows the Licensee to activate the full functionality of a genuine copy of the Software.
"Authorized User" means:
the individual who purchased a License(s) for the Software; the individual is the only Authorized User;
• the individual who was granted a Test License(s) for the Software; the individual is the only Authorized User;
the individual evaluating the Software in trial mode;
• an employee or independent contractor who might at any time use the Software, of the company, corporation, or organization that purchased a License(s) for the Software; an entity has one Authorized User for each License purchased;
an employee or independent contractor who might at any time use the Software, of the company, corporation, or organization was granted a Test License(s) for the Software; an entity has one Authorized User for each License purchased.
GRANT
Subject to the terms of this Agreement, the Licensor hereby grants the Licensee a non-transferable, non-exclusive, non-sub-licensable, limited license that allows:
• the Licensee to distribute (an) Activation Key(s) to Authorized User(s);
• Authorized User(s) to install the licensed version of the Software on computer PCs where potential use of the Software is restricted exclusively to Authorized User(s);
• Authorized User(s) to use the Software on computer PCs and in virtual machines.
Licensee to make a copy of the Software for archival purposes provided the copy contains all of the proprietary notices of the Software.
In case the Licensee of the software is a company, corporation, or organization the Licensor has the right to mention this usage of the Software on its own website.
RESTRICTIONS
Licensee will not, and will have no right to:
• distribute, use, or transfer an Activation Key(s) that has been superseded by an Activation Key(s) provided with software maintenance;
• modify, translate, reverse engineer, decompile, disassemble (except to the extent applicable laws specifically prohibit such restriction), create derivative works based on, or otherwise attempt to discover the source code or underlying ideas or algorithms of the Software;
• sell, rent, lease, distribute, or otherwise transfer rights to the Software without prior written consent from Licensor;
• remove any proprietary notices or labels from the Software.
Authorized User(s) will not, and will have no right to:
use the trial mode of the Software for any commercial purposes;
use a Private/Academic License of the software for any commercial purposes.
TITLE AND COPYRIGHT
Title, ownership rights, intellectual property rights, and copyright to the Software, and any copies or portions thereof, shall remain in Licensor. The Software is protected by European copyright directives, Austrian copyright laws as well as United States copyright laws and international treaty provisions.
DISCLAIMER OF WARRANTY
THE SOFTWARE IS PROVIDED AS IS, WITHOUT WARRANTY OF ANY KIND. LICENSOR HEREBY DISCLAIMS ALL EXPRESS OR IMPLIED WARRANTIES, INCLUDING WITHOUT LIMITATION WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, AND NON-INFRINGEMENT. THIS DISCLAIMER OF WARRANTY CONSTITUTES AN ESSENTIAL PART OF THIS AGREEMENT. SOME U.S. STATES DO NOT ALLOW EXCLUSIONS OF AN IMPLIED WARRANTY, SO THIS DISCLAIMER MAY NOT APPLY TO LICENSEE. LICENSEE MAY HAVE OTHER LEGAL RIGHTS THAT VARY FROM STATE TO STATE OR BY JURISDICTION.
LIMITATION OF LIABILITY
LICENSEE ASSUMES THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE SOFTWARE. LICENSOR ASSUMES NO LIABILITY FOR THE COST OF ANY SERVICE OR REPAIR IF THE SOFTWARE IS DEFECTIVE. UNDER NO CIRCUMSTANCES AND UNDER NO LEGAL THEORY, TORT, CONTRACT, STRICT LIABILITY, OR OTHERWISE, SHALL LICENSOR, OR ITS LICENSORS, SUPPLIERS OR RESELLERS, BE LIABLE TO LICENSEE OR ANY OTHER PERSON FOR ANY INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES OF ANY CHARACTER INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOST PROFITS, LOSS OF GOODWILL, WORK STOPPAGE, COMPUTER FAILURE OR MALFUNCTION, OR ANY AND ALL OTHER COMMERCIAL DAMAGES OR LOSSES. IN NO EVENT WILL LICENSOR BE LIABLE FOR ANY DAMAGES IN EXCESS OF THE MONEY PAID FOR THE SOFTWARE, EVEN IF LICENSOR SHALL HAVE BEEN INFORMED OF THE POSSIBILITY OF SUCH DAMAGES, OR FOR ANY CLAIM BY ANY OTHER PARTY. THIS LIMITATION OF LIABILITY SHALL NOT APPLY TO LIABILITY FOR DEATH OR PERSONAL INJURY TO THE EXTENT APPLICABLE LAW PROHIBITS SUCH LIMITATION. FURTHERMORE, SOME U.S. STATES DO NOT ALLOW THE EXCLUSION OR LIMITATION OF INCIDENTAL OR CONSEQUENTIAL DAMAGES, SO THIS LIMITATION AND EXCLUSION MAY NOT APPLY TO LICENSEE.
TERMINATION
The license granted herein shall be perpetual. If Licensee fails to comply with any of the terms of this Agreement, this Agreement and the rights granted herein will terminate immediately. Licensor may, at its sole discretion and at any time, terminate this Agreement. On termination, Licensee must cease using and destroy all copies of the Software.
EXPORT CONTROLS
Licensee shall comply with all export laws, restrictions and regulations of the United States, the Directive 2009/428/EC of the European Parliament and of the Council and the Austrian Außenwirtschaftsgesetz 2011, BGBl I No. 26/2011. Licensee shall not export, re-export or otherwise transfer the Software to any country for which the United States or the European Union or Austria maintains an embargo, or to any person or entity on the U.S. Department of Treasury List of Specially Designated Nationals or the U.S. Department of Commerce Denied Persons List or Entity List. Licensee represents and warrants that licensee is not located in, under the control of, or a national or resident of any restricted country or on any such list.
THIRD PARTY CREDITS
Portions of the Software utilize or include third party software and other copyrighted materials. Credits, licensing terms, and disclaimers for such materials are contained in the installation directory for the Software, and are accessible via the “3rd Party Licenses” dialog for the Software. Licensee agrees that use of such copyrighted materials is governed by their respective terms.
ENTIRE AGREEMENT
This Agreement represents the complete agreement concerning this Software between the parties and supersedes all prior agreements and representations between them. It may be amended only in writing executed by both parties. Coati Software OG reserves the exclusive right to periodically update this Agreement at its discretion at any time, with reasonable notice to you by posting the new Agreement at the following URL: <http://www.coati.io/>. Any action arising out of or relating to this Agreement may be brought exclusively in Salzburg, Austria, and Coati Software OG and you irrevocably consent to the jurisdiction of such courts and venue in Salzburg, Austria.
CONTACT
If you have questions regarding this agreement, contact:
Coati Software OG
Jakob-Haringer-Straße 1/127
5020 Salzburg
Austria
support@coati.io
Sourcetrail
Software License Agreement (“AGREEMENT”)
Last date of change: 2017-06-19
BY INSTALLING OR USING THIS SOFTWARE, YOU ARE BECOMING A PARTY TO, AND ARE CONSENTING TO BE BOUND BY, THIS AGREEMENT. IF YOU DO NOT AGREE TO ALL OF THE TERMS OF THIS AGREEMENT, DO NOT INSTALL OR USE THIS SOFTWARE.
DEFINITIONS
"SOFTWARE" means:
• A version of the cross-platform source code explorer known as Sourcetrail in executable form. The version is defined by the two leading numbers of the version string (e.g. the version of Sourcetrail 2017.1.x is version 2017.1);
• documentation for that version of Sourcetrail;
• minor updates included in software maintenance which are indicated by an increase in the digits that follow the first two leading numbers of the version string (e.g. the update from Sourcetrail 2017.1.0 to Sourcetrail 2017.1.1 is a minor update).
"LICENSE" means:
the permission to use, reproduction and distribution of the SOFTWARE as defined by the following sections of this document.
"LICENSOR" means:
Coati Software OG, having a place of business at Jakob-Haringer-Straße 1/127, 5020 Salzburg, Austria.
"LICENSEE" means:
• the individual who purchased a LICENSE(s) for the SOFTWARE;
• the individual who was granted a LICENSE(s) for the SOFTWARE by the LICENSOR;
• the individual evaluating the SOFTWARE in trial mode;
• the company, corporation, or organization that purchased a LICENSE(s) for the SOFTWARE;
• the company, corporation, or organization that was granted a LICENSE(s) for the SOFTWARE by the LICENSOR.
"PARTIES" means:
both LICENSOR and LICENSEE collectively.
"ACTIVATION KEY" means:
a document that defines the parameters of the LICENSE. It specifies the name of the licensed SOFTWARE, the name of the LICENSEE, the license type, an upper limit for the licensed SOFTWARE version or an expiration date, and a hash-code; the combination of these values allows the LICENSEE to unlock the full functionality of a genuine copy of the SOFTWARE.
"AUTHORIZED USER" means:
the individual who purchased a LICENSE(s) for the SOFTWARE; the individual is the only AUTHORIZED USER;
• the individual who was granted a LICENSE(s) for the SOFTWARE by the LICENSOR; the individual is the only AUTHORIZED USER;
• the individual evaluating the SOFTWARE in trial mode;
• an employee or independent contractor who might at any time use the SOFTWARE, of the LICENSEE; for each ACTIVATION KEY an entity has as many AUTHORIZED USER(s) as defined by the amount of seats specified in the ACTIVATION KEY; if no amount of seats is specified in the ACTIVATION KEY the entity has one AUTHORIZED USER for this ACTIVATION KEY.
GRANT
Subject to the terms of this AGREEMENT, the LICENSOR hereby grants the LICENSEE a worldwide, non-transferable, non-exclusive, non-sub-licensable, limited LICENSE that allows:
the LICENSEE to distribute (an) ACTIVATION KEY(s) to AUTHORIZED USER(s);
the LICENSEE and AUTHORIZED USER(s) to install the SOFTWARE on computer PCs where potential use of the SOFTWARE is restricted exclusively to AUTHORIZED USER(s);
• the LICENSEE and AUTHORIZED USER(s) to use an ACTIVATION KEY to unlock the SOFTWARE;
• AUTHORIZED USER(s) to use any version of the SOFTWARE in trial mode;
• AUTHORIZED USER(s) to use any version of the unlocked SOFTWARE that specifies a version number less than or equal to the version number denoted in the ACTIVATION KEY; if the ACTIVATION KEY does not denote a version number the AUTHORIZED USER is allowed to use any version of the SOFTWARE for a period of time that is limited by the expiration date specified in the ACTIVATION KEY;
• LICENSEE to make a copy of the SOFTWARE for archival purposes provided the copy contains all of the proprietary notices of the SOFTWARE.
RESTRICTIONS AND CONFIDENTIALITY
The LICENSEE will not, and will have no right to:
• modify, translate, reverse engineer, decompile, disassemble (except to the extent applicable laws specifically prohibit such restriction), create derivative works based on, or otherwise attempt to discover the source code or underlying ideas or algorithms of the SOFTWARE;
• sell, rent, lease, distribute, or otherwise transfer rights to the SOFTWARE without prior written consent from LICENSOR;
remove any proprietary notices or labels from the SOFTWARE;
• distribute, use, or transfer an ACTIVATION KEY(s) that has been superseded by an ACTIVATION KEY(s) provided with software maintenance.
AUTHORIZED USER(s) will not, and will have no right to:
• use an unlocked version of the SOFTWARE that exceeds the version string specified in the ACTIVATION KEY;
• use the trial mode of the SOFTWARE for any commercial purposes;
• use a Private/Academic License of the software for any commercial purposes.
Unless a valid non-disclosure agreement exists between the Parties, in which case the terms of that non-disclosure agreement shall apply, the following terms shall: Except as necessary for its performance under the AGREEMENT or required by law, the LICENSOR shall not disclose to anyone any information furnished by the LICENSEE that is marked as confidential or proprietary.
TITLE AND COPYRIGHT
Title, ownership rights, intellectual property rights, and copyright to the SOFTWARE, and any copies or portions thereof, shall remain in LICENSOR. The SOFTWARE is protected by European copyright directives, Austrian copyright laws as well as United States copyright laws and international treaty provisions.
DISCLAIMER OF WARRANTY
THE SOFTWARE IS PROVIDED AS IS, WITHOUT WARRANTY OF ANY KIND. LICENSOR HEREBY DISCLAIMS ALL EXPRESS OR IMPLIED WARRANTIES, INCLUDING WITHOUT LIMITATION WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, AND NON-INFRINGEMENT. THIS DISCLAIMER OF WARRANTY CONSTITUTES AN ESSENTIAL PART OF THIS AGREEMENT. SOME U.S. STATES DO NOT ALLOW EXCLUSIONS OF AN IMPLIED WARRANTY, SO THIS DISCLAIMER MAY NOT APPLY TO LICENSEE. LICENSEE MAY HAVE OTHER LEGAL RIGHTS THAT VARY FROM STATE TO STATE OR BY JURISDICTION.
LIMITATION OF LIABILITY
LICENSEE ASSUMES THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE SOFTWARE. LICENSOR ASSUMES NO LIABILITY FOR THE COST OF ANY SERVICE OR REPAIR IF THE SOFTWARE IS DEFECTIVE. UNDER NO CIRCUMSTANCES AND UNDER NO LEGAL THEORY, TORT, CONTRACT, STRICT LIABILITY, OR OTHERWISE, SHALL LICENSOR, OR ITS LICENSORS, SUPPLIERS OR RESELLERS, BE LIABLE TO LICENSEE OR ANY OTHER PERSON FOR ANY INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES OF ANY CHARACTER INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOST PROFITS, LOSS OF GOODWILL, WORK STOPPAGE, COMPUTER FAILURE OR MALFUNCTION, OR ANY AND ALL OTHER COMMERCIAL DAMAGES OR LOSSES. IN NO EVENT WILL LICENSOR BE LIABLE FOR ANY DAMAGES IN EXCESS OF THE MONEY PAID FOR THE SOFTWARE, EVEN IF LICENSOR SHALL HAVE BEEN INFORMED OF THE POSSIBILITY OF SUCH DAMAGES, OR FOR ANY CLAIM BY ANY OTHER PARTY. THIS LIMITATION OF LIABILITY SHALL NOT APPLY TO LIABILITY FOR DEATH OR PERSONAL INJURY TO THE EXTENT APPLICABLE LAW PROHIBITS SUCH LIMITATION. FURTHERMORE, SOME U.S. STATES DO NOT ALLOW THE EXCLUSION OR LIMITATION OF INCIDENTAL OR CONSEQUENTIAL DAMAGES, SO THIS LIMITATION AND EXCLUSION MAY NOT APPLY TO LICENSEE.
TERMINATION
The license granted herein shall be perpetual. If LICENSEE fails to comply with any of the terms of this AGREEMENT, this AGREEMENT and the rights granted herein will terminate immediately. LICENSOR may, at its sole discretion and at any time, terminate this AGREEMENT. On termination, LICENSEE must cease using and destroy all copies of the SOFTWARE.
EXPORT CONTROLS
LICENSEE shall comply with all export laws, restrictions and regulations of the United States, the Directive 2009/428/EC of the European Parliament and of the Council and the Austrian Außenwirtschaftsgesetz 2011, BGBl I No. 26/2011. LICENSEE shall not export, re-export or otherwise transfer the SOFTWARE to any country for which the United States or the European Union or Austria maintains an embargo, or to any person or entity on the U.S. Department of Treasury List of Specially Designated Nationals or the U.S. Department of Commerce Denied Persons List or Entity List. LICENSEE represents and warrants that licensee is not located in, under the control of, or a national or resident of any restricted country or on any such list.
THIRD PARTY CREDITS
Portions of the SOFTWARE utilize or include third party software and other copyrighted materials. Credits, licensing terms, and disclaimers for such materials are contained in the installation directory for the SOFTWARE, and are accessible via the “3rd Party Licenses” dialog for the SOFTWARE. LICENSEE agrees that use of such copyrighted materials is governed by their respective terms.
ENTIRE AGREEMENT
This AGREEMENT represents the complete agreement concerning this SOFTWARE between the PARTIES and supersedes all prior agreements and representations between them. It may be amended only in writing executed by both PARTIES. Coati Software OG reserves the exclusive right to periodically update this AGREEMENT at its discretion at any time, with reasonable notice to LICENSEE by posting the new AGREEMENT at the following URL: <https://www.sourcetrail.com/terms-of-use>. Any action arising out of or relating to this AGREEMENT may be brought exclusively in Salzburg, Austria, and the PARTIES irrevocably consent to the jurisdiction of such courts and venue in Salzburg, Austria.
CONTACT
If you have questions regarding this agreement, contact:
Coati Software OG
Jakob-Haringer-Straße 1/127
5020 Salzburg
Austria
support@sourcetrail.com
Binary file not shown.

Before

Width:  |  Height:  |  Size: 21 KiB

After

Width:  |  Height:  |  Size: 27 KiB

@@ -1,65 +1,21 @@
/* General settings */
* {
font-size: <setting:font_size>px;
font-family: "<setting:font_name>";
}
QScrollArea {
padding: 0px;
border: none;
background: transparent;
background-color: white;
margin: 12px;
}
#container {
background: transparent;
margin: 16px;
}
QPushButton {
border: 2px;
border-style: solid;
border-color: #dadada;
background: #f6f6f6;
background-position: 15px 5px;
height: 30px;
width: 30px;
border-radius: 12px;
margin: 2px;
}
QPushButton:hover {
background: #2D3C86;
color: white;
}
QTableWidget {
margin-top: 4px;
alternate-background-color: #dadada;
background-color: #f6f6f6;
selection-background-color: 227abf;
font-family: "<setting:font_name>";
color: black;
margin-top: 6px;
background-color: #dadada;
alternate-background-color: #f6f6f6;
selection-background-color: #227abf;
selection-color: white;
border-color: #666666;
gridline-color: #666666;
}
#title {
font-size: <setting:font_size+2>px;
font-weight: bold;
margin: 16px;
margin-top: 30px;
}
#close_button {
margin: 16px;
QHeaderView {
font-family: "<setting:font_name>";
}
#general_label, #code_label, #graph_label {
margin-top: 0px;
margin-bottom: 0px;
}
#code_label, #graph_label {
margin-top: 10px;
font-size: 14px;
font-weight: bold;
color: black;
}
+1 -5
View File
@@ -1,8 +1,3 @@
QLabel {
font-size: 12px;
color: black;
}
#licenseField {
font-family: "<setting:font_name>";
font-size: 11px;
@@ -19,4 +14,5 @@ QTextEdit {
background-color: rgba(255, 255, 255, 200);
border-radius: 10px;
border: 1px solid lightgrey;
color: black;
}
@@ -47,6 +47,17 @@
font-size: 12px;
}
#licenseHeaderLabel {
color: black;
font-size: 12px;
font-weight: bold;
}
#licenseLabel {
color: black;
font-size: 12px;
}
#welcomeLabel {
color: black;
font-size: 12px;
Binary file not shown.

Before

Width:  |  Height:  |  Size: 146 KiB

+2 -2
View File
@@ -36,7 +36,7 @@ QTableView {
alternate-background-color: <color:table/table_line_2/normal>;
border-radius: 10px;
border: 1px solid <color:table/table>;
margin: 10px;
margin: 10px 10px 2px;
padding-right: 10px;
font-size: <setting:font_size>px;
}
@@ -84,6 +84,7 @@ QHeaderView::section:vertical {
QCheckBox {
color: <color:table/text/normal>;
border-color: <color:table/table>;
margin: 0;
/*background-color: <color:table/table>;*/
}
@@ -120,4 +121,3 @@ QTableView QTableCornerButton::section {
border-bottom: 1px solid <color:table/table>;
border-top-left-radius: 10px;
}
Binary file not shown.

After

Width:  |  Height:  |  Size: 350 B

@@ -5,7 +5,6 @@
QPushButton {
background: <color:search/button/normal>;
border: none;
background-position: 15px 5px;
height: 30px;
width: 30px;
}
@@ -13,7 +12,6 @@ QPushButton {
#undo_button {
border-bottom-left-radius: 12px;
border-top-left-radius: 12px;
margin-right: 2px;
}
#redo_button {
@@ -21,6 +19,12 @@ QPushButton {
border-top-right-radius: 12px;
}
#history_button {
width: 14px;
margin-left: 2px;
margin-right: 2px;
}
QPushButton:disabled {
background: <color:search/button/disabled>;
}
Binary file not shown.

Before

Width:  |  Height:  |  Size: 72 KiB

After

Width:  |  Height:  |  Size: 166 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 578 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 832 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 518 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

+91 -23
View File
@@ -6,6 +6,18 @@ QLabel, QCheckBox {
color: black;
}
QCheckBox::indicator {
color: black;
}
QCheckBox:disabled {
color: gray;
}
#window {
background: white;
}
#title {
font-size: 16px;
font-weight: bold;
@@ -17,18 +29,15 @@ QLabel, QCheckBox {
color: gray;
}
#projectTitle {
#sourceGroupTitle {
font-size: 14px;
font-weight: bold;
}
#projectTitle {
background: white;
padding: 5px;
margin-left: 40px;
}
#projectDescription {
#sourceGroupDescription {
font-size: 12px;
margin-left: 20px;
}
@@ -105,11 +114,24 @@ QLabel, QCheckBox {
border: 1px solid lightgray;
border-radius: 8px;
color: black;
padding: 3px 5px 2px;
padding: 3px 8px 2px;
font-size: 14px;
min-width: 5em;
}
#windowButton:hover {
color: white;
background: #2D3C86;
}
#windowButton:default {
border: 2px solid lightgray;
}
#windowButton:disabled {
color: lightgray;
}
#menuButton {
background: white;
border: none;
@@ -123,24 +145,11 @@ QLabel, QCheckBox {
width: 90px;
}
#windowButton:hover {
color: white;
background: #2D3C86;
}
#windowButton:default {
border: 2px solid lightgray;
}
#menuButton:hover, #menuButton:checked {
background: #CFD2E0;
}
#windowButton:disabled {
color: lightgray;
}
#projectContainer {
#sourceGroupContainer {
background: white;
border: 1px solid lightgray;
border-radius: 8px;
@@ -148,17 +157,17 @@ QLabel, QCheckBox {
margin-left: 20px;
}
#projectButton {
#sourceGroupButton {
background: white;
border-radius: 8px;
color: black;
font-size: 12px;
width: 7em;
height: 7em;
height: 8em;
margin-top: 10px;
}
#projectButton:hover, #projectButton:checked {
#sourceGroupButton:hover, #sourceGroupButton:checked {
background: #CFD2E0;
}
@@ -169,3 +178,62 @@ QLabel, QCheckBox {
color: black;
padding: 6px;
}
#project_menu {
border-left: 1px solid lightgray;
}
#project_menu QListWidget {
background: white;
border: none;
border-bottom: 1px solid lightgray;
border-left: 1px solid lightgray;
color: black;
font-size: 12px;
}
#project_menu QListWidget::item, #project_menu #general_button {
background: white;
border: none;
color: black;
margin-top: 5px;
padding: 3px 5px;
}
#project_menu #general_button {
margin-top: 10px;
font-size: 12px;
text-align: left;
border-left: 1px solid lightgray;
padding: 4px 10px;
}
#project_menu QLabel {
background: white;
font-weight: bold;
border: none;
color: black;
font-size: 12px;
margin-top: 5px;
padding: 3px 7px;
border-left: 1px solid lightgray;
}
#project_menu QListWidget::item:hover, #project_menu QListWidget::item:selected,
#project_menu #general_button:hover, #project_menu #general_button:checked {
background: #CFD2E0;
color: black;
}
#project_menu QListWidget::item:disabled, #project_menu #general_button:disabled {
background: white;
color: gray;
}
#project_menu #action_button {
background: white;
border: none;
color: white;
margin: 5px 5px 3px;
padding: 1px;
}
@@ -26,10 +26,13 @@
<scroll_speed><!-- DECIMAL: multiplier for default scroll speed in views --></scroll_speed>
<logging_enabled><!-- BOOL: define if console and file logging is enabled --></logging_enabled>
<graph_controls_visible><!-- BOOL: define if the graph controls are visible or collapsed --></graph_controls_visible>
</application>
<indexing>
<indexer_thread_count><!-- INTEGER: number of threads indexing the source code --></indexer_thread_count>
<multi_process_indexing><!-- BOOL: use different processes instead of threads during indexing --></multi_process_indexing>
<cxx>
<compiler_flags>
@@ -72,11 +75,13 @@
<check><!-- STRING: hashed path of the working directory used when entering the license key --></check>
<license><!-- STRING: the license key --></license>
</license>
<accepted_eula_version><!-- INTEGER: last accepted eula version --></accepted_eula_version>
</user>
<network>
<plugin_port><!-- INTEGER: port the plugin listens to, standard is 6666 --></plugin_port>
<coati_port><!-- INTEGER: port coati is listening to, standard is 6667 --></coati_port>
<sourcetrail_port><!-- INTEGER: port sourcetrail is listening to, standard is 6667 --></sourcetrail_port>
</network>
<controls>
@@ -1,34 +0,0 @@
<?xml version="1.0" encoding="utf-8" ?>
<config>
<info>
<description>
WHAT IS THIS?\n
\tJavaParser is an open-source Java project for parsing Java code and\n
\tgenerating an Abstract Syntax Tree (AST). Additionally it supports a\n
\tvisitor pattern to traverse the generated AST. For more information on\n
\tthis project please visit javaparser.org\n
\n
LET'S GET STARTED!\n
\tHave you ever wondered what a parser for a real programming language\n
\tmay look like? Go ahead and find out!\n
\n
\tIf you ask yourself where to start, click the symbol linked below.\n
\n
[com\ts\tp\tngithub\ts\tp\tnjavaparser\ts\tp\tnast\ts\tp\tnbody\ts\tp\tnClassOrInterfaceDeclaration\ts\tp] // &lt;- start here!\n\n
</description>
</info>
<language_settings>
<language>Java</language>
<standard>8</standard>
</language_settings>
<source>
<extensions>
<source_extensions>.java</source_extensions>
</extensions>
<source_paths>
<source_path>./src/main/java</source_path>
<source_path>./target/generated-sources/javacc</source_path>
</source_paths>
</source>
<version>1</version>
</config>
@@ -0,0 +1,32 @@
<?xml version="1.0" encoding="utf-8" ?>
<config>
<description>
WHAT IS THIS?\n
\tJavaParser is an open-source Java project for parsing Java code and\n
\tgenerating an Abstract Syntax Tree (AST). Additionally it supports a\n
\tvisitor pattern to traverse the generated AST. For more information on\n
\tthis project please visit javaparser.org\n
\n
LET'S GET STARTED!\n
\tHave you ever wondered what a parser for a real programming language\n
\tmay look like? Go ahead and find out!\n
\n
\tIf you ask yourself where to start, click the symbol linked below.\n
\n
[.\tmcom\ts\tp\tngithub\ts\tp\tnjavaparser\ts\tp\tnast\ts\tp\tnbody\ts\tp\tnClassOrInterfaceDeclaration\ts\tp] // &lt;- start here!\n\n
</description>
<source_groups>
<source_group_7a9e75fc-2cad-42d5-8c5b-c86d02f7b4e4>
<type>Java Source Group</type>
<source_extensions>
<source_extension>.java</source_extension>
</source_extensions>
<source_paths>
<source_path>./src/main/java</source_path>
<source_path>./target/generated-sources/javacc</source_path>
</source_paths>
<standard>8</standard>
</source_group_7a9e75fc-2cad-42d5-8c5b-c86d02f7b4e4>
</source_groups>
<version>4</version>
</config>
+3 -1
View File
@@ -1,7 +1,9 @@
#ifndef _FIELD_
#define _FIELD_
class Field {
#include "game_object.h"
class Field : public GameObject {
public:
enum Token {
None = 0,
@@ -0,0 +1,10 @@
#ifndef _GAME_OBJECT_
#define _GAME_OBJECT_
class GameObject {
public:
GameObject() {}
virtual ~GameObject() {}
};
#endif // _GAME_OBJECT_
+2 -1
View File
@@ -2,8 +2,9 @@
#define _PLAYER_
#include "field.h"
#include "game_object.h"
class Player {
class Player : public GameObject {
public:
Player( Field::Token token, const char* name );
virtual ~Player();
@@ -13,6 +13,7 @@ TicTacToe::~TicTacToe() {
Reset();
}
bool TicTacToe::Start() {
Reset();
io::stringOut("Tic Tac Toe\n\n[1] Human\n[2] Computer\n[3] Quit\n\n");
@@ -1,22 +0,0 @@
<?xml version="1.0" encoding="utf-8" ?>
<config>
<language_settings>
<language>C++</language>
<standard>c++1z</standard>
</language_settings>
<source>
<extensions>
<header_extensions>.h</header_extensions>
<header_extensions>.hpp</header_extensions>
<source_extensions>.cpp</source_extensions>
<source_extensions>.cxx</source_extensions>
<source_extensions>.cc</source_extensions>
<source_extensions>.c</source_extensions>
</extensions>
<source_paths>
<source_path>./src</source_path>
</source_paths>
<use_source_paths_for_header_search>0</use_source_paths_for_header_search>
</source>
<version>1</version>
</config>
@@ -0,0 +1,20 @@
<?xml version="1.0" encoding="utf-8" ?>
<config>
<source_groups>
<source_group_afdfade2-4b42-49a6-961a-d4a563f2cf84>
<name>C++ Source Group</name>
<source_extensions>
<source_extension>.cpp</source_extension>
<source_extension>.cxx</source_extension>
<source_extension>.cc</source_extension>
<source_extension>.c</source_extension>
</source_extensions>
<source_paths>
<source_path>./src</source_path>
</source_paths>
<standard>c++1z</standard>
<type>C++ Source Group</type>
</source_group_afdfade2-4b42-49a6-961a-d4a563f2cf84>
</source_groups>
<version>4</version>
</config>
@@ -43,7 +43,7 @@ void deep_thought()
//------------------------------------------------------------------------------
//
// 2 - CONTEXT
// We just talked about Coati providing context to the important lines of code.
// We just talked about Sourcetrail providing context to the important lines of code.
// But it feels like something is missing here. What is "the_question"? And
// where does it come from?
//
@@ -51,7 +51,7 @@ void deep_thought()
// Do you see the first line of this snippet? I mean the one that has just two
// dots as line number and reads "deep_thought". Actually that's the name of
// the function's scope that encapsulates the snippet. By clicking that line
// you can tell Coati to expand the view to show the entire scope.
// you can tell Sourcetrail to expand the view to show the entire scope.
// Give it a try!
//
//------------------------------------------------------------------------------
@@ -32,16 +32,16 @@ void function_with_snippets()
//------------------------------------------------------------------------------
//
// 8 - YOU FOUND THE HIDDEN COMMENT
// Well done! As you see Coati merged the two snippets from before because
// Well done! As you see Sourcetrail merged the two snippets from before because
// expanding a scope would have caused them to overlap. That's all for the code
// view tutorial.
//
// 9 - EDIT YOUR CODE
// In case you wondered if you can edit your code using Coati: You can't. Coati
// In case you wondered if you can edit your code using Sourcetrail: You can't. Sourcetrail
// is designed for code exploration, not as a text editor or an IDE. But there
// is a chance that Coati can talk to your favorite editor (that you already
// is a chance that Sourcetrail can talk to your favorite editor (that you already
// know how to operate) via plugin. For more information about available
// plugins please take a look at Coati's documentation.
// plugins please take a look at Sourcetrail's documentation.
//
// We hope you enjoyed this tutorial. You can follow the call below to get back
// to the central hub.
@@ -8,7 +8,7 @@
//------------------------------------------------------------------------------
//
// 1 - THE GRAPH TUTORIAL
// In Coati's default window layout the graph is shown to the left, next to the
// In Sourcetrail's default window layout the graph is shown to the left, next to the
// code. It displays the structure of your project where all named symbols are
// nodes and all relations are edges. Like the code view it shows only the
// currently active symbol and all the incoming and outgoing dependencies.
@@ -10,7 +10,7 @@
// 3 - WELL DONE
// You activated a node and both, the graph and the code view have been updated
// accordingly.
// Note that even though Coati provides a graph view it does not remove the
// Note that even though Sourcetrail provides a graph view it does not remove the
// need for reading code. The graph view is great for gaining a quick overview
// on relations and navigating code, but once you found something you are
// interested in you should still consider the code view to actually read up on
@@ -38,7 +38,7 @@ public:
{
}
void coati_uses_different_colors()
void sourcetrail_uses_different_colors()
{
}
@@ -8,28 +8,37 @@
class ProducerOfTheLastMember
{
public:
void go()
{
ClassWithHiddenMembers::this_last_member = 42;
}
void on()
void in()
{
ClassWithHiddenMembers::this_last_member++;
}
//------------------------------------------------------------------------------
//
// 6 - FOCUSING EDGES
// Even though Coati doesn't allow to activate an edge, you can still focus on
// edges. This doesn't change the currently active symbol (which would cause
// Coati to hide everything but the edge). Instead Coati just highlights the
// relation's location in the code and scrolls you there, so you don't lose
// context.
// Try to activate an edge that comes from the "ConsumerOfTheLastMember" class.
// Which one you pick doesn't really matter for this tutorial.
// 7 - THAT'S IT
// You completed the tutorial on the graph view. There is still more to learn
// but I guess you will figure it out on your own. One last thing: If you see
// an element with a hatched background please call us. It's a runaway!
// Just kidding. Those are elements that are used within your code, but have no
// definition anywhere in your source folder (like the "int" symbol on the
// right hand side of the graph). So if you click them, Sourcetrail will display
// all the relations for the element, but the code view won't show a
// definition. If you want to learn more about Sourcetrail, go back to the central
// hub. It is called in the function below but you can also try to get there
// using only the graph.
//
//------------------------------------------------------------------------------
void reading()
private:
void the()
{
if (ClassWithHiddenMembers::this_last_member <= 0);
{
the_central_hub();
}
}
void codeview()
{
ClassWithHiddenMembers::this_last_member *= 2;
}
@@ -9,37 +9,28 @@
class ConsumerOfTheLastMember
{
public:
void in()
void go()
{
ClassWithHiddenMembers::this_last_member = 42;
}
void on()
{
ClassWithHiddenMembers::this_last_member--;
}
//------------------------------------------------------------------------------
//
// 7 - THAT'S IT
// You completed the tutorial on the graph view. There is still more to learn
// but I guess you will figure it out on your own. One last thing: If you see
// an element with a hatched background please call us. It's a runaway!
// Just kidding. Those are elements that are used within your code, but have no
// definition anywhere in your source folder (like the "int" symbol on the
// right hand side of the graph). So if you click them, Coati will display
// all the relations for the element, but the code view won't show a
// definition. If you want to learn more about Coati, go back to the central
// hub. It is called in the function below but you can also try to get there
// using only the graph.
// 6 - FOCUSING EDGES
// Even though Sourcetrail doesn't allow to activate an edge, you can still focus on
// edges. This doesn't change the currently active symbol (which would cause
// Sourcetrail to hide everything but the edge). Instead Sourcetrail just highlights the
// relation's location in the code and scrolls you there, so you don't lose
// context.
// Try to activate an edge that comes from the "ProducerOfTheLastMember" class.
// Which one you pick doesn't really matter for this tutorial.
//
//------------------------------------------------------------------------------
private:
void the()
{
if (ClassWithHiddenMembers::this_last_member <= 0);
{
the_central_hub();
}
}
void codeview()
void reading()
{
ClassWithHiddenMembers::this_last_member /= 2;
}
@@ -8,19 +8,19 @@
//------------------------------------------------------------------------------
//
// WHAT JUST HAPPENED?
// Coati uses the concept of an "active" symbol. You just changed the active
// Sourcetrail uses the concept of an "active" symbol. You just changed the active
// symbol by clicking on the name of a function.
//
// OK, BUT WHAT IS AN ACTIVE SYMBOL?
// Coati doesn't show your entire code base on a single screen. Even for
// Sourcetrail doesn't show your entire code base on a single screen. Even for
// relatively small projects that would be pointless - trust me on that. So
// instead of showing everything at once, Coati keeps a strongly focused view
// instead of showing everything at once, Sourcetrail keeps a strongly focused view
// on your code. This focus only includes the currently active symbol and its
// direct relations. Nothing more. By changing the active symbol as you just
// did, Coati allows you to jump through the code base on your own.
// did, Sourcetrail allows you to jump through the code base on your own.
//
// I THINK I GOT IT!
// Now that you understand Coati's central concept you are ready to activate
// Now that you understand Sourcetrail's central concept you are ready to activate
// the "my_next_step()" symbol below.
//
//------------------------------------------------------------------------------
@@ -9,7 +9,7 @@
//
// 1 - THE SEARCH TUTORIAL
// If you haven't messed up anything yet, you'll find the search bar to the
// upper left of Coati's user interface. Initially it shows the name of the
// upper left of Sourcetrail's user interface. Initially it shows the name of the
// currently active symbol.
// Use the shortcut "CTRL/CMD + F" to focus the search bar. You can also just
// click it. Try that now and enter the string "find_me_if_you_can" to search
@@ -9,10 +9,10 @@
//
// 2 - THE AUTOCOMPLETION
// I hope you have been lazy enough to not enter the whole string from start to
// finish. So you already noticed Coati's autocompletion box.
// While you enter your search request Coati already tries to find a subset of
// finish. So you already noticed Sourcetrail's autocompletion box.
// While you enter your search request Sourcetrail already tries to find a subset of
// matching symbols to help you get where you want pretty fast.
// But that's not all Coati does. Keep an eye on the search bar while entering
// But that's not all Sourcetrail does. Keep an eye on the search bar while entering
// the string "aux" and activate the symbol showing up.
//
//------------------------------------------------------------------------------
@@ -13,10 +13,10 @@
// Here comes the bad news: Even though this tutorial contains some code that
// would compile, the code doesn't make much sense. So trying to explore this
// project any further would be rather unproductive.
// The good news is: In addition to this tutorial Coati also ships with a real
// The good news is: In addition to this tutorial Sourcetrail also ships with a real
// example project that implements the game Tic-Tac-Toe! You can open the
// project via the "Project -> Recent Projects" menu.
// You can also start exploring your own projects by creating a new Coati
// You can also start exploring your own projects by creating a new Sourcetrail
// project where you can add all your source and include paths.
//
//------------------------------------------------------------------------------
@@ -11,9 +11,9 @@
//------------------------------------------------------------------------------
//
// THE HUB
// This is the central hub of Coati's tutorial. From here you can embark on
// short trips to explore the different parts of Coati. Most important: You
// will get to know how all the different parts of Coati interact.
// This is the central hub of Sourcetrail's tutorial. From here you can embark on
// short trips to explore the different parts of Sourcetrail. Most important: You
// will get to know how all the different parts of Sourcetrail interact.
// The function below references all the available tutorials. So pick one and
// jump right to action.
//
@@ -1,34 +0,0 @@
<?xml version="1.0" encoding="utf-8" ?>
<config>
<info>
<description>
WHAT IS THIS?\n
\tThis is a tutorial and it is one of the fastest ways to get to know Coati.\n
\n
WHERE AM I?\n
\tYou're looking at Coati's Code View which usually displays source code,\n
\tbut every time a new project is loaded it gives a quick summary to\n
\testimate the project's size. This is a fairly small project. It only\n
\tcontains a few hundred lines of code as you can see by the numbers below.\n
\n
LET'S GET STARTED!\n
\tTo keep things simple just click the "main" symbol below to start the tour.\n
\n
[main\tsint\tp()](); // &lt;- start here\n\n
</description>
</info>
<language_settings>
<language>C++</language>
<standard>c++1z</standard>
</language_settings>
<source>
<extensions>
<header_extensions>.h</header_extensions>
<source_extensions>.cpp</source_extensions>
</extensions>
<source_paths>
<source_path>./src</source_path>
</source_paths>
</source>
<version>1</version>
</config>
@@ -0,0 +1,31 @@
<?xml version="1.0" encoding="utf-8" ?>
<config>
<description>
WHAT IS THIS?\n
\tThis is a tutorial and it is one of the fastest ways to get to know Sourcetrail.\n
\n
WHERE AM I?\n
\tYou're looking at Sourcetrail's Code View which usually displays source code,\n
\tbut every time a new project is loaded it gives a quick summary to\n
\testimate the project's size. This is a fairly small project. It only\n
\tcontains a few hundred lines of code as you can see by the numbers below.\n
\n
LET'S GET STARTED!\n
\tTo keep things simple just click the "main" symbol below to start the tour.\n
\n
[::\tmmain\tsint\tp()](); // &lt;- start here\n\n
</description>
<source_groups>
<source_group_75041cb3-37c8-45c6-bb8a-1b8b79040f59>
<type>C++ Source Group</type>
<source_extensions>
<source_extension>.cpp</source_extension>
</source_extensions>
<source_paths>
<source_path>./src</source_path>
</source_paths>
<standard>c++1z</standard>
</source_group_75041cb3-37c8-45c6-bb8a-1b8b79040f59>
</source_groups>
<version>4</version>
</config>
+12 -10
View File
@@ -5,15 +5,17 @@
<Float>3.1416</Float>
<String>Hello World!</String>
<source>
<source_paths>
<source_path>data</source_path>
</source_paths>
<header_search_paths>
<header_search_path>data/</header_search_path>
<header_search_path>src/</header_search_path>
</header_search_paths>
</source>
<source_groups>
<source_group_77438437-02db-4207-8bbf-75c627d53b89>
<type>C++ Source Group</type>
<source_paths>
<source_path>data</source_path>
</source_paths>
<header_search_paths>
<header_search_path>data/</header_search_path>
<header_search_path>src/</header_search_path>
</header_search_paths>
</source_group_77438437-02db-4207-8bbf-75c627d53b89>
</source_groups>
</config>
+3 -2
View File
@@ -21,14 +21,15 @@ NetworkProtocolHelper.cpp ERROR: Failed to parse message, invalid type token: fo
NetworkProtocolHelper.cpp ERROR: Failed to parse setActiveToken message, invalid token count
Settings.cpp WARNING: File for Settings not found: data/SettingsTestSuite/wrong_settings.xml
Settings.cpp WARNING: File for Settings not found: data/SettingsTestSuite/wrong_settings.xml
SourceLocationCollection.cpp ERROR: SourceLocation has wrong boundaries: file.c 2:3 2:1
SourceLocationCollection.cpp ERROR: SourceLocation has wrong boundaries: file.c 4:1 1:10
TextAccess.cpp ERROR: Could not open file path/to/test.h
TextAccess.cpp WARNING: Index 'firstLine' has to be lower or equal index 'lastLine', is 3 > 2
TextAccess.cpp WARNING: Tried to access index 10. Maximum index is 8
TextAccess.cpp WARNING: Tried to access index 10. Maximum index is 8
TextAccess.cpp WARNING: Line numbers start with one, is 0
TextAccess.cpp WARNING: Line numbers start with one, is 0
TokenLocationCollection.cpp ERROR: TokenLocation has wrong boundaries: file.c 2:3 2:1
TokenLocationCollection.cpp ERROR: TokenLocation has wrong boundaries: file.c 4:1 1:10
INFO: Indexer - indexing source file: input.cc
INFO: Indexer - indexing source file: input.cc
INFO: Indexer - indexing source file: input.cc
INFO: Indexer - indexing source file: input.cc
File diff suppressed because one or more lines are too long
@@ -1,143 +0,0 @@
Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio 2013
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "ALL_BUILD", "ALL_BUILD.vcxproj", "{DA1883F0-4E0B-4AFF-9F5F-CE775864A478}"
ProjectSection(ProjectDependencies) = postProject
{1F32D55F-217E-4DA3-9FC7-6D6928AAB0DE} = {1F32D55F-217E-4DA3-9FC7-6D6928AAB0DE}
{4C93DA19-9044-4CC2-B882-8BE3179BBC1B} = {4C93DA19-9044-4CC2-B882-8BE3179BBC1B}
{CD5FE56F-D1AC-484E-9C6F-A36E77775749} = {CD5FE56F-D1AC-484E-9C6F-A36E77775749}
{59DBE515-BC0B-4FA1-9884-66C42732BAD1} = {59DBE515-BC0B-4FA1-9884-66C42732BAD1}
{FFEFE870-CA3B-41FB-8F26-808556BADFEC} = {FFEFE870-CA3B-41FB-8F26-808556BADFEC}
{DCB116BC-2AB9-40CC-969F-F282CB18F370} = {DCB116BC-2AB9-40CC-969F-F282CB18F370}
{1ED030FB-B3D6-42D3-A1A0-265176C455DB} = {1ED030FB-B3D6-42D3-A1A0-265176C455DB}
{B5918FF6-3CD0-4CB2-9DDB-456F7318CD36} = {B5918FF6-3CD0-4CB2-9DDB-456F7318CD36}
EndProjectSection
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Coati", "Coati.vcxproj", "{1F32D55F-217E-4DA3-9FC7-6D6928AAB0DE}"
ProjectSection(ProjectDependencies) = postProject
{4C93DA19-9044-4CC2-B882-8BE3179BBC1B} = {4C93DA19-9044-4CC2-B882-8BE3179BBC1B}
{CD5FE56F-D1AC-484E-9C6F-A36E77775749} = {CD5FE56F-D1AC-484E-9C6F-A36E77775749}
{59DBE515-BC0B-4FA1-9884-66C42732BAD1} = {59DBE515-BC0B-4FA1-9884-66C42732BAD1}
{1ED030FB-B3D6-42D3-A1A0-265176C455DB} = {1ED030FB-B3D6-42D3-A1A0-265176C455DB}
EndProjectSection
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Coati_lib", "Coati_lib.vcxproj", "{4C93DA19-9044-4CC2-B882-8BE3179BBC1B}"
ProjectSection(ProjectDependencies) = postProject
{1ED030FB-B3D6-42D3-A1A0-265176C455DB} = {1ED030FB-B3D6-42D3-A1A0-265176C455DB}
EndProjectSection
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Coati_lib_gui", "Coati_lib_gui.vcxproj", "{CD5FE56F-D1AC-484E-9C6F-A36E77775749}"
ProjectSection(ProjectDependencies) = postProject
{1ED030FB-B3D6-42D3-A1A0-265176C455DB} = {1ED030FB-B3D6-42D3-A1A0-265176C455DB}
{B5918FF6-3CD0-4CB2-9DDB-456F7318CD36} = {B5918FF6-3CD0-4CB2-9DDB-456F7318CD36}
EndProjectSection
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Coati_lib_parser", "Coati_lib_parser.vcxproj", "{59DBE515-BC0B-4FA1-9884-66C42732BAD1}"
ProjectSection(ProjectDependencies) = postProject
{1ED030FB-B3D6-42D3-A1A0-265176C455DB} = {1ED030FB-B3D6-42D3-A1A0-265176C455DB}
EndProjectSection
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Coati_test", "Coati_test.vcxproj", "{FFEFE870-CA3B-41FB-8F26-808556BADFEC}"
ProjectSection(ProjectDependencies) = postProject
{4C93DA19-9044-4CC2-B882-8BE3179BBC1B} = {4C93DA19-9044-4CC2-B882-8BE3179BBC1B}
{59DBE515-BC0B-4FA1-9884-66C42732BAD1} = {59DBE515-BC0B-4FA1-9884-66C42732BAD1}
{1ED030FB-B3D6-42D3-A1A0-265176C455DB} = {1ED030FB-B3D6-42D3-A1A0-265176C455DB}
EndProjectSection
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Coati_trial", "Coati_trial.vcxproj", "{DCB116BC-2AB9-40CC-969F-F282CB18F370}"
ProjectSection(ProjectDependencies) = postProject
{4C93DA19-9044-4CC2-B882-8BE3179BBC1B} = {4C93DA19-9044-4CC2-B882-8BE3179BBC1B}
{CD5FE56F-D1AC-484E-9C6F-A36E77775749} = {CD5FE56F-D1AC-484E-9C6F-A36E77775749}
{1ED030FB-B3D6-42D3-A1A0-265176C455DB} = {1ED030FB-B3D6-42D3-A1A0-265176C455DB}
EndProjectSection
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "ZERO_CHECK", "ZERO_CHECK.vcxproj", "{1ED030FB-B3D6-42D3-A1A0-265176C455DB}"
ProjectSection(ProjectDependencies) = postProject
EndProjectSection
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "versionnumber", "versionnumber.vcxproj", "{B5918FF6-3CD0-4CB2-9DDB-456F7318CD36}"
ProjectSection(ProjectDependencies) = postProject
{1ED030FB-B3D6-42D3-A1A0-265176C455DB} = {1ED030FB-B3D6-42D3-A1A0-265176C455DB}
EndProjectSection
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Win32 = Debug|Win32
Release|Win32 = Release|Win32
MinSizeRel|Win32 = MinSizeRel|Win32
RelWithDebInfo|Win32 = RelWithDebInfo|Win32
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{DA1883F0-4E0B-4AFF-9F5F-CE775864A478}.Debug|Win32.ActiveCfg = Debug|Win32
{DA1883F0-4E0B-4AFF-9F5F-CE775864A478}.Release|Win32.ActiveCfg = Release|Win32
{DA1883F0-4E0B-4AFF-9F5F-CE775864A478}.MinSizeRel|Win32.ActiveCfg = MinSizeRel|Win32
{DA1883F0-4E0B-4AFF-9F5F-CE775864A478}.RelWithDebInfo|Win32.ActiveCfg = RelWithDebInfo|Win32
{1F32D55F-217E-4DA3-9FC7-6D6928AAB0DE}.Debug|Win32.ActiveCfg = Debug|Win32
{1F32D55F-217E-4DA3-9FC7-6D6928AAB0DE}.Debug|Win32.Build.0 = Debug|Win32
{1F32D55F-217E-4DA3-9FC7-6D6928AAB0DE}.Release|Win32.ActiveCfg = Release|Win32
{1F32D55F-217E-4DA3-9FC7-6D6928AAB0DE}.Release|Win32.Build.0 = Release|Win32
{1F32D55F-217E-4DA3-9FC7-6D6928AAB0DE}.MinSizeRel|Win32.ActiveCfg = MinSizeRel|Win32
{1F32D55F-217E-4DA3-9FC7-6D6928AAB0DE}.MinSizeRel|Win32.Build.0 = MinSizeRel|Win32
{1F32D55F-217E-4DA3-9FC7-6D6928AAB0DE}.RelWithDebInfo|Win32.ActiveCfg = RelWithDebInfo|Win32
{1F32D55F-217E-4DA3-9FC7-6D6928AAB0DE}.RelWithDebInfo|Win32.Build.0 = RelWithDebInfo|Win32
{4C93DA19-9044-4CC2-B882-8BE3179BBC1B}.Debug|Win32.ActiveCfg = Debug|Win32
{4C93DA19-9044-4CC2-B882-8BE3179BBC1B}.Debug|Win32.Build.0 = Debug|Win32
{4C93DA19-9044-4CC2-B882-8BE3179BBC1B}.Release|Win32.ActiveCfg = Release|Win32
{4C93DA19-9044-4CC2-B882-8BE3179BBC1B}.Release|Win32.Build.0 = Release|Win32
{4C93DA19-9044-4CC2-B882-8BE3179BBC1B}.MinSizeRel|Win32.ActiveCfg = MinSizeRel|Win32
{4C93DA19-9044-4CC2-B882-8BE3179BBC1B}.MinSizeRel|Win32.Build.0 = MinSizeRel|Win32
{4C93DA19-9044-4CC2-B882-8BE3179BBC1B}.RelWithDebInfo|Win32.ActiveCfg = RelWithDebInfo|Win32
{4C93DA19-9044-4CC2-B882-8BE3179BBC1B}.RelWithDebInfo|Win32.Build.0 = RelWithDebInfo|Win32
{CD5FE56F-D1AC-484E-9C6F-A36E77775749}.Debug|Win32.ActiveCfg = Debug|Win32
{CD5FE56F-D1AC-484E-9C6F-A36E77775749}.Debug|Win32.Build.0 = Debug|Win32
{CD5FE56F-D1AC-484E-9C6F-A36E77775749}.Release|Win32.ActiveCfg = Release|Win32
{CD5FE56F-D1AC-484E-9C6F-A36E77775749}.Release|Win32.Build.0 = Release|Win32
{CD5FE56F-D1AC-484E-9C6F-A36E77775749}.MinSizeRel|Win32.ActiveCfg = MinSizeRel|Win32
{CD5FE56F-D1AC-484E-9C6F-A36E77775749}.MinSizeRel|Win32.Build.0 = MinSizeRel|Win32
{CD5FE56F-D1AC-484E-9C6F-A36E77775749}.RelWithDebInfo|Win32.ActiveCfg = RelWithDebInfo|Win32
{CD5FE56F-D1AC-484E-9C6F-A36E77775749}.RelWithDebInfo|Win32.Build.0 = RelWithDebInfo|Win32
{59DBE515-BC0B-4FA1-9884-66C42732BAD1}.Debug|Win32.ActiveCfg = Debug|Win32
{59DBE515-BC0B-4FA1-9884-66C42732BAD1}.Debug|Win32.Build.0 = Debug|Win32
{59DBE515-BC0B-4FA1-9884-66C42732BAD1}.Release|Win32.ActiveCfg = Release|Win32
{59DBE515-BC0B-4FA1-9884-66C42732BAD1}.Release|Win32.Build.0 = Release|Win32
{59DBE515-BC0B-4FA1-9884-66C42732BAD1}.MinSizeRel|Win32.ActiveCfg = MinSizeRel|Win32
{59DBE515-BC0B-4FA1-9884-66C42732BAD1}.MinSizeRel|Win32.Build.0 = MinSizeRel|Win32
{59DBE515-BC0B-4FA1-9884-66C42732BAD1}.RelWithDebInfo|Win32.ActiveCfg = RelWithDebInfo|Win32
{59DBE515-BC0B-4FA1-9884-66C42732BAD1}.RelWithDebInfo|Win32.Build.0 = RelWithDebInfo|Win32
{FFEFE870-CA3B-41FB-8F26-808556BADFEC}.Debug|Win32.ActiveCfg = Debug|Win32
{FFEFE870-CA3B-41FB-8F26-808556BADFEC}.Debug|Win32.Build.0 = Debug|Win32
{FFEFE870-CA3B-41FB-8F26-808556BADFEC}.Release|Win32.ActiveCfg = Release|Win32
{FFEFE870-CA3B-41FB-8F26-808556BADFEC}.Release|Win32.Build.0 = Release|Win32
{FFEFE870-CA3B-41FB-8F26-808556BADFEC}.MinSizeRel|Win32.ActiveCfg = MinSizeRel|Win32
{FFEFE870-CA3B-41FB-8F26-808556BADFEC}.MinSizeRel|Win32.Build.0 = MinSizeRel|Win32
{FFEFE870-CA3B-41FB-8F26-808556BADFEC}.RelWithDebInfo|Win32.ActiveCfg = RelWithDebInfo|Win32
{FFEFE870-CA3B-41FB-8F26-808556BADFEC}.RelWithDebInfo|Win32.Build.0 = RelWithDebInfo|Win32
{DCB116BC-2AB9-40CC-969F-F282CB18F370}.Debug|Win32.ActiveCfg = Debug|Win32
{DCB116BC-2AB9-40CC-969F-F282CB18F370}.Debug|Win32.Build.0 = Debug|Win32
{DCB116BC-2AB9-40CC-969F-F282CB18F370}.Release|Win32.ActiveCfg = Release|Win32
{DCB116BC-2AB9-40CC-969F-F282CB18F370}.Release|Win32.Build.0 = Release|Win32
{DCB116BC-2AB9-40CC-969F-F282CB18F370}.MinSizeRel|Win32.ActiveCfg = MinSizeRel|Win32
{DCB116BC-2AB9-40CC-969F-F282CB18F370}.MinSizeRel|Win32.Build.0 = MinSizeRel|Win32
{DCB116BC-2AB9-40CC-969F-F282CB18F370}.RelWithDebInfo|Win32.ActiveCfg = RelWithDebInfo|Win32
{DCB116BC-2AB9-40CC-969F-F282CB18F370}.RelWithDebInfo|Win32.Build.0 = RelWithDebInfo|Win32
{1ED030FB-B3D6-42D3-A1A0-265176C455DB}.Debug|Win32.ActiveCfg = Debug|Win32
{1ED030FB-B3D6-42D3-A1A0-265176C455DB}.Debug|Win32.Build.0 = Debug|Win32
{1ED030FB-B3D6-42D3-A1A0-265176C455DB}.Release|Win32.ActiveCfg = Release|Win32
{1ED030FB-B3D6-42D3-A1A0-265176C455DB}.Release|Win32.Build.0 = Release|Win32
{1ED030FB-B3D6-42D3-A1A0-265176C455DB}.MinSizeRel|Win32.ActiveCfg = MinSizeRel|Win32
{1ED030FB-B3D6-42D3-A1A0-265176C455DB}.MinSizeRel|Win32.Build.0 = MinSizeRel|Win32
{1ED030FB-B3D6-42D3-A1A0-265176C455DB}.RelWithDebInfo|Win32.ActiveCfg = RelWithDebInfo|Win32
{1ED030FB-B3D6-42D3-A1A0-265176C455DB}.RelWithDebInfo|Win32.Build.0 = RelWithDebInfo|Win32
{B5918FF6-3CD0-4CB2-9DDB-456F7318CD36}.Debug|Win32.ActiveCfg = Debug|Win32
{B5918FF6-3CD0-4CB2-9DDB-456F7318CD36}.Debug|Win32.Build.0 = Debug|Win32
{B5918FF6-3CD0-4CB2-9DDB-456F7318CD36}.Release|Win32.ActiveCfg = Release|Win32
{B5918FF6-3CD0-4CB2-9DDB-456F7318CD36}.Release|Win32.Build.0 = Release|Win32
{B5918FF6-3CD0-4CB2-9DDB-456F7318CD36}.MinSizeRel|Win32.ActiveCfg = MinSizeRel|Win32
{B5918FF6-3CD0-4CB2-9DDB-456F7318CD36}.MinSizeRel|Win32.Build.0 = MinSizeRel|Win32
{B5918FF6-3CD0-4CB2-9DDB-456F7318CD36}.RelWithDebInfo|Win32.ActiveCfg = RelWithDebInfo|Win32
{B5918FF6-3CD0-4CB2-9DDB-456F7318CD36}.RelWithDebInfo|Win32.Build.0 = RelWithDebInfo|Win32
EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
EndGlobalSection
GlobalSection(ExtensibilityAddIns) = postSolution
EndGlobalSection
EndGlobal
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
+1
View File
@@ -21,6 +21,7 @@ if (UNIX AND NOT APPLE)
LLVMCONFIG
llvm-config
PATHS "${CLANG_BUILD_PATH}/bin"
HINTS "${CLANG_BUILD_PATH}/bin"
)
execute_process(
COMMAND ${LLVMCONFIG} --cxxflags
+10
View File
@@ -0,0 +1,10 @@
#ifndef PRIVATE_KEY_H
#define PRIVATE_KEY_H
// This File(PrivateKey.h) is generated with CMake
#include <string>
const std::string PRIVATE_KEY = "@KEY@";
#endif // PRIVATE_KEY_H
+1 -1
View File
@@ -5,6 +5,6 @@
#include <string>
static const std::string PublicKey = "@KEY@";
const std::string PUBLIC_KEY = "@KEY@";
#endif // PUBLIC_KEY_H
+1 -1
View File
@@ -7,7 +7,7 @@ execute_process(
OUTPUT_STRIP_TRAILING_WHITESPACE
)
set(EXTERNAL_ROOT "${CMAKE_CURRENT_SOURCE_DIR}/../Coati_External")
set(EXTERNAL_ROOT "${CMAKE_CURRENT_SOURCE_DIR}/../Sourcetrail_External")
set(EXTERNAL_SRC "${EXTERNAL_ROOT}/src")
if ("${CMAKE_BUILD_TYPE}" STREQUAL "Debug")
set(EXTERNAL_BUILD "${EXTERNAL_ROOT}/${SYSSTRING}/Debug")
@@ -3,7 +3,7 @@ function(InstallQtModule module qtversion componentName)
get_filename_component(realpath $ENV{QT_DIR}/lib/libQt5${module}.so.${qtversion} REALPATH)
INSTALL(FILES
${realpath}
DESTINATION Coati/lib
DESTINATION Sourcetrail/lib
COMPONENT ${componentName}
RENAME libQt5${module}.so.${qtversion}
)
@@ -26,7 +26,7 @@ function(GetAndInstallLibrary libraryName componentName)
else()
INSTALL(FILES
${realPath}
DESTINATION Coati/lib
DESTINATION Sourcetrail/lib
COMPONENT ${componentName}
RENAME ${SHORTER}
)
@@ -45,7 +45,7 @@ endfunction(InstallQt)
function(AddSharedToComponent componentName)
INSTALL(DIRECTORY
${CMAKE_SOURCE_DIR}/bin/app/data
DESTINATION Coati
DESTINATION Sourcetrail
COMPONENT ${componentName}
PATTERN "log/*" EXCLUDE
PATTERN "data/src" EXCLUDE
@@ -59,7 +59,7 @@ function(AddSharedToComponent componentName)
INSTALL(FILES
${CMAKE_SOURCE_DIR}/bin/app/data/gui/installer/EULA.txt
COMPONENT ${componentName}
DESTINATION Coati
DESTINATION Sourcetrail
)
InstallQt(5 ${componentName})
@@ -73,7 +73,6 @@ function(AddSharedToComponent componentName)
GetAndInstallLibrary(libselinux.so ${componentName})
GetAndInstallLibrary(libXrender.so ${componentName})
#GetAndInstallLibrary(libstdc++.so ${componentName})
GetAndInstallLibrary(libX11-xcb.so ${componentName})
GetAndInstallLibrary(libXi.so ${componentName})
GetAndInstallLibrary(libxcb.so ${componentName})
@@ -99,24 +98,12 @@ function(AddSharedToComponent componentName)
INSTALL(DIRECTORY
$ENV{QT_DIR}/plugins/platforms
DESTINATION Coati/lib
DESTINATION Sourcetrail/lib
COMPONENT ${componentName}
)
INSTALL(FILES
${CMAKE_SOURCE_DIR}/bin/app/data/fallback/ApplicationSettings.xml
COMPONENT ${componentName}
DESTINATION Coati/user
)
INSTALL(FILES
${CMAKE_SOURCE_DIR}/bin/app/data/fallback/window_settings.ini
COMPONENT ${componentName}
DESTINATION Coati/user
)
INSTALL(DIRECTORY ${CMAKE_SOURCE_DIR}/bin/app/user
DESTINATION Coati
DESTINATION Sourcetrail
COMPONENT ${componentName}
PATTERN "ApplicationSettings.xml" EXCLUDE
PATTERN "ApplicationSettings_for_package.xml" EXCLUDE
@@ -132,41 +119,58 @@ AddSharedToComponent(FULL)
INSTALL(DIRECTORY
${CMAKE_SOURCE_DIR}/ide_plugins/
DESTINATION Coati/plugin
DESTINATION Sourcetrail/plugin
COMPONENT FULL
PATTERN "vs" EXCLUDE
)
INSTALL(FILES
${CMAKE_SOURCE_DIR}/setup/Linux/README
DESTINATION Coati
INSTALL(DIRECTORY
${CMAKE_BINARY_DIR}/share
DESTINATION Sourcetrail/setup
COMPONENT FULL
)
INSTALL(FILES
${CMAKE_SOURCE_DIR}/setup/Linux/coati.desktop
${CMAKE_SOURCE_DIR}/setup/Linux/coati-mime.xml
DESTINATION Coati/setup
${CMAKE_SOURCE_DIR}/setup/Linux/README
DESTINATION Sourcetrail
COMPONENT FULL
)
)
INSTALL(FILES
${CMAKE_SOURCE_DIR}/setup/Linux/sourcetrail-mime.xml
DESTINATION Sourcetrail/setup/share/mime/packages
COMPONENT FULL
)
INSTALL(FILES
${CMAKE_SOURCE_DIR}/setup/Linux/sourcetrail.desktop
DESTINATION Sourcetrail/setup/share/applications
COMPONENT FULL
)
INSTALL(PROGRAMS
${CMAKE_SOURCE_DIR}/setup/Linux/install.sh
${CMAKE_SOURCE_DIR}/setup/Linux/deinstall.sh
${CMAKE_SOURCE_DIR}/setup/Linux/removeConfigs.sh
DESTINATION Coati/setup
DESTINATION Sourcetrail/setup
COMPONENT FULL
)
INSTALL(PROGRAMS
${CMAKE_SOURCE_DIR}/setup/Linux/Coati.sh
DESTINATION Coati
${CMAKE_SOURCE_DIR}/setup/Linux/Sourcetrail.sh
DESTINATION Sourcetrail
COMPONENT FULL
)
INSTALL(TARGETS
${APP_PROJECT_NAME}
DESTINATION Coati
DESTINATION Sourcetrail
COMPONENT FULL
)
INSTALL(TARGETS
${APP_INDEXER_NAME}
DESTINATION Sourcetrail
COMPONENT FULL
)
@@ -188,17 +192,21 @@ else()
set(VERSION_NUMBER "${VERSION_MAJOR}_${VERSION_MINOR}_${VERSION_COMMIT}")
endif()
SET(CPACK_PACKAGE_NAME "Coati")
SET(CPACK_PACKAGE_NAME "Sourcetrail")
SET(CPACK_PACKAGING_INSTALL_PREFIX "")
SET(CPACK_INCLUDE_TOPLEVEL_DIRECTORY 0)
#SET(CPACK_TOPLEVEL_TAG "Coati")
SET(CPACK_PACKAGING_INSTALL_DIRECTORY "Coati")
#SET(CPACK_TOPLEVEL_TAG "Sourcetrail")
SET(CPACK_PACKAGING_INSTALL_DIRECTORY "Sourcetrail")
SET(CPACK_PACKAGE_VERSION ${VERSION_NUMBER})
SET(CPACK_PACKAGE_VENDOR "Coati Software")
SET(CPACK_INSTALL_SCRIPT "${CMAKE_SOURCE_DIR}/cmake/pre_install_linux.cmake")
SET(CPACK_SYSTEM_NAME "${CMAKE_SYSTEM_NAME}_${CMAKE_SYSTEM_PROCESSOR}")
SET(CPACK_PACKAGE_FILE_NAME "Coati_${VERSION_NUMBER}_${CPACK_SYSTEM_NAME}")
SET(CPACK_STRIP_FILES "Coati/coati")
if(${CMAKE_SYSTEM_PROCESSOR} STREQUAL "x86_64")
SET(CPACK_SYSTEM_NAME "${CMAKE_SYSTEM_NAME}_64bit")
else()
SET(CPACK_SYSTEM_NAME "${CMAKE_SYSTEM_NAME}_32bit")
endif()
SET(CPACK_PACKAGE_FILE_NAME "Sourcetrail_${VERSION_NUMBER}_${CPACK_SYSTEM_NAME}")
SET(CPACK_STRIP_FILES "Sourcetrail/sourcetrail")
SET(CPACK_PACKAGE_CONTACT "astallinger@coati.io")
INCLUDE(CPack)
+14 -14
View File
@@ -11,22 +11,22 @@ function(Run)
)
endfunction()
# upx
set(upxPath ${CMAKE_CURRENT_LIST_DIR}/../build/Release/app)
set(binPath ${CMAKE_CURRENT_LIST_DIR}/../build/Release/app/Sourcetrail)
set(projPath ${CMAKE_CURRENT_LIST_DIR}/../bin/app/user/projects)
execute_process(
COMMAND ${upxPath}/Coati -z ${CMAKE_CURRENT_LIST_DIR}/../setup/license.txt
)
execute_process(
COMMAND ${binPath} -z ${CMAKE_CURRENT_LIST_DIR}/../setup/license.txt
)
execute_process(
COMMAND ${upxPath}/Coati -f -d ${CMAKE_CURRENT_LIST_DIR}/../bin/app/user/projects/tictactoe/tictactoe.coatiproject
)
execute_process(
COMMAND ${binPath} -f -d ${projPath}/tictactoe/tictactoe.srctrlprj
)
execute_process(
COMMAND ${upxPath}/Coati -f -d ${CMAKE_CURRENT_LIST_DIR}/../bin/app/user/projects/tutorial/tutorial.coatiproject
)
execute_process(
COMMAND ${binPath} -f -d ${projPath}/tutorial/tutorial.srctrlprj
)
execute_process(
COMMAND ${upxPath}/Coati -f -d ${CMAKE_CURRENT_LIST_DIR}/../bin/app/user/projects/javaparser/javaparser.coatiproject
)
execute_process(
COMMAND ${binPath} -f -d ${projPath}/javaparser/javaparser.srctrlprj
)
+22
View File
@@ -0,0 +1,22 @@
# searching for private key file of the Sourcetrail version in setup/RSA_keys
# if found the file will be put into a const string into the PrivateKey.h file
string(REGEX REPLACE "^([0-9]+)\\..*" "\\1" VERSION_MAJOR "${GIT_VERSION_NUMBER}")
message(STATUS "Get Public Key for Sourcetrail version: ${VERSION_MAJOR}")
message(STATUS "${CMAKE_SOURCE_DIR}/setup/RSA_keys/private-sourcetrail.pem")
set(privateKeyFile "${CMAKE_SOURCE_DIR}/setup/RSA_keys/private-sourcetrail.pem")
if(EXISTS ${privateKeyFile})
file(READ ${privateKeyFile} KEY)
STRING(REGEX REPLACE "\"" "\\\\\"" KEY "${KEY}")
STRING(REGEX REPLACE "\n" "\\\\n\"\n\t\"" KEY "${KEY}")
else()
message(FATAL_ERROR "private keyfile for Sourcetrail not found")
endif()
configure_file(
${CMAKE_SOURCE_DIR}/cmake/PrivateKey.h.in
${CMAKE_BINARY_DIR}/src/license_generator/PrivateKey.h
)
-27
View File
@@ -1,27 +0,0 @@
# searching for public key file of the Coati version in setup/RSA_keys
# if found the file will be put into a const string into the PubicKeh.h file
string(REGEX REPLACE "^([0-9]+)\\..*" "\\1" VERSION_MAJOR "${GIT_VERSION_NUMBER}")
message(STATUS "Get Public Key for Coati version: ${VERSION_MAJOR}")
# message(STATUS "${CMAKE_SOURCE_DIR}/setup/RSA_keys/public-${VERSION_MAJOR}.pem")
message(STATUS "${CMAKE_SOURCE_DIR}/setup/RSA_keys/public-0.pem") # explain in Readme.md how to get this to work first
# set(pubKeyFile "${CMAKE_SOURCE_DIR}/setup/RSA_keys/public-${VERSION_MAJOR}.pem")
set(pubKeyFile "${CMAKE_SOURCE_DIR}/setup/RSA_keys/public-0.pem") # explain in Readme.md how to get this to work first
# message(STATUS "file: ${pubKeyFile}")
if(EXISTS ${pubKeyFile})
file(READ ${pubKeyFile} KEY)
STRING(REGEX REPLACE "\"" "\\\\\"" KEY "${KEY}")
STRING(REGEX REPLACE "\n" "\\\\n\"\n\t\"" KEY "${KEY}")
# message(STATUS "key: ${KEY}")
else()
message(WARNING "public keyfile for this version of Coati not found")
endif()
configure_file(
${CMAKE_SOURCE_DIR}/cmake/PublicKey.h.in
${CMAKE_BINARY_DIR}/src/lib_license/PublicKey.h
)
+23
View File
@@ -0,0 +1,23 @@
# searching for public key file of the Sourcetrail version in setup/RSA_keys
# if found the file will be put into a const string into the PubicKey.h file
string(REGEX REPLACE "^([0-9]+)\\..*" "\\1" VERSION_MAJOR "${GIT_VERSION_NUMBER}")
message(STATUS "Get Public Key for Sourcetrail version: ${VERSION_MAJOR}")
message(STATUS "${CMAKE_SOURCE_DIR}/setup/RSA_keys/public-sourcetrail.pem")
set(pubKeyFile "${CMAKE_SOURCE_DIR}/setup/RSA_keys/public-sourcetrail.pem")
if(EXISTS ${pubKeyFile})
file(READ ${pubKeyFile} KEY)
STRING(REGEX REPLACE "\"" "\\\\\"" KEY "${KEY}")
STRING(REGEX REPLACE "\n" "\\\\n\"\n\t\"" KEY "${KEY}")
else()
message(FATAL_ERROR "public keyfile for Sourcetrail not found")
#message(WARNING "public keyfile for Sourcetrail not found")
endif()
configure_file(
${CMAKE_SOURCE_DIR}/cmake/PublicKey.h.in
${CMAKE_BINARY_DIR}/src/lib_license/PublicKey.h
)

Some files were not shown because too many files have changed in this diff Show More