Compare commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
ecfdd1ccb7 | ||
|
|
ba549822c9 | ||
|
|
8b6109be79 | ||
|
|
ad3169c3c0 | ||
|
|
81b88df3a2 | ||
|
|
738e13a664 | ||
|
|
d7fbaede79 | ||
|
|
652a55b4fb | ||
|
|
05c2878eec | ||
|
|
894beccb28 | ||
|
|
e6c5ffa97a | ||
|
|
fba8dadee7 | ||
|
|
e953b35c62 | ||
|
|
72f3dcfc19 | ||
|
|
148588b179 | ||
|
|
19ed6cb372 | ||
|
|
419a2e27ba | ||
|
|
699de2ee0a |
+3
-2
@@ -24,8 +24,9 @@
|
||||
|
||||
/ide_plugins/vs/vs2015/SourcetrailPlugin/SourcetrailPlugin/bin
|
||||
/ide_plugins/vs/vs2015/SourcetrailPlugin/SourcetrailPlugin/obj
|
||||
/ide_plugins/vs/vs2015/SourcetrailPlugin/SourcetrailPlugin.IntegrationTests/bin/
|
||||
/ide_plugins/vs/vs2015/SourcetrailPlugin/SourcetrailPlugin.IntegrationTests/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
|
||||
|
||||
+2
-1
@@ -50,10 +50,11 @@ Linux64_licenseGenerator:
|
||||
script:
|
||||
- ./script/setup.sh
|
||||
- ./script/buildonly.sh r keygen
|
||||
- mv build/Release/license_generator/Sourcetrail_license_generator .
|
||||
artifacts:
|
||||
name: "$CI_JOB_NAME"
|
||||
paths:
|
||||
- build/Release/license_generator/*_license_generator
|
||||
- Sourcetrail_license_generator
|
||||
expire_in: 3 days
|
||||
|
||||
Linux32:
|
||||
|
||||
+13
-6
@@ -106,7 +106,7 @@ elseif(UNIX AND APPLE)
|
||||
set(Boost_NO_SYSTEM_PATHS ON)
|
||||
else()
|
||||
STRING(REGEX REPLACE "\\\\" "/" BOOST_LIBRARYDIR ${BOOST_LIBRARYDIR})
|
||||
|
||||
|
||||
if(${WINXXBITS} STREQUAL "Win32")
|
||||
set(BOOST_ROOT "${BOOST_LIBRARYDIR}/win32")
|
||||
else()
|
||||
@@ -402,11 +402,10 @@ configure_file(
|
||||
)
|
||||
|
||||
# configure public key for the sourcetrail version
|
||||
include(cmake/publicKey.cmake)
|
||||
include(cmake/public_key.cmake)
|
||||
|
||||
set(CMAKE_AUTOMOC OFF)
|
||||
|
||||
|
||||
# Indexer App ------------------------------------------------------------------
|
||||
|
||||
if (UNIX)
|
||||
@@ -583,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 ()
|
||||
@@ -592,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})
|
||||
|
||||
@@ -600,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
|
||||
@@ -632,7 +636,7 @@ 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})
|
||||
|
||||
@@ -650,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)
|
||||
@@ -719,6 +726,6 @@ if (UNIX)
|
||||
)
|
||||
|
||||
# Linux package
|
||||
include(cmake/LinuxPackage.cmake)
|
||||
include(cmake/linux_package.cmake)
|
||||
endif ()
|
||||
endif ()
|
||||
|
||||
+401
-389
@@ -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 Sourcetrail
|
||||
\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 Sourcetrail 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 Sourcetrail 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 Sourcetrail;
|
||||
\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 Sourcetrail 1.0.0 to Sourcetrail 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.sourcetrail.com/>}{\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@sourcetrail.com}{\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}}
|
||||
@@ -1,97 +1,102 @@
|
||||
Sourcetrail
|
||||
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 Sourcetrail in executable form. The major version is defined by the leading number of the version string (e.g. the major version of Sourcetrail 1.x.x is version 1);
|
||||
• documentation for that major version of Sourcetrail;
|
||||
• 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 Sourcetrail 1.0.0 to Sourcetrail 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.sourcetrail.com/>. 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@sourcetrail.com
|
||||
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
|
||||
|
||||
@@ -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,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();
|
||||
|
||||
@@ -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
|
||||
@@ -5,6 +5,6 @@
|
||||
|
||||
#include <string>
|
||||
|
||||
static const std::string PublicKey = "@KEY@";
|
||||
const std::string PUBLIC_KEY = "@KEY@";
|
||||
|
||||
#endif // PUBLIC_KEY_H
|
||||
|
||||
@@ -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
|
||||
)
|
||||
@@ -1,27 +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 PubicKeh.h file
|
||||
# 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-${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
|
||||
message(STATUS "${CMAKE_SOURCE_DIR}/setup/RSA_keys/public-sourcetrail.pem")
|
||||
|
||||
# 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}")
|
||||
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}")
|
||||
# message(STATUS "key: ${KEY}")
|
||||
else()
|
||||
message(WARNING "public keyfile for this version of Sourcetrail not found")
|
||||
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
|
||||
)
|
||||
)
|
||||
+10
-3
@@ -24,7 +24,7 @@ if(EXISTS "${CMAKE_SOURCE_DIR}/.git")
|
||||
)
|
||||
|
||||
execute_process(
|
||||
COMMAND ${GIT_EXECUTABLE} describe --long --match "[0-9]*" --abbrev=7 HEAD
|
||||
COMMAND ${GIT_EXECUTABLE} describe --long --match "[0-9]*" HEAD
|
||||
WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}
|
||||
OUTPUT_VARIABLE GIT_VERSION_NUMBER
|
||||
OUTPUT_STRIP_TRAILING_WHITESPACE
|
||||
@@ -37,10 +37,17 @@ else(EXISTS "${CMAKE_SOURCE_DIR}/.git")
|
||||
|
||||
endif(EXISTS "${CMAKE_SOURCE_DIR}/.git")
|
||||
|
||||
string(REGEX REPLACE "^([0-9]+)\\..*" "\\1" VERSION_YEAR "${GIT_VERSION_NUMBER}")
|
||||
string(REGEX REPLACE "^[0-9]+\\.([0-9]+).*" "\\1" VERSION_MINOR "${GIT_VERSION_NUMBER}")
|
||||
string(REGEX REPLACE "^[0-9]+\\.[0-9]+-([0-9]+).*" "\\1" VERSION_COMMIT "${GIT_VERSION_NUMBER}")
|
||||
|
||||
message(STATUS "Git current branch: ${GIT_BRANCH}")
|
||||
message(STATUS "Git commit hash: ${GIT_COMMIT_HASH}")
|
||||
message(STATUS "Git commit time: ${GIT_COMMIT_TIME}")
|
||||
message(STATUS "Git version number: " ${GIT_VERSION_NUMBER} )
|
||||
message(STATUS "Git commit hash: ${GIT_COMMIT_HASH}")
|
||||
message(STATUS "Version year: ${VERSION_YEAR}")
|
||||
message(STATUS "Version minor: ${VERSION_MINOR}")
|
||||
message(STATUS "Version commit: ${VERSION_COMMIT}")
|
||||
message(STATUS "Git commit time: ${GIT_COMMIT_TIME}")
|
||||
|
||||
configure_file(
|
||||
${CMAKE_SOURCE_DIR}/cmake/version.h.in
|
||||
|
||||
@@ -5,5 +5,8 @@
|
||||
#define GIT_VERSION_NUMBER "@GIT_VERSION_NUMBER@"
|
||||
#define GIT_COMMIT_HASH "@GIT_COMMIT_HASH@"
|
||||
#define GIT_COMMIT_TIME "@GIT_COMMIT_TIME@"
|
||||
#define VERSION_YEAR @VERSION_YEAR@
|
||||
#define VERSION_MINOR @VERSION_MINOR@
|
||||
#define VERSION_COMMIT @VERSION_COMMIT@
|
||||
|
||||
#endif // SOURCETRAIL_VERSION_H
|
||||
|
||||
@@ -48,18 +48,14 @@
|
||||
<File Id='ArtificialPlayerHeader' Name='artificial_player.h' DiskId='1' Source='./../../../bin/app/user/projects/tictactoe/src/artificial_player.h' KeyPath='no' />
|
||||
<File Id='Field' Name='field.cpp' DiskId='1' Source='./../../../bin/app/user/projects/tictactoe/src/field.cpp' KeyPath='no' />
|
||||
<File Id='FieldHeader' Name='field.h' DiskId='1' Source='./../../../bin/app/user/projects/tictactoe/src/field.h' KeyPath='no' />
|
||||
|
||||
<File Id='GameObjectHeader' Name='game_object.h' DiskId='1' Source='./../../../bin/app/user/projects/tictactoe/src/game_object.h' KeyPath='no' />
|
||||
<File Id='HumanPlayer' Name='human_player.cpp' DiskId='1' Source='./../../../bin/app/user/projects/tictactoe/src/human_player.cpp' KeyPath='no' />
|
||||
<File Id='HumanPlayerHeader' Name='human_player.h' DiskId='1' Source='./../../../bin/app/user/projects/tictactoe/src/human_player.h' KeyPath='no' />
|
||||
|
||||
<File Id='IO' Name='io.cpp' DiskId='1' Source='./../../../bin/app/user/projects/tictactoe/src/io.cpp' KeyPath='no' />
|
||||
<File Id='IOHeader' Name='io.h' DiskId='1' Source='./../../../bin/app/user/projects/tictactoe/src/io.h' KeyPath='no' />
|
||||
|
||||
<File Id='tictactoeMain' Name='main.cpp' DiskId='1' Source='./../../../bin/app/user/projects/tictactoe/src/main.cpp' KeyPath='no' />
|
||||
|
||||
<File Id='Player' Name='player.cpp' DiskId='1' Source='./../../../bin/app/user/projects/tictactoe/src/player.cpp' KeyPath='no' />
|
||||
<File Id='PlayerHeader' Name='player.h' DiskId='1' Source='./../../../bin/app/user/projects/tictactoe/src/player.h' KeyPath='no' />
|
||||
|
||||
<File Id='tictactoeFile' Name='tictactoe.cpp' DiskId='1' Source='./../../../bin/app/user/projects/tictactoe/src/tictactoe.cpp' KeyPath='no' />
|
||||
<File Id='tictactoeHeader' Name='tictactoe.h' DiskId='1' Source='./../../../bin/app/user/projects/tictactoe/src/tictactoe.h' KeyPath='no' />
|
||||
</Component>
|
||||
|
||||
@@ -11,6 +11,7 @@ VERSION_STRING="${VERSION_STRING//-/_}"
|
||||
VERSION_STRING="${VERSION_STRING//./_}"
|
||||
VERSION_STRING="${VERSION_STRING%_*}"
|
||||
VERSION_STRING="${VERSION_STRING//_/.}"
|
||||
VERSION_STRING="${VERSION_STRING:2}"
|
||||
echo "installer version is $VERSION_STRING"
|
||||
|
||||
PRODUCT_GUID=$(cmd.exe /c "VsDevCmd.bat & uuidgen")
|
||||
|
||||
@@ -230,6 +230,47 @@
|
||||
<File Id='qwindowsDLL' Name='qwindows.dll' DiskId='1' Source='$(var.PlatformSourceFolder)/platforms/qwindows.dll' KeyPath='yes' />
|
||||
</Component>
|
||||
</Directory>
|
||||
|
||||
<Directory Id='License' Name='license'>
|
||||
<Component Id='EulaRtf' Guid='*' Win64="$(var.Win64)">
|
||||
<File Id='EulaRtfId' Name='EULA.rtf' DiskId='1' Source='./../../../bin/app/data/gui/installer/EULA.rtf' KeyPath='yes' />
|
||||
</Component>
|
||||
<Directory Id='ThirdPartyLicenses' Name='3rd_party_licenses'>
|
||||
<Component Id='LicenseBoostTxt' Guid='*' Win64="$(var.Win64)">
|
||||
<File Id='LicenseBoost' Name='license_boost.txt' DiskId='1' Source='./../../../bin/app/data/3rd_party_licenses/license_boost.txt' KeyPath='yes' />
|
||||
</Component>
|
||||
<Component Id='LicenseBotanTxt' Guid='*' Win64="$(var.Win64)">
|
||||
<File Id='LicenseBotan' Name='license_botan.txt' DiskId='1' Source='./../../../bin/app/data/3rd_party_licenses/license_botan.txt' KeyPath='yes' />
|
||||
</Component>
|
||||
<Component Id='LicenseClangTxt' Guid='*' Win64="$(var.Win64)">
|
||||
<File Id='LicenseClang' Name='license_clang.txt' DiskId='1' Source='./../../../bin/app/data/3rd_party_licenses/license_clang.txt' KeyPath='yes' />
|
||||
</Component>
|
||||
<Component Id='LicenseCppSqliteTxt' Guid='*' Win64="$(var.Win64)">
|
||||
<File Id='LicenseCppSqlite' Name='license_cpp_sqlite.txt' DiskId='1' Source='./../../../bin/app/data/3rd_party_licenses/license_cpp_sqlite.txt' KeyPath='yes' />
|
||||
</Component>
|
||||
<Component Id='LicenseGuavaTxt' Guid='*' Win64="$(var.Win64)">
|
||||
<File Id='LicenseGuava' Name='license_guava.txt' DiskId='1' Source='./../../../bin/app/data/3rd_party_licenses/license_guava.txt' KeyPath='yes' />
|
||||
</Component>
|
||||
<Component Id='LicenseJavaSymbolSolverTxt' Guid='*' Win64="$(var.Win64)">
|
||||
<File Id='LicenseJavaSymbolSolver' Name='license_java_symbol_solver.txt' DiskId='1' Source='./../../../bin/app/data/3rd_party_licenses/license_java_symbol_solver.txt' KeyPath='yes' />
|
||||
</Component>
|
||||
<Component Id='LicenseJavaparserTxt' Guid='*' Win64="$(var.Win64)">
|
||||
<File Id='LicenseJavaparser' Name='license_javaparser.txt' DiskId='1' Source='./../../../bin/app/data/3rd_party_licenses/license_javaparser.txt' KeyPath='yes' />
|
||||
</Component>
|
||||
<Component Id='LicenseJavaslangTxt' Guid='*' Win64="$(var.Win64)">
|
||||
<File Id='LicenseJavaslang' Name='license_javaslang.txt' DiskId='1' Source='./../../../bin/app/data/3rd_party_licenses/license_javaslang.txt' KeyPath='yes' />
|
||||
</Component>
|
||||
<Component Id='LicenseJavassistTxt' Guid='*' Win64="$(var.Win64)">
|
||||
<File Id='LicenseJavassist' Name='license_javassist.txt' DiskId='1' Source='./../../../bin/app/data/3rd_party_licenses/license_javassist.txt' KeyPath='yes' />
|
||||
</Component>
|
||||
<Component Id='LicenseQtTxt' Guid='*' Win64="$(var.Win64)">
|
||||
<File Id='LicenseQt' Name='license_qt.txt' DiskId='1' Source='./../../../bin/app/data/3rd_party_licenses/license_qt.txt' KeyPath='yes' />
|
||||
</Component>
|
||||
<Component Id='LicenseTinyxmlTxt' Guid='*' Win64="$(var.Win64)">
|
||||
<File Id='LicenseTinyxml' Name='license_tinyxml.txt' DiskId='1' Source='./../../../bin/app/data/3rd_party_licenses/license_tinyxml.txt' KeyPath='yes' />
|
||||
</Component>
|
||||
</Directory>
|
||||
</Directory>
|
||||
|
||||
<Directory Id='LieutenantCommanderData' Name='data'>
|
||||
|
||||
@@ -526,7 +567,6 @@
|
||||
<Component Id='Vs_icon_Png' Guid='*' Win64="$(var.Win64)">
|
||||
<File Id='Vs_icon' Name='vs_icon.png' DiskId='1' Source='./../../../bin/app/data/gui/icon/vs_icon.png' KeyPath='yes' />
|
||||
</Component>
|
||||
|
||||
</Directory>
|
||||
|
||||
<Directory Id='DataIndexingDialog' Name='indexing_dialog'>
|
||||
@@ -542,7 +582,18 @@
|
||||
<Component Id='ProgressBarElementPng' Guid='*' Win64="$(var.Win64)">
|
||||
<File Id='ProgressBarElement' Name='progress_bar_element.png' DiskId='1' Source='./../../../bin/app/data/gui/indexing_dialog/progress_bar_element.png' KeyPath='yes' />
|
||||
</Component>
|
||||
</Directory>
|
||||
|
||||
<Directory Id='DataInstaller' Name='installer'>
|
||||
<Component Id='EulaTxt' Guid='*' Win64="$(var.Win64)">
|
||||
<File Id='EulaTxtId' Name='EULA.txt' DiskId='1' Source='./../../../bin/app/data/gui/installer/EULA.txt' KeyPath='yes' />
|
||||
</Component>
|
||||
</Directory>
|
||||
|
||||
<Directory Id='DataKeyboardShortcuts' Name='keyboard_shortcuts'>
|
||||
<Component Id='KeyboardShortcutsCss' Guid='*' Win64="$(var.Win64)">
|
||||
<File Id='KeyboardShortcuts' Name='keyboard_shortcuts.css' DiskId='1' Source='./../../../bin/app/data/gui/keyboard_shortcuts/keyboard_shortcuts.css' KeyPath='yes' />
|
||||
</Component>
|
||||
</Directory>
|
||||
|
||||
<Directory Id='DataLicense' Name='license'>
|
||||
@@ -561,7 +612,6 @@
|
||||
<File Id='Refresh' Name='refresh.png' DiskId='1' Source='./../../../bin/app/data/gui/refresh_view/images/refresh.png' KeyPath='yes' />
|
||||
</Component>
|
||||
</Directory>
|
||||
|
||||
</Directory>
|
||||
|
||||
<Directory Id='DataSearchView' Name='search_view'>
|
||||
|
||||
@@ -32,7 +32,7 @@
|
||||
Description="$(var.ProductDisplayName) Installer"
|
||||
Comments='$(var.ProductName) is a registered trademark of $(var.ProductAuthor)'
|
||||
Manufacturer='$(var.ProductAuthor)'
|
||||
InstallerVersion='100'
|
||||
InstallerVersion='200'
|
||||
Languages='1033'
|
||||
Compressed='yes'
|
||||
SummaryCodepage='1252' />
|
||||
@@ -224,7 +224,20 @@
|
||||
<ComponentRef Id='vcruntime140_dll'/>
|
||||
|
||||
<ComponentRef Id='QWindowsDll'/>
|
||||
|
||||
|
||||
<ComponentRef Id='EulaRtf'/>
|
||||
<ComponentRef Id='LicenseBoostTxt'/>
|
||||
<ComponentRef Id='LicenseBotanTxt'/>
|
||||
<ComponentRef Id='LicenseClangTxt'/>
|
||||
<ComponentRef Id='LicenseCppSqliteTxt'/>
|
||||
<ComponentRef Id='LicenseGuavaTxt'/>
|
||||
<ComponentRef Id='LicenseJavaSymbolSolverTxt'/>
|
||||
<ComponentRef Id='LicenseJavaparserTxt'/>
|
||||
<ComponentRef Id='LicenseJavaslangTxt'/>
|
||||
<ComponentRef Id='LicenseJavassistTxt'/>
|
||||
<ComponentRef Id='LicenseQtTxt'/>
|
||||
<ComponentRef Id='LicenseTinyxmlTxt'/>
|
||||
|
||||
<ComponentRef Id='FiraSansLicensetxt'/>
|
||||
<ComponentRef Id='FiraSansRegularotf'/>
|
||||
<ComponentRef Id='FiraSansSemiBoldotf'/>
|
||||
@@ -324,6 +337,10 @@
|
||||
<ComponentRef Id='ProgressBarElementPng'/>
|
||||
|
||||
<ComponentRef Id='LicenseCss'/>
|
||||
|
||||
<ComponentRef Id='EulaTxt'/>
|
||||
|
||||
<ComponentRef Id='KeyboardShortcutsCss'/>
|
||||
|
||||
<ComponentRef Id='RefreshViewCss'/>
|
||||
<ComponentRef Id='RefreshPng'/>
|
||||
@@ -389,9 +406,8 @@
|
||||
<ComponentRef Id='SampleProjects'/>
|
||||
|
||||
<ComponentRef Id='TictactoeSourcetrailproject'/>
|
||||
|
||||
<ComponentRef Id='TictactoeCode'/>
|
||||
|
||||
|
||||
<ComponentRef Id='TutorialSourcetrailproject'/>
|
||||
<ComponentRef Id='TutorialCode'/>
|
||||
|
||||
|
||||
Binary file not shown.
@@ -0,0 +1,19 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<TestSettings name="Integration Tests" id="6299ba98-e7db-415b-8d40-3472f579309a" xmlns="http://microsoft.com/schemas/VisualStudio/TeamTest/2010">
|
||||
<Description>These are default test settings for a local test run.</Description>
|
||||
<Execution>
|
||||
<Hosts>
|
||||
<VSSDKTestHostRunConfig name="VS IDE" HiveKind="DevEnv" HiveName="15.0Exp" xmlns="http://microsoft.com/schemas/VisualStudio/SDK/Tools/IdeHostAdapter/2006/06" />
|
||||
</Hosts>
|
||||
<TestTypeSpecific>
|
||||
<UnitTestRunConfig testTypeId="13cdc9d9-ddb5-4fa4-a97d-d965ccfc6d4b">
|
||||
<AssemblyResolution>
|
||||
<TestDirectory useLoadContext="true" />
|
||||
</AssemblyResolution>
|
||||
</UnitTestRunConfig>
|
||||
</TestTypeSpecific>
|
||||
<AgentRule name="Execution Agents">
|
||||
</AgentRule>
|
||||
</Execution>
|
||||
<Properties />
|
||||
</TestSettings>
|
||||
@@ -9,7 +9,7 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SourcetrailPlugin", "Source
|
||||
{8188D64D-E880-490C-B267-B493A2171BE3} = {8188D64D-E880-490C-B267-B493A2171BE3}
|
||||
EndProjectSection
|
||||
EndProject
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SourcetrailPlugin.IntegrationTests", "SourcetrailPlugin.IntegrationTests\SourcetrailPlugin.IntegrationTests.csproj", "{9DE8C188-0F0E-4F5D-B3C4-ECF9CFB23E0D}"
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SourcetrailPluginTests", "SourcetrailPluginTests\SourcetrailPluginTests.csproj", "{9DE8C188-0F0E-4F5D-B3C4-ECF9CFB23E0D}"
|
||||
EndProject
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "VCProjectEngineWrapperInterfaces", "VCProjectEngineWrapperInterfaces\VCProjectEngineWrapperInterfaces.csproj", "{F592DB46-0C77-470B-AAF8-80C51F44380E}"
|
||||
EndProject
|
||||
@@ -29,6 +29,11 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "VCProjectEngineWrapperVs201
|
||||
EndProject
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SourcetrailPluginUtility", "SourcetrailPluginUtility\SourcetrailPluginUtility.csproj", "{604B5751-AF34-4FF9-92C3-C85A6BCDF98E}"
|
||||
EndProject
|
||||
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution Items", "{7298A53A-50A0-404A-B0C8-B408FE8AF2FB}"
|
||||
ProjectSection(SolutionItems) = preProject
|
||||
IntegrationTests.testsettings = IntegrationTests.testsettings
|
||||
EndProjectSection
|
||||
EndProject
|
||||
Global
|
||||
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
||||
Debug|Any CPU = Debug|Any CPU
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
using System;
|
||||
using System.Runtime.InteropServices;
|
||||
|
||||
using ComTypes = System.Runtime.InteropServices.ComTypes;
|
||||
|
||||
namespace ComUtils
|
||||
|
||||
-2
@@ -1,7 +1,5 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
|
||||
@@ -1,14 +1,12 @@
|
||||
// PkgCmdID.cs
|
||||
// MUST match PkgCmdID.h
|
||||
using System;
|
||||
|
||||
namespace CoatiSoftware.SourcetrailPlugin
|
||||
{
|
||||
static class PkgCmdIDList
|
||||
{
|
||||
public const uint cmdidSourcetrailSetActiveToken = 0x104;
|
||||
public const uint cmdidSourcetrailCreateProject = 0x105;
|
||||
public const uint cmdidSourcetrailCreateCDB = 0x106;
|
||||
public const uint cmdidSourcetrailCreateCdb = 0x106;
|
||||
public const uint cmdidSourcetrailOpenLogFolder = 0x107;
|
||||
|
||||
};
|
||||
|
||||
+62
-309
@@ -1,11 +1,5 @@
|
||||
using System.Collections.Generic;
|
||||
using System.Xml.Serialization;
|
||||
using System.Xml;
|
||||
using Newtonsoft.Json.Linq;
|
||||
using System.IO;
|
||||
using System.Threading;
|
||||
using System;
|
||||
using Newtonsoft.Json;
|
||||
using Newtonsoft.Json;
|
||||
using System.Collections.Generic;
|
||||
|
||||
namespace CoatiSoftware.SourcetrailPlugin.SolutionParser
|
||||
{
|
||||
@@ -13,75 +7,72 @@ namespace CoatiSoftware.SourcetrailPlugin.SolutionParser
|
||||
{
|
||||
private List<CompileCommand> _compileCommands = new List<CompileCommand>();
|
||||
|
||||
// meta data
|
||||
private string _name = "";
|
||||
private string _sourceProject = "";
|
||||
private string _directory = "";
|
||||
|
||||
private System.DateTime _lastUpdated = new System.DateTime();
|
||||
|
||||
private List<string> _includedProjects = new List<string>();
|
||||
private string _configurationName = "";
|
||||
private string _platformName = "";
|
||||
|
||||
public string Name
|
||||
private bool TryLoadData(string filePath)
|
||||
{
|
||||
get { return _name; }
|
||||
set { _name = value; }
|
||||
if (filePath.Length > 0)
|
||||
{
|
||||
if (System.IO.File.Exists(filePath))
|
||||
{
|
||||
string data = "";
|
||||
|
||||
using (System.IO.StreamReader file = new System.IO.StreamReader(filePath))
|
||||
{
|
||||
string line = "";
|
||||
|
||||
while ((line = file.ReadLine()) != null)
|
||||
{
|
||||
data += line;
|
||||
}
|
||||
}
|
||||
|
||||
DeserializeFromJson(data);
|
||||
|
||||
return true;
|
||||
}
|
||||
else
|
||||
{
|
||||
Logging.Logging.LogError("The cdb file at \"" + filePath + "\" does not exist.");
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
Logging.Logging.LogWarning("Can't load cdb data. Filepath has not been set.");
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
public string SourceProject
|
||||
{
|
||||
get { return _sourceProject; }
|
||||
set { _sourceProject = value; }
|
||||
}
|
||||
|
||||
public string Directory
|
||||
{
|
||||
get { return _directory; }
|
||||
set { _directory = value; }
|
||||
}
|
||||
|
||||
public System.DateTime LastUpdated
|
||||
{
|
||||
get { return _lastUpdated; }
|
||||
set { _lastUpdated = value; }
|
||||
}
|
||||
|
||||
public List<string> IncludedProjects
|
||||
{
|
||||
get { return _includedProjects; }
|
||||
set { _includedProjects = value; }
|
||||
}
|
||||
|
||||
public string ConfigurationName
|
||||
{
|
||||
get { return _configurationName; }
|
||||
set { _configurationName = value; }
|
||||
}
|
||||
|
||||
public string PlatformName
|
||||
{
|
||||
get { return _platformName; }
|
||||
set { _platformName = value; }
|
||||
}
|
||||
|
||||
public int CompileCommandCount
|
||||
{
|
||||
get { return _compileCommands.Count; }
|
||||
}
|
||||
|
||||
public static CompilationDatabase LoadFromFile(string filePath)
|
||||
{
|
||||
CompilationDatabase cdb = new CompilationDatabase();
|
||||
cdb.Name = Path.GetFileNameWithoutExtension(filePath);
|
||||
cdb.Directory = Path.GetDirectoryName(filePath);
|
||||
|
||||
bool success = cdb.TryLoadData();
|
||||
|
||||
bool success = cdb.TryLoadData(filePath);
|
||||
return cdb;
|
||||
}
|
||||
|
||||
|
||||
public string SerializeToJson()
|
||||
{
|
||||
return JsonConvert.SerializeObject(_compileCommands, Newtonsoft.Json.Formatting.Indented);
|
||||
}
|
||||
|
||||
public void DeserializeFromJson(string serialized)
|
||||
{
|
||||
_compileCommands.Clear();
|
||||
|
||||
if (serialized.Length > 0)
|
||||
{
|
||||
_compileCommands = JsonConvert.DeserializeObject<List<CompileCommand>>(serialized);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
public int CompileCommandCount
|
||||
{
|
||||
get { return _compileCommands.Count; }
|
||||
}
|
||||
|
||||
public static bool operator ==(CompilationDatabase a, CompilationDatabase b)
|
||||
{
|
||||
if (System.Object.ReferenceEquals(a, b))
|
||||
@@ -116,257 +107,19 @@ namespace CoatiSoftware.SourcetrailPlugin.SolutionParser
|
||||
return !(a == b);
|
||||
}
|
||||
|
||||
public void AddCommandObject(CompileCommand commandObject)
|
||||
public void AddCompileCommand(CompileCommand commandObject)
|
||||
{
|
||||
_compileCommands.Add(commandObject); // updating is not efficient as it is
|
||||
_compileCommands.Add(commandObject);
|
||||
}
|
||||
|
||||
// remove commandObjects for removed files
|
||||
public void Clean()
|
||||
public void SortAlphabetically()
|
||||
{
|
||||
for (int i = 0; i < _compileCommands.Count; i++)
|
||||
{
|
||||
if (System.IO.File.Exists(_compileCommands[i].File) == false)
|
||||
{
|
||||
_compileCommands.RemoveAt(i);
|
||||
i--;
|
||||
}
|
||||
}
|
||||
_compileCommands.Sort((c1, c2) => c1.File.CompareTo(c2.File));
|
||||
}
|
||||
|
||||
public void ClearCommandObjects()
|
||||
public void Clear()
|
||||
{
|
||||
_compileCommands.Clear();
|
||||
}
|
||||
|
||||
public bool CheckCDBExists()
|
||||
{
|
||||
if (_directory.Length > 0 && _name.Length > 0)
|
||||
{
|
||||
string path = GetFilePath();
|
||||
|
||||
if(System.IO.File.Exists(path) == false)
|
||||
{
|
||||
_lastUpdated = System.DateTime.MinValue; // if file is missing, set date way back so it doesn't interfere with re-building
|
||||
return false;
|
||||
}
|
||||
else
|
||||
{
|
||||
return true;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
Logging.Logging.LogWarning("Can't check cdb data, directory and/or name has not been set: directory - '" + _directory + "', name - '" + _name + "'");
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
public bool TryLoadData()
|
||||
{
|
||||
if(_directory.Length > 0 && _name.Length > 0)
|
||||
{
|
||||
string path = GetFilePath();
|
||||
if(System.IO.File.Exists(path))
|
||||
{
|
||||
string data = "";
|
||||
|
||||
using (System.IO.StreamReader file = new System.IO.StreamReader(path))
|
||||
{
|
||||
string line = "";
|
||||
|
||||
while ((line = file.ReadLine()) != null)
|
||||
{
|
||||
data += line;
|
||||
}
|
||||
}
|
||||
|
||||
DeserializeFromJson(data);
|
||||
|
||||
return true;
|
||||
}
|
||||
else
|
||||
{
|
||||
_lastUpdated = System.DateTime.MinValue; // if file is missing, set date way back so it doesn't interfere with re-building
|
||||
|
||||
Logging.Logging.LogError("The cdb file '" + path + "' does not exist.");
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
Logging.Logging.LogWarning("Can't load cdb data, directory and/or name has not been set: directory - '" + _directory + "', name - '" + _name + "'");
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
public void UnloadData()
|
||||
{
|
||||
_compileCommands.Clear();
|
||||
}
|
||||
|
||||
public string SerializeToJson()
|
||||
{
|
||||
return JsonConvert.SerializeObject(_compileCommands, Newtonsoft.Json.Formatting.Indented);
|
||||
}
|
||||
|
||||
public void DeserializeFromJson(string serialized)
|
||||
{
|
||||
_compileCommands.Clear();
|
||||
|
||||
if (serialized.Length > 0)
|
||||
{
|
||||
_compileCommands = JsonConvert.DeserializeObject<List<CompileCommand>>(serialized);
|
||||
}
|
||||
}
|
||||
|
||||
public XmlNode GetMetaDataXML(XmlDocument doc)
|
||||
{
|
||||
// XmlDocument doc = new XmlDocument();
|
||||
XmlNode root = doc.CreateElement("cdb");
|
||||
|
||||
XmlElement name = doc.CreateElement("name");
|
||||
name.InnerText = _name;
|
||||
|
||||
XmlElement sourceProject = doc.CreateElement("sourceProject");
|
||||
sourceProject.InnerText = _sourceProject;
|
||||
|
||||
XmlElement directory = doc.CreateElement("directory");
|
||||
directory.InnerText = _directory;
|
||||
|
||||
XmlElement lastUpdated = doc.CreateElement("lastUpdated");
|
||||
lastUpdated.InnerText = _lastUpdated.ToString();
|
||||
|
||||
XmlElement includedProjects = doc.CreateElement("includedProjects");
|
||||
foreach (string project in _includedProjects)
|
||||
{
|
||||
XmlElement includedProject = doc.CreateElement("includedProject");
|
||||
includedProject.InnerText = project;
|
||||
includedProjects.AppendChild(includedProject);
|
||||
}
|
||||
|
||||
XmlElement configuration = doc.CreateElement("configuration");
|
||||
configuration.InnerText = _configurationName;
|
||||
|
||||
XmlElement platform = doc.CreateElement("platform");
|
||||
platform.InnerText = _platformName;
|
||||
|
||||
root.AppendChild(name);
|
||||
root.AppendChild(sourceProject);
|
||||
root.AppendChild(directory);
|
||||
root.AppendChild(lastUpdated);
|
||||
root.AppendChild(includedProjects);
|
||||
root.AppendChild(configuration);
|
||||
root.AppendChild(platform);
|
||||
|
||||
return root;
|
||||
}
|
||||
|
||||
public string SerializeMetaDataXML()
|
||||
{
|
||||
XmlDocument doc = new XmlDocument();
|
||||
XmlNode root = GetMetaDataXML(doc);
|
||||
|
||||
System.IO.StringWriter writer = new System.IO.StringWriter();
|
||||
|
||||
XmlSerializer serializer = new XmlSerializer(typeof(XmlElement));
|
||||
serializer.Serialize(writer, root);
|
||||
|
||||
return writer.ToString();
|
||||
}
|
||||
|
||||
public static List<CompilationDatabase> ParseCDBsMetaData(string data)
|
||||
{
|
||||
List<CompilationDatabase> cdbs = new List<CompilationDatabase>();
|
||||
|
||||
if(data.Length > 0)
|
||||
{
|
||||
XmlDocument doc = new XmlDocument();
|
||||
doc.LoadXml(data);
|
||||
XmlNode root = doc.SelectSingleNode("cdbs");
|
||||
|
||||
XmlNodeList nodes = root.SelectNodes("cdb");
|
||||
|
||||
foreach (XmlNode node in nodes)
|
||||
{
|
||||
cdbs.Add(ParseCDBMetaData(node));
|
||||
}
|
||||
}
|
||||
|
||||
return cdbs;
|
||||
}
|
||||
|
||||
public static CompilationDatabase ParseCDBMetaData(XmlNode node)
|
||||
{
|
||||
CompilationDatabase cdb = new CompilationDatabase();
|
||||
|
||||
XmlNode nameNode = node.SelectSingleNode("name");
|
||||
string name = nameNode.InnerText;
|
||||
|
||||
XmlNode sourceNode = node.SelectSingleNode("sourceProject");
|
||||
string source = sourceNode.InnerText;
|
||||
|
||||
XmlNode directoryNode = node.SelectSingleNode("directory");
|
||||
string directory = directoryNode.InnerText;
|
||||
|
||||
XmlNode updatedNode = node.SelectSingleNode("lastUpdated");
|
||||
string updated = updatedNode.InnerText;
|
||||
System.DateTime updatedDate;
|
||||
if(System.DateTime.TryParse(updated, out updatedDate) == false)
|
||||
{
|
||||
updatedDate = System.DateTime.MinValue;
|
||||
}
|
||||
|
||||
XmlNode includedProjects = node.SelectSingleNode("includedProjects");
|
||||
XmlNodeList includedProjectNodes = includedProjects.SelectNodes("includedProject");
|
||||
List<string> includedProjectsList = new List<string>();
|
||||
foreach(XmlNode p in includedProjectNodes)
|
||||
{
|
||||
includedProjectsList.Add(p.InnerText);
|
||||
}
|
||||
|
||||
XmlNode configurationNode = node.SelectSingleNode("configuration");
|
||||
string configuration = configurationNode.InnerText;
|
||||
|
||||
XmlNode platformNode = node.SelectSingleNode("platform");
|
||||
string platform = platformNode.InnerText;
|
||||
|
||||
// if cdb file is not there anymore, set the modified date back so that a full update will be performed
|
||||
if(System.IO.File.Exists(directory + "\\" + name + ".json") == false)
|
||||
{
|
||||
updatedDate = System.DateTime.MinValue;
|
||||
}
|
||||
|
||||
cdb.Name = name;
|
||||
cdb.SourceProject = source;
|
||||
cdb.Directory = directory;
|
||||
cdb.LastUpdated = updatedDate;
|
||||
cdb.IncludedProjects = includedProjectsList;
|
||||
cdb.ConfigurationName = configuration;
|
||||
cdb.PlatformName = platform;
|
||||
|
||||
return cdb;
|
||||
}
|
||||
|
||||
private bool TryUpdateCommandObject(CompileCommand co)
|
||||
{
|
||||
CompileCommand old = _compileCommands.Find(x => x.File == co.File);
|
||||
|
||||
if(old != null)
|
||||
{
|
||||
_compileCommands.Remove(old);
|
||||
_compileCommands.Add(co);
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
private string GetFilePath()
|
||||
{
|
||||
return _directory + "\\" + _name + ".json";
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
+218
@@ -0,0 +1,218 @@
|
||||
using System.Collections.Generic;
|
||||
using System.Xml;
|
||||
using System.Xml.Serialization;
|
||||
|
||||
namespace CoatiSoftware.SourcetrailPlugin.SolutionParser
|
||||
{
|
||||
public class CompilationDatabaseSettings
|
||||
{
|
||||
private string _name = "";
|
||||
private string _sourceProject = "";
|
||||
private string _directory = "";
|
||||
|
||||
private System.DateTime _lastUpdated = new System.DateTime();
|
||||
|
||||
private List<string> _includedProjects = new List<string>();
|
||||
private string _configurationName = "";
|
||||
private string _platformName = "";
|
||||
|
||||
public string Name
|
||||
{
|
||||
get { return _name; }
|
||||
set { _name = value; }
|
||||
}
|
||||
|
||||
public string SourceProject
|
||||
{
|
||||
get { return _sourceProject; }
|
||||
set { _sourceProject = value; }
|
||||
}
|
||||
|
||||
public string Directory
|
||||
{
|
||||
get { return _directory; }
|
||||
set { _directory = value; }
|
||||
}
|
||||
|
||||
public System.DateTime LastUpdated
|
||||
{
|
||||
get { return _lastUpdated; }
|
||||
set { _lastUpdated = value; }
|
||||
}
|
||||
|
||||
public List<string> IncludedProjects
|
||||
{
|
||||
get { return _includedProjects; }
|
||||
set { _includedProjects = value; }
|
||||
}
|
||||
|
||||
public string ConfigurationName
|
||||
{
|
||||
get { return _configurationName; }
|
||||
set { _configurationName = value; }
|
||||
}
|
||||
|
||||
public string PlatformName
|
||||
{
|
||||
get { return _platformName; }
|
||||
set { _platformName = value; }
|
||||
}
|
||||
|
||||
public bool CheckCdbExists()
|
||||
{
|
||||
if (_directory.Length > 0 && _name.Length > 0)
|
||||
{
|
||||
string path = GetFilePath();
|
||||
|
||||
if(System.IO.File.Exists(path) == false)
|
||||
{
|
||||
_lastUpdated = System.DateTime.MinValue; // if file is missing, set date way back so it doesn't interfere with re-building
|
||||
return false;
|
||||
}
|
||||
else
|
||||
{
|
||||
return true;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
Logging.Logging.LogWarning("Can't check cdb data, directory and/or name has not been set: directory - '" + _directory + "', name - '" + _name + "'");
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
public XmlNode GetMetaDataXML(XmlDocument doc)
|
||||
{
|
||||
// XmlDocument doc = new XmlDocument();
|
||||
XmlNode root = doc.CreateElement("cdb");
|
||||
|
||||
XmlElement name = doc.CreateElement("name");
|
||||
name.InnerText = _name;
|
||||
|
||||
XmlElement sourceProject = doc.CreateElement("sourceProject");
|
||||
sourceProject.InnerText = _sourceProject;
|
||||
|
||||
XmlElement directory = doc.CreateElement("directory");
|
||||
directory.InnerText = _directory;
|
||||
|
||||
XmlElement lastUpdated = doc.CreateElement("lastUpdated");
|
||||
lastUpdated.InnerText = _lastUpdated.ToString();
|
||||
|
||||
XmlElement includedProjects = doc.CreateElement("includedProjects");
|
||||
foreach (string project in _includedProjects)
|
||||
{
|
||||
XmlElement includedProject = doc.CreateElement("includedProject");
|
||||
includedProject.InnerText = project;
|
||||
includedProjects.AppendChild(includedProject);
|
||||
}
|
||||
|
||||
XmlElement configuration = doc.CreateElement("configuration");
|
||||
configuration.InnerText = _configurationName;
|
||||
|
||||
XmlElement platform = doc.CreateElement("platform");
|
||||
platform.InnerText = _platformName;
|
||||
|
||||
root.AppendChild(name);
|
||||
root.AppendChild(sourceProject);
|
||||
root.AppendChild(directory);
|
||||
root.AppendChild(lastUpdated);
|
||||
root.AppendChild(includedProjects);
|
||||
root.AppendChild(configuration);
|
||||
root.AppendChild(platform);
|
||||
|
||||
return root;
|
||||
}
|
||||
|
||||
public string SerializeMetaDataXML()
|
||||
{
|
||||
XmlDocument doc = new XmlDocument();
|
||||
XmlNode root = GetMetaDataXML(doc);
|
||||
|
||||
System.IO.StringWriter writer = new System.IO.StringWriter();
|
||||
|
||||
XmlSerializer serializer = new XmlSerializer(typeof(XmlElement));
|
||||
serializer.Serialize(writer, root);
|
||||
|
||||
return writer.ToString();
|
||||
}
|
||||
|
||||
public static List<CompilationDatabaseSettings> ParseCdbsMetaData(string data)
|
||||
{
|
||||
List<CompilationDatabaseSettings> cdbs = new List<CompilationDatabaseSettings>();
|
||||
|
||||
if(data.Length > 0)
|
||||
{
|
||||
XmlDocument doc = new XmlDocument();
|
||||
doc.LoadXml(data);
|
||||
XmlNode root = doc.SelectSingleNode("cdbs");
|
||||
|
||||
XmlNodeList nodes = root.SelectNodes("cdb");
|
||||
|
||||
foreach (XmlNode node in nodes)
|
||||
{
|
||||
cdbs.Add(ParseCdbMetaData(node));
|
||||
}
|
||||
}
|
||||
|
||||
return cdbs;
|
||||
}
|
||||
|
||||
public static CompilationDatabaseSettings ParseCdbMetaData(XmlNode node)
|
||||
{
|
||||
CompilationDatabaseSettings cdb = new CompilationDatabaseSettings();
|
||||
|
||||
XmlNode nameNode = node.SelectSingleNode("name");
|
||||
string name = nameNode.InnerText;
|
||||
|
||||
XmlNode sourceNode = node.SelectSingleNode("sourceProject");
|
||||
string source = sourceNode.InnerText;
|
||||
|
||||
XmlNode directoryNode = node.SelectSingleNode("directory");
|
||||
string directory = directoryNode.InnerText;
|
||||
|
||||
XmlNode updatedNode = node.SelectSingleNode("lastUpdated");
|
||||
string updated = updatedNode.InnerText;
|
||||
System.DateTime updatedDate;
|
||||
if(System.DateTime.TryParse(updated, out updatedDate) == false)
|
||||
{
|
||||
updatedDate = System.DateTime.MinValue;
|
||||
}
|
||||
|
||||
XmlNode includedProjects = node.SelectSingleNode("includedProjects");
|
||||
XmlNodeList includedProjectNodes = includedProjects.SelectNodes("includedProject");
|
||||
List<string> includedProjectsList = new List<string>();
|
||||
foreach(XmlNode p in includedProjectNodes)
|
||||
{
|
||||
includedProjectsList.Add(p.InnerText);
|
||||
}
|
||||
|
||||
XmlNode configurationNode = node.SelectSingleNode("configuration");
|
||||
string configuration = configurationNode.InnerText;
|
||||
|
||||
XmlNode platformNode = node.SelectSingleNode("platform");
|
||||
string platform = platformNode.InnerText;
|
||||
|
||||
// if cdb file is not there anymore, set the modified date back so that a full update will be performed
|
||||
if(System.IO.File.Exists(directory + "\\" + name + ".json") == false)
|
||||
{
|
||||
updatedDate = System.DateTime.MinValue;
|
||||
}
|
||||
|
||||
cdb.Name = name;
|
||||
cdb.SourceProject = source;
|
||||
cdb.Directory = directory;
|
||||
cdb.LastUpdated = updatedDate;
|
||||
cdb.IncludedProjects = includedProjectsList;
|
||||
cdb.ConfigurationName = configuration;
|
||||
cdb.PlatformName = platform;
|
||||
|
||||
return cdb;
|
||||
}
|
||||
|
||||
private string GetFilePath()
|
||||
{
|
||||
return _directory + "\\" + _name + ".json";
|
||||
}
|
||||
}
|
||||
}
|
||||
+1
-2
@@ -1,5 +1,4 @@
|
||||
|
||||
using Newtonsoft.Json;
|
||||
using Newtonsoft.Json;
|
||||
|
||||
namespace CoatiSoftware.SourcetrailPlugin.SolutionParser
|
||||
{
|
||||
+42
-58
@@ -1,11 +1,10 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using CoatiSoftware.SourcetrailPlugin.Utility;
|
||||
using EnvDTE;
|
||||
|
||||
using System.IO;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Diagnostics;
|
||||
using CoatiSoftware.SourcetrailPlugin.Utility;
|
||||
using System.IO;
|
||||
using System.Linq;
|
||||
using VCProjectEngineWrapper;
|
||||
|
||||
namespace CoatiSoftware.SourcetrailPlugin.SolutionParser
|
||||
@@ -15,7 +14,8 @@ namespace CoatiSoftware.SourcetrailPlugin.SolutionParser
|
||||
static private List<Guid> _reloadedProjectGuids = new List<Guid>();
|
||||
static private List<string> _compatibilityFlags = new List<string>() { "-fms-extensions", "-fms-compatibility" };
|
||||
static private string _compatibilityVersionFlagBase = "-fms-compatibility-version="; // We want to get the exact version at runtime for this flag, therefore keeping it seperate from the others makes things easier
|
||||
static private List<string> _extensionWhiteList = new List<string>() { "c", "cc", "cpp", "cxx", "C", "h", "hpp" };
|
||||
static private List<string> _sourceExtensionWhiteList = new List<string>() { "c", "cc", "cpp", "cxx" };
|
||||
static private List<string> _headerExtensionWhiteList = new List<string>() { "h", "hpp" };
|
||||
|
||||
private string _compatibilityVersionFlag = _compatibilityVersionFlagBase + "19"; // This default version would correspond to VS2015
|
||||
|
||||
@@ -35,7 +35,7 @@ namespace CoatiSoftware.SourcetrailPlugin.SolutionParser
|
||||
|
||||
public List<CompileCommand> CreateCompileCommands(Project project, string configurationName, string platformName, string cStandard)
|
||||
{
|
||||
Logging.Logging.LogInfo("Creating command objects from project " + Logging.Obfuscation.NameObfuscator.GetObfuscatedName(project.Name));
|
||||
Logging.Logging.LogInfo("Creating command objects for project \"" + Logging.Obfuscation.NameObfuscator.GetObfuscatedName(project.Name) + "\".");
|
||||
|
||||
List<CompileCommand> result = new List<CompileCommand>();
|
||||
|
||||
@@ -43,13 +43,13 @@ namespace CoatiSoftware.SourcetrailPlugin.SolutionParser
|
||||
Guid projectGuid = Utility.ProjectUtility.ReloadProject(project);
|
||||
|
||||
IVCProjectWrapper vcProject = VCProjectEngineWrapper.VCProjectWrapperFactory.create(project.Object);
|
||||
if (vcProject.isValid())
|
||||
if (vcProject != null && vcProject.isValid())
|
||||
{
|
||||
Logging.Logging.LogInfo("Project '" + Logging.Obfuscation.NameObfuscator.GetObfuscatedName(project.Name) + "' has been converted to VCProject " + vcProject.GetWrappedVersion() + ".");
|
||||
Logging.Logging.LogInfo("Project \"" + Logging.Obfuscation.NameObfuscator.GetObfuscatedName(project.Name) + "\" has been converted to VCProject " + vcProject.GetWrappedVersion() + ".");
|
||||
}
|
||||
else
|
||||
{
|
||||
Logging.Logging.LogWarning("Project '" + Logging.Obfuscation.NameObfuscator.GetObfuscatedName(project.Name) + "' could not be converted to VCProject, skipping.");
|
||||
Logging.Logging.LogWarning("Project \"" + Logging.Obfuscation.NameObfuscator.GetObfuscatedName(project.Name) + "\" could not be converted to VCProject, skipping.");
|
||||
return result;
|
||||
}
|
||||
|
||||
@@ -84,7 +84,7 @@ namespace CoatiSoftware.SourcetrailPlugin.SolutionParser
|
||||
|
||||
private CompileCommand CreateCompileCommand(EnvDTE.ProjectItem item, List<string> includeDirectories, List<string> preprocessorDefinitions, string vcStandard, string cStandard, string configurationName, string platformName)
|
||||
{
|
||||
Logging.Logging.LogInfo("Starting to create Command Object from item '" + Logging.Obfuscation.NameObfuscator.GetObfuscatedName(item.Name) + "'");
|
||||
Logging.Logging.LogInfo("Starting to create Command Object from item \"" + Logging.Obfuscation.NameObfuscator.GetObfuscatedName(item.Name) + "\"");
|
||||
|
||||
try
|
||||
{
|
||||
@@ -116,34 +116,11 @@ namespace CoatiSoftware.SourcetrailPlugin.SolutionParser
|
||||
Logging.Logging.LogInfo("Unable to retrieve build tool. Using extension white-list to determine file type.");
|
||||
}
|
||||
|
||||
if (IsSourceFile(item, compilerTool))
|
||||
if (CheckIsSourceFile(item, compilerTool))
|
||||
{
|
||||
CompileCommand command = new CompileCommand();
|
||||
command.File = item.Name;
|
||||
|
||||
// only write source files to cdb, headers are implicit
|
||||
// however, retreive header directory
|
||||
if (CheckIsHeader(item))
|
||||
{
|
||||
Properties props = item.Properties;
|
||||
foreach (Property prop in props)
|
||||
{
|
||||
string propName = prop.Name;
|
||||
string propValue = prop.Value as String;
|
||||
|
||||
if (propName == "FullPath")
|
||||
{
|
||||
int i = propValue.LastIndexOf('\\');
|
||||
|
||||
propValue = propValue.Substring(0, i);
|
||||
|
||||
_headerDirectories.Add(propValue);
|
||||
}
|
||||
}
|
||||
|
||||
return null;
|
||||
}
|
||||
|
||||
string additionalOptions = "";
|
||||
if (compilerTool != null && compilerTool.isValid())
|
||||
{
|
||||
@@ -202,6 +179,20 @@ namespace CoatiSoftware.SourcetrailPlugin.SolutionParser
|
||||
|
||||
return command;
|
||||
}
|
||||
else if (CheckIsHeaderFile(item, compilerTool))
|
||||
{
|
||||
if (ProjectUtility.HasProperty(item.Properties, "FullPath"))
|
||||
{
|
||||
string propValue = item.Properties.Item("FullPath").Value.ToString();
|
||||
|
||||
int i = propValue.LastIndexOf('\\');
|
||||
|
||||
propValue = propValue.Substring(0, i);
|
||||
|
||||
_headerDirectories.Add(propValue);
|
||||
}
|
||||
return null;
|
||||
}
|
||||
else
|
||||
{
|
||||
Logging.Logging.LogInfo("Item discarded, wrong code model");
|
||||
@@ -217,7 +208,7 @@ namespace CoatiSoftware.SourcetrailPlugin.SolutionParser
|
||||
return null;
|
||||
}
|
||||
|
||||
static private bool IsSourceFile(ProjectItem item, IVCCLCompilerToolWrapper tool)
|
||||
static private bool CheckIsSourceFile(ProjectItem item, IVCCLCompilerToolWrapper tool)
|
||||
{
|
||||
if (tool != null && tool.isValid()) // if the tool is null it's probably not a normal VC project, indicating that the file code model is unavailable
|
||||
{
|
||||
@@ -244,7 +235,7 @@ namespace CoatiSoftware.SourcetrailPlugin.SolutionParser
|
||||
return true;
|
||||
}
|
||||
}
|
||||
else if (_extensionWhiteList.Contains(GetFileExtension(item)))
|
||||
else if (_sourceExtensionWhiteList.Contains(GetFileExtension(item).ToLower()))
|
||||
{
|
||||
return true;
|
||||
}
|
||||
@@ -252,35 +243,28 @@ namespace CoatiSoftware.SourcetrailPlugin.SolutionParser
|
||||
return false;
|
||||
}
|
||||
|
||||
static private bool CheckIsHeader(EnvDTE.ProjectItem item)
|
||||
static private bool CheckIsHeaderFile(EnvDTE.ProjectItem item, IVCCLCompilerToolWrapper tool)
|
||||
{
|
||||
Properties props = item.Properties;
|
||||
|
||||
string propString = "";
|
||||
|
||||
try
|
||||
if (tool != null && tool.isValid()) // if the tool is null it's probably not a normal VC project, indicating that the file code model is unavailable
|
||||
{
|
||||
foreach (Property prop in props)
|
||||
try
|
||||
{
|
||||
string propName = prop.Name;
|
||||
string propValue = prop.Value as String;
|
||||
|
||||
propString += propName + " - " + propValue + "; ";
|
||||
|
||||
if (propName == "ItemType")
|
||||
if (ProjectUtility.HasProperty(item.Properties, "ItemType") && item.Properties.Item("ItemType").Value.ToString() == "ClInclude")
|
||||
{
|
||||
if (propValue as String == "ClInclude")
|
||||
{
|
||||
return true;
|
||||
}
|
||||
Logging.Logging.LogInfo("Accepting item because of its \"ItemType\" property");
|
||||
return true;
|
||||
}
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
Logging.Logging.LogError("Exception: " + e.Message);
|
||||
}
|
||||
}
|
||||
catch (Exception e)
|
||||
else if (_headerExtensionWhiteList.Contains(GetFileExtension(item).ToLower()))
|
||||
{
|
||||
Logging.Logging.LogError("Exception: " + e.Message);
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
+2
-2
@@ -1,5 +1,5 @@
|
||||
using System;
|
||||
using CoatiSoftware.SourcetrailPlugin.Utility;
|
||||
using CoatiSoftware.SourcetrailPlugin.Utility;
|
||||
using System;
|
||||
using VCProjectEngineWrapper;
|
||||
|
||||
namespace CoatiSoftware.SourcetrailPlugin.SolutionParser
|
||||
|
||||
+30
-13
@@ -139,9 +139,10 @@
|
||||
<ItemGroup>
|
||||
<Compile Include="ComUtils.cs" />
|
||||
<Compile Include="Multitasking\LimitedThreadsTaskScheduler.cs" />
|
||||
<Compile Include="SolutionParser\CompilationDatabase.cs" />
|
||||
<Compile Include="Utility\IPathResolver.cs" />
|
||||
<Compile Include="SolutionParser\VsPathResolver.cs" />
|
||||
<Compile Include="Utility\CompilationDatabaseList.cs" />
|
||||
<Compile Include="Utility\CompilationDatabaseSettingsList.cs" />
|
||||
<Compile Include="Utility\DataUtility.cs" />
|
||||
<Compile Include="Utility\FileUtility.cs" />
|
||||
<Compile Include="Guids.cs" />
|
||||
@@ -158,25 +159,25 @@
|
||||
</Compile>
|
||||
<Compile Include="Properties\AssemblyInfo.cs" />
|
||||
<Compile Include="PkgCmdID.cs" />
|
||||
<Compile Include="SolutionParser\CommandObject.cs" />
|
||||
<Compile Include="SolutionParser\CompilationDatabase.cs" />
|
||||
<Compile Include="SolutionParser\CompileCommand.cs" />
|
||||
<Compile Include="SolutionParser\CompilationDatabaseSettings.cs" />
|
||||
<Compile Include="SolutionParser\SolutionParser.cs" />
|
||||
<Compile Include="Utility\ProjectUtility.cs" />
|
||||
<Compile Include="Utility\QueuedFileWriter.cs" />
|
||||
<Compile Include="Utility\SolutionUtility.cs" />
|
||||
<Compile Include="Utility\SystemUtility.cs" />
|
||||
<Compile Include="Utility\StringUtility.cs" />
|
||||
<Compile Include="Wizard\WindowCDBReady.cs">
|
||||
<Compile Include="Wizard\WindowCdbReady.cs">
|
||||
<SubType>Form</SubType>
|
||||
</Compile>
|
||||
<Compile Include="Wizard\WindowCDBReady.Designer.cs">
|
||||
<DependentUpon>WindowCDBReady.cs</DependentUpon>
|
||||
<Compile Include="Wizard\WindowCdbReady.Designer.cs">
|
||||
<DependentUpon>WindowCdbReady.cs</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="Wizard\WindowCreateCDB.cs">
|
||||
<Compile Include="Wizard\WindowCreateCdb.cs">
|
||||
<SubType>Form</SubType>
|
||||
</Compile>
|
||||
<Compile Include="Wizard\WindowCreateCDB.Designer.cs">
|
||||
<DependentUpon>WindowCreateCDB.cs</DependentUpon>
|
||||
<Compile Include="Wizard\WindowCreateCdb.Designer.cs">
|
||||
<DependentUpon>WindowCreateCdb.cs</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="Wizard\ProjectSetupWindow.cs">
|
||||
<SubType>Form</SubType>
|
||||
@@ -202,11 +203,11 @@
|
||||
<ManifestResourceName>VSPackage</ManifestResourceName>
|
||||
<SubType>Designer</SubType>
|
||||
</EmbeddedResource>
|
||||
<EmbeddedResource Include="Wizard\WindowCDBReady.resx">
|
||||
<DependentUpon>WindowCDBReady.cs</DependentUpon>
|
||||
<EmbeddedResource Include="Wizard\WindowCdbReady.resx">
|
||||
<DependentUpon>WindowCdbReady.cs</DependentUpon>
|
||||
</EmbeddedResource>
|
||||
<EmbeddedResource Include="Wizard\WindowCreateCDB.resx">
|
||||
<DependentUpon>WindowCreateCDB.cs</DependentUpon>
|
||||
<EmbeddedResource Include="Wizard\WindowCreateCdb.resx">
|
||||
<DependentUpon>WindowCreateCdb.cs</DependentUpon>
|
||||
</EmbeddedResource>
|
||||
<EmbeddedResource Include="Wizard\ProjectSetupWindow.resx">
|
||||
<DependentUpon>ProjectSetupWindow.cs</DependentUpon>
|
||||
@@ -257,6 +258,22 @@
|
||||
<Project>{f592db46-0c77-470b-aaf8-80c51f44380e}</Project>
|
||||
<Name>VCProjectEngineWrapperInterfaces</Name>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="..\VCProjectEngineWrapper\VCProjectEngineWrapperVs2012.csproj">
|
||||
<Project>{c5439b90-42e7-414d-8c3f-bdcabb0592e2}</Project>
|
||||
<Name>VCProjectEngineWrapperVs2012</Name>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="..\VCProjectEngineWrapper\VCProjectEngineWrapperVs2013.csproj">
|
||||
<Project>{8718929c-5270-4e5a-8998-48ac7ce19dc2}</Project>
|
||||
<Name>VCProjectEngineWrapperVs2013</Name>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="..\VCProjectEngineWrapper\VCProjectEngineWrapperVs2015.csproj">
|
||||
<Project>{1c139999-9592-4891-aa62-2c8a16430d0a}</Project>
|
||||
<Name>VCProjectEngineWrapperVs2015</Name>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="..\VCProjectEngineWrapper\VCProjectEngineWrapperVs2017.csproj">
|
||||
<Project>{b49207f9-89a3-42d8-bc04-8bf77ed2e295}</Project>
|
||||
<Name>VCProjectEngineWrapperVs2017</Name>
|
||||
</ProjectReference>
|
||||
</ItemGroup>
|
||||
<PropertyGroup>
|
||||
<UseCodebase>true</UseCodebase>
|
||||
|
||||
+1
-1
@@ -8,7 +8,7 @@
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Release|AnyCPU'">
|
||||
<StartAction>Program</StartAction>
|
||||
<StartProgram>D:\programme\Microsoft Visual Studio14\Common7\IDE\devenv.exe</StartProgram>
|
||||
<StartProgram>D:\programme\Microsoft Visual Studio\2017\Community\Common7\IDE\devenv.exe</StartProgram>
|
||||
<StartArguments>/rootsuffix Exp</StartArguments>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup>
|
||||
|
||||
@@ -62,11 +62,11 @@
|
||||
</Strings>
|
||||
</Button>
|
||||
|
||||
<Button guid="guidSourcetrailPluginCmdSet" id="cmdidSourcetrailCreateCDB" priority="0x0100" type="Button">
|
||||
<Button guid="guidSourcetrailPluginCmdSet" id="cmdidSourcetrailCreateCdb" priority="0x0100" type="Button">
|
||||
<Parent guid="guidSourcetrailPluginCmdSet" id="SubMenu" />
|
||||
<Icon guid="icon" id="icon0" />
|
||||
<Strings>
|
||||
<ButtonText>Create CDB</ButtonText>
|
||||
<ButtonText>Create Compilation Database</ButtonText>
|
||||
</Strings>
|
||||
</Button>
|
||||
|
||||
@@ -129,8 +129,7 @@
|
||||
<IDSymbol name="cmdidSourcetrailGetActiveFileName" value="0x0102"/>
|
||||
<IDSymbol name="cmdidSourcetrailGetActiveLineNumber" value="0x0103"/>
|
||||
<IDSymbol name="cmdidSourcetrailSetActiveToken" value="0x0104"/>
|
||||
<IDSymbol name="cmdidSourcetrailCreateProject" value="0x0105"/>
|
||||
<IDSymbol name="cmdidSourcetrailCreateCDB" value="0x0106"/>
|
||||
<IDSymbol name="cmdidSourcetrailCreateCdb" value="0x0106"/>
|
||||
<IDSymbol name="cmdidSourcetrailOpenLogFolder" value="0x0107"/>
|
||||
<IDSymbol name="TopLevelMenu" value="0x1021"/>
|
||||
<IDSymbol name="SubMenu" value="0x1022"/>
|
||||
|
||||
+51
-98
@@ -1,14 +1,12 @@
|
||||
using System;
|
||||
using EnvDTE;
|
||||
using Microsoft.VisualStudio.Shell.Interop;
|
||||
using Microsoft.VisualStudio.Shell;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.IO;
|
||||
using System.Runtime.InteropServices;
|
||||
using System.ComponentModel;
|
||||
using System.ComponentModel.Design;
|
||||
using Microsoft.VisualStudio.Shell.Interop;
|
||||
using Microsoft.VisualStudio.Shell;
|
||||
|
||||
using System.Collections.Generic;
|
||||
|
||||
using EnvDTE;
|
||||
using System.IO;
|
||||
|
||||
namespace CoatiSoftware.SourcetrailPlugin
|
||||
{
|
||||
@@ -122,15 +120,14 @@ namespace CoatiSoftware.SourcetrailPlugin
|
||||
public sealed class SourcetrailPluginPackage : Package
|
||||
{
|
||||
private MenuCommand _menuItemSetActiveToken = null;
|
||||
private MenuCommand _menuItemCreateProject = null;
|
||||
private MenuCommand _menuItemCreateCDB = null;
|
||||
private MenuCommand _menuItemCreateCdb = null;
|
||||
private MenuCommand _menuItemOpenLogDir = null;
|
||||
|
||||
private SolutionEvents _solutionEvents = null;
|
||||
|
||||
private bool _validSolutionLoaded = false;
|
||||
|
||||
Utility.CompilationDatabaseList _cdbList = new Utility.CompilationDatabaseList();
|
||||
Utility.CompilationDatabaseSettingsList _recentSettingsList = new Utility.CompilationDatabaseSettingsList();
|
||||
|
||||
public uint ServerPort
|
||||
{
|
||||
@@ -201,26 +198,22 @@ namespace CoatiSoftware.SourcetrailPlugin
|
||||
|
||||
// register the plugin UI elements
|
||||
OleMenuCommandService mcs = GetService(typeof(IMenuCommandService)) as OleMenuCommandService;
|
||||
if ( null != mcs )
|
||||
if (null != mcs)
|
||||
{
|
||||
CommandID setActiveTokenCommandID = new CommandID(GuidList.guidSourcetrailPluginCmdSet, (int)PkgCmdIDList.cmdidSourcetrailSetActiveToken);
|
||||
CommandID createProjectID = new CommandID(GuidList.guidSourcetrailPluginCmdSet, (int)PkgCmdIDList.cmdidSourcetrailCreateProject);
|
||||
CommandID createCDBID = new CommandID(GuidList.guidSourcetrailPluginCmdSet, (int)PkgCmdIDList.cmdidSourcetrailCreateCDB);
|
||||
CommandID createCdbID = new CommandID(GuidList.guidSourcetrailPluginCmdSet, (int)PkgCmdIDList.cmdidSourcetrailCreateCdb);
|
||||
CommandID openLogDirID = new CommandID(GuidList.guidSourcetrailPluginCmdSet, (int)PkgCmdIDList.cmdidSourcetrailOpenLogFolder);
|
||||
|
||||
_menuItemSetActiveToken = new MenuCommand(MenuItemCallback, setActiveTokenCommandID);
|
||||
_menuItemCreateProject = new MenuCommand(MenuItemCallback, createProjectID);
|
||||
_menuItemCreateCDB = new MenuCommand(MenuItemCallback, createCDBID);
|
||||
_menuItemCreateCdb = new MenuCommand(MenuItemCallback, createCdbID);
|
||||
_menuItemOpenLogDir = new MenuCommand(MenuItemCallback, openLogDirID);
|
||||
|
||||
_menuItemCreateProject.Enabled = false;
|
||||
|
||||
_menuItemSetActiveToken.Enabled = false;
|
||||
_menuItemCreateCDB.Enabled = false;
|
||||
_menuItemCreateCdb.Enabled = false;
|
||||
_menuItemOpenLogDir.Enabled = true;
|
||||
|
||||
mcs.AddCommand(_menuItemSetActiveToken);
|
||||
mcs.AddCommand(_menuItemCreateProject);
|
||||
mcs.AddCommand(_menuItemCreateCDB);
|
||||
mcs.AddCommand(_menuItemCreateCdb);
|
||||
mcs.AddCommand(_menuItemOpenLogDir);
|
||||
}
|
||||
|
||||
@@ -248,9 +241,9 @@ namespace CoatiSoftware.SourcetrailPlugin
|
||||
|
||||
string solutionPath = Utility.SolutionUtility.GetSolutionPath(dte);
|
||||
|
||||
if(_cdbList.CheckCDBForSolutionExists(solutionPath))
|
||||
if(_recentSettingsList.CheckCdbForSolutionExists(solutionPath))
|
||||
{
|
||||
Logging.Logging.LogInfo("A CDB for the loaded solution already exists.");
|
||||
Logging.Logging.LogInfo("A Cdb for the loaded solution already exists.");
|
||||
}
|
||||
|
||||
bool enable = false;
|
||||
@@ -268,8 +261,7 @@ namespace CoatiSoftware.SourcetrailPlugin
|
||||
{
|
||||
Logging.Logging.LogInfo("Enabling plugin UI");
|
||||
_menuItemSetActiveToken.Enabled = true;
|
||||
_menuItemCreateProject.Enabled = true;
|
||||
_menuItemCreateCDB.Enabled = true;
|
||||
_menuItemCreateCdb.Enabled = true;
|
||||
|
||||
_validSolutionLoaded = true;
|
||||
}
|
||||
@@ -292,8 +284,7 @@ namespace CoatiSoftware.SourcetrailPlugin
|
||||
Logging.Logging.LogInfo("Solution closed, disabling plugin UI");
|
||||
|
||||
_menuItemSetActiveToken.Enabled = false;
|
||||
_menuItemCreateProject.Enabled = false;
|
||||
_menuItemCreateCDB.Enabled = false;
|
||||
_menuItemCreateCdb.Enabled = false;
|
||||
|
||||
_validSolutionLoaded = false;
|
||||
}
|
||||
@@ -340,36 +331,36 @@ namespace CoatiSoftware.SourcetrailPlugin
|
||||
{
|
||||
DTE dte = (DTE)GetService(typeof(DTE));
|
||||
|
||||
Wizard.WindowCreateCDB createCDB = new Wizard.WindowCreateCDB();
|
||||
createCDB.Projects = projects;
|
||||
createCDB.ConfigurationName = configurationName;
|
||||
createCDB.PlatformName = platformName;
|
||||
createCDB.TargetDir = targetDir;
|
||||
createCDB.FileName = fileName;
|
||||
createCDB.CStandard = cStandard;
|
||||
createCDB.ThreadCount = (int)ThreadCount;
|
||||
createCDB.SolutionDir = Utility.SolutionUtility.GetSolutionPath(dte);
|
||||
Wizard.WindowCreateCdb createCdbWindow = new Wizard.WindowCreateCdb();
|
||||
createCdbWindow.Projects = projects;
|
||||
createCdbWindow.ConfigurationName = configurationName;
|
||||
createCdbWindow.PlatformName = platformName;
|
||||
createCdbWindow.TargetDir = targetDir;
|
||||
createCdbWindow.FileName = fileName;
|
||||
createCdbWindow.CStandard = cStandard;
|
||||
createCdbWindow.ThreadCount = (int)ThreadCount;
|
||||
createCdbWindow.SolutionDir = Utility.SolutionUtility.GetSolutionPath(dte);
|
||||
|
||||
createCDB.CDB = _cdbList.GetCDBForSolution(createCDB.SolutionDir, targetDir + "\\" + fileName + ".json");
|
||||
createCdbWindow.Cdb = _recentSettingsList.GetCdbForSolution(createCdbWindow.SolutionDir, targetDir + "\\" + fileName + ".json");
|
||||
|
||||
createCDB.CallbackOnFinishedCreatingCDB = HandleFinishedCDB;
|
||||
createCdbWindow.CallbackOnFinishedCreatingCdb = HandleFinishedCdb;
|
||||
|
||||
createCDB.StartWorking();
|
||||
createCDB.ShowDialog();
|
||||
createCdbWindow.StartWorking();
|
||||
createCdbWindow.ShowDialog();
|
||||
}
|
||||
|
||||
private void HandleFinishedCDB(Wizard.WindowCreateCDB.CreationResult creationResult)
|
||||
private void HandleFinishedCdb(Wizard.WindowCreateCdb.CreationResult creationResult)
|
||||
{
|
||||
if(creationResult._cdb != null && creationResult._cdbDirectory.Length > 0 && creationResult._cdbName.Length > 0)
|
||||
if(creationResult._cdbSettings != null && creationResult._cdbDirectory.Length > 0 && creationResult._cdbName.Length > 0)
|
||||
{
|
||||
_cdbList.AppendOrUpdate(creationResult._cdb);
|
||||
_cdbList.SaveMetaData();
|
||||
_recentSettingsList.AppendOrUpdate(creationResult._cdbSettings);
|
||||
_recentSettingsList.SaveMetaData();
|
||||
|
||||
Wizard.WindowCDBReady dialog = new Wizard.WindowCDBReady();
|
||||
Wizard.WindowCdbReady dialog = new Wizard.WindowCdbReady();
|
||||
dialog.setData(creationResult);
|
||||
dialog.ShowDialog();
|
||||
|
||||
_cdbList.Refresh();
|
||||
_recentSettingsList.Refresh();
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -397,20 +388,10 @@ namespace CoatiSoftware.SourcetrailPlugin
|
||||
|
||||
Utility.AsynchronousClient.Send(message);
|
||||
}
|
||||
else if(menuCommand.CommandID.ID == (int)PkgCmdIDList.cmdidSourcetrailCreateCDB)
|
||||
else if(menuCommand.CommandID.ID == (int)PkgCmdIDList.cmdidSourcetrailCreateCdb)
|
||||
{
|
||||
CreateCompilationDatabase(dte);
|
||||
}
|
||||
else if(menuCommand.CommandID.ID == (int)PkgCmdIDList.cmdidSourcetrailCreateProject)
|
||||
{
|
||||
// show hint to use CDB methad (only for CDB beta) and create project on ok
|
||||
Wizard.WindowMessage windowMessage = new Wizard.WindowMessage();
|
||||
windowMessage.Title = "Hint";
|
||||
windowMessage.Message = "Consider using 'Create CDB' if errors arise during Sourcetrail's indexing. This will become standard in the future.";
|
||||
windowMessage.OnOK = CreateSourcetrailProjectOld;
|
||||
windowMessage.RefreshWindow();
|
||||
windowMessage.ShowDialog();
|
||||
}
|
||||
else if(menuCommand.CommandID.ID == (int)PkgCmdIDList.cmdidSourcetrailOpenLogFolder)
|
||||
{
|
||||
Utility.SystemUtility.OpenWindowsExplorerAtDirectory(Utility.DataUtility.GetStandardFolderDirectory());
|
||||
@@ -418,35 +399,6 @@ namespace CoatiSoftware.SourcetrailPlugin
|
||||
}
|
||||
}
|
||||
|
||||
// will be removed once the CDB project creation is fully integrated
|
||||
private void CreateSourcetrailProjectOld()
|
||||
{
|
||||
DTE dte = (DTE)GetService(typeof(DTE));
|
||||
|
||||
string solutionName = Utility.SolutionUtility.GetSolutionPath(dte);
|
||||
|
||||
if (solutionName == "") // TODO: make a better fallback for non-existant solution
|
||||
{
|
||||
List<string> items = Utility.SolutionUtility.GetSolutionProjectsFullNames(dte);
|
||||
|
||||
if (items.Count > 0)
|
||||
{
|
||||
solutionName = items[0];
|
||||
}
|
||||
}
|
||||
|
||||
if (solutionName.Length > 0)
|
||||
{
|
||||
string message = Utility.NetworkProtocolUtility.CreateCreateProjectMessage(solutionName);
|
||||
|
||||
Utility.AsynchronousClient.Send(message);
|
||||
}
|
||||
else
|
||||
{
|
||||
DisplayMessage("Sourcetrail", "Can not create a Sourcetrail Project. Please check whether your VS solution is a valid C or C++ solution and is saved.");
|
||||
}
|
||||
}
|
||||
|
||||
private void OnNetworkReadCallback(string message)
|
||||
{
|
||||
Utility.NetworkProtocolUtility.MESSAGE_TYPE messageType = Utility.NetworkProtocolUtility.GetMessageType(message);
|
||||
@@ -542,17 +494,18 @@ namespace CoatiSoftware.SourcetrailPlugin
|
||||
Guid clsid = Guid.Empty;
|
||||
int result;
|
||||
Microsoft.VisualStudio.ErrorHandler.ThrowOnFailure(uiShell.ShowMessageBox(
|
||||
0,
|
||||
ref clsid,
|
||||
title,
|
||||
message,
|
||||
string.Empty,
|
||||
0,
|
||||
OLEMSGBUTTON.OLEMSGBUTTON_OK,
|
||||
OLEMSGDEFBUTTON.OLEMSGDEFBUTTON_FIRST,
|
||||
OLEMSGICON.OLEMSGICON_INFO,
|
||||
0, // false
|
||||
out result));
|
||||
0,
|
||||
ref clsid,
|
||||
title,
|
||||
message,
|
||||
string.Empty,
|
||||
0,
|
||||
OLEMSGBUTTON.OLEMSGBUTTON_OK,
|
||||
OLEMSGDEFBUTTON.OLEMSGDEFBUTTON_FIRST,
|
||||
OLEMSGICON.OLEMSGICON_INFO,
|
||||
0, // false
|
||||
out result
|
||||
));
|
||||
}
|
||||
|
||||
private void CreateCompilationDatabase(DTE dte)
|
||||
@@ -570,7 +523,7 @@ namespace CoatiSoftware.SourcetrailPlugin
|
||||
bool containsCFiles = true; // Utility.SolutionUtility.ContainsCFiles(dte); // takes ridiculously long, I'd rather just display the option by default
|
||||
window._containsCFiles = containsCFiles;
|
||||
|
||||
window._cdb = _cdbList.GetMostCurrentCDBForSolution(Utility.SolutionUtility.GetSolutionPath(dte));
|
||||
window._cdb = _recentSettingsList.GetMostCurrentCdbForSolution(Utility.SolutionUtility.GetSolutionPath(dte));
|
||||
|
||||
window.UpdateGUI();
|
||||
window._onCreateProject = OnCreateProject;
|
||||
|
||||
-159
@@ -1,159 +0,0 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Xml;
|
||||
using System.Xml.Serialization;
|
||||
|
||||
namespace CoatiSoftware.SourcetrailPlugin.Utility
|
||||
{
|
||||
class CompilationDatabaseList
|
||||
{
|
||||
private List<SolutionParser.CompilationDatabase> _cdbs = new List<SolutionParser.CompilationDatabase>();
|
||||
|
||||
public List<SolutionParser.CompilationDatabase> CDBs
|
||||
{
|
||||
get { return _cdbs; }
|
||||
// set { _cdbs = value; }
|
||||
}
|
||||
|
||||
public CompilationDatabaseList()
|
||||
{
|
||||
Refresh();
|
||||
}
|
||||
|
||||
public void AppendOrUpdate(SolutionParser.CompilationDatabase cdb)
|
||||
{
|
||||
if(_cdbs.Exists(item => item.Name == cdb.Name && item.Directory == cdb.Directory) == false)
|
||||
{
|
||||
_cdbs.Add(cdb);
|
||||
}
|
||||
else
|
||||
{
|
||||
int idx = _cdbs.FindIndex(item => item.Name == cdb.Name && item.Directory == cdb.Directory);
|
||||
_cdbs[idx] = cdb;
|
||||
}
|
||||
}
|
||||
|
||||
public void Refresh()
|
||||
{
|
||||
List<SolutionParser.CompilationDatabase> cdbs = new List<SolutionParser.CompilationDatabase>();
|
||||
|
||||
try
|
||||
{
|
||||
string data = Utility.DataUtility.GetInstance().GetData();
|
||||
cdbs = SolutionParser.CompilationDatabase.ParseCDBsMetaData(data);
|
||||
|
||||
foreach (SolutionParser.CompilationDatabase cdb in cdbs)
|
||||
{
|
||||
cdb.CheckCDBExists();
|
||||
}
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
Logging.Logging.LogError("Failed to aquire data: " + e.Message);
|
||||
}
|
||||
|
||||
_cdbs = cdbs;
|
||||
}
|
||||
|
||||
public List<SolutionParser.CompilationDatabase> GetCDBsForSolution(string solutionPath)
|
||||
{
|
||||
return _cdbs.FindAll(item => item.SourceProject == solutionPath);
|
||||
}
|
||||
|
||||
public SolutionParser.CompilationDatabase GetCDBForSolution(string solutionPath)
|
||||
{
|
||||
return _cdbs.Find(item => item.SourceProject == solutionPath);
|
||||
}
|
||||
|
||||
public SolutionParser.CompilationDatabase GetMostCurrentCDBForSolution(string solutionPath)
|
||||
{
|
||||
SolutionParser.CompilationDatabase result = null;
|
||||
|
||||
try
|
||||
{
|
||||
List<SolutionParser.CompilationDatabase> candidates = GetCDBsForSolution(solutionPath);
|
||||
|
||||
System.DateTime youngest = System.DateTime.MinValue;
|
||||
foreach (SolutionParser.CompilationDatabase cdb in candidates)
|
||||
{
|
||||
if (cdb.LastUpdated >= youngest)
|
||||
{
|
||||
youngest = cdb.LastUpdated;
|
||||
result = cdb;
|
||||
}
|
||||
}
|
||||
}
|
||||
catch(Exception e)
|
||||
{
|
||||
Logging.Logging.LogError("Failed to find cdb: " + e.Message);
|
||||
}
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
public SolutionParser.CompilationDatabase GetCDBForSolution(string solutionPath, string cdbPath)
|
||||
{
|
||||
return _cdbs.Find(item => item.SourceProject == solutionPath && (item.Directory + "\\" + item.Name + ".json") == cdbPath);
|
||||
}
|
||||
|
||||
public bool CheckCDBForSolutionExists(string solutionPath)
|
||||
{
|
||||
try
|
||||
{
|
||||
SolutionParser.CompilationDatabase cdb = GetCDBForSolution(solutionPath);
|
||||
if (cdb != null && System.IO.File.Exists(cdb.Directory + "\\" + cdb.Name + ".json"))
|
||||
{
|
||||
return true;
|
||||
}
|
||||
}
|
||||
catch(Exception e)
|
||||
{
|
||||
Logging.Logging.LogError("Failed to check cdb: " + e.Message);
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
public void SaveMetaData()
|
||||
{
|
||||
try
|
||||
{
|
||||
XmlDocument doc = new XmlDocument();
|
||||
XmlNode root = doc.CreateElement("cdbs");
|
||||
|
||||
foreach (SolutionParser.CompilationDatabase cdb in _cdbs)
|
||||
{
|
||||
XmlNode metaData = cdb.GetMetaDataXML(doc);
|
||||
|
||||
root.AppendChild(metaData);
|
||||
}
|
||||
|
||||
System.IO.StringWriter writer = new System.IO.StringWriter();
|
||||
|
||||
XmlSerializer serializer = new XmlSerializer(typeof(XmlElement));
|
||||
serializer.Serialize(writer, root);
|
||||
|
||||
DataUtility.GetInstance().ClearData();
|
||||
DataUtility.GetInstance().AppendData(writer.ToString());
|
||||
}
|
||||
catch(Exception e)
|
||||
{
|
||||
Logging.Logging.LogError("Failed to save meta data: " + e.Message);
|
||||
}
|
||||
}
|
||||
|
||||
public void UnloadCDBs()
|
||||
{
|
||||
if(_cdbs == null)
|
||||
{
|
||||
Logging.Logging.LogWarning("Member '_cdbs' is null, aborting.");
|
||||
return;
|
||||
}
|
||||
|
||||
foreach(SolutionParser.CompilationDatabase cdb in _cdbs)
|
||||
{
|
||||
cdb.ClearCommandObjects();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
+145
@@ -0,0 +1,145 @@
|
||||
using CoatiSoftware.SourcetrailPlugin.SolutionParser;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Xml;
|
||||
using System.Xml.Serialization;
|
||||
|
||||
namespace CoatiSoftware.SourcetrailPlugin.Utility
|
||||
{
|
||||
class CompilationDatabaseSettingsList
|
||||
{
|
||||
private List<CompilationDatabaseSettings> _settings = new List<CompilationDatabaseSettings>();
|
||||
|
||||
public List<CompilationDatabaseSettings> Settings
|
||||
{
|
||||
get { return _settings; }
|
||||
}
|
||||
|
||||
public CompilationDatabaseSettingsList()
|
||||
{
|
||||
Refresh();
|
||||
}
|
||||
|
||||
public void AppendOrUpdate(CompilationDatabaseSettings cdb)
|
||||
{
|
||||
if(_settings.Exists(item => item.Name == cdb.Name && item.Directory == cdb.Directory) == false)
|
||||
{
|
||||
_settings.Add(cdb);
|
||||
}
|
||||
else
|
||||
{
|
||||
int idx = _settings.FindIndex(item => item.Name == cdb.Name && item.Directory == cdb.Directory);
|
||||
_settings[idx] = cdb;
|
||||
}
|
||||
}
|
||||
|
||||
public void Refresh()
|
||||
{
|
||||
List<CompilationDatabaseSettings> cdbs = new List<CompilationDatabaseSettings>();
|
||||
|
||||
try
|
||||
{
|
||||
string data = Utility.DataUtility.GetInstance().GetData();
|
||||
cdbs = CompilationDatabaseSettings.ParseCdbsMetaData(data);
|
||||
|
||||
foreach (CompilationDatabaseSettings cdb in cdbs)
|
||||
{
|
||||
cdb.CheckCdbExists();
|
||||
}
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
Logging.Logging.LogError("Failed to aquire data: " + e.Message);
|
||||
}
|
||||
|
||||
_settings = cdbs;
|
||||
}
|
||||
|
||||
public List<CompilationDatabaseSettings> GetCdbsForSolution(string solutionPath)
|
||||
{
|
||||
return _settings.FindAll(item => item.SourceProject == solutionPath);
|
||||
}
|
||||
|
||||
public CompilationDatabaseSettings GetCdbForSolution(string solutionPath)
|
||||
{
|
||||
return _settings.Find(item => item.SourceProject == solutionPath);
|
||||
}
|
||||
|
||||
public CompilationDatabaseSettings GetMostCurrentCdbForSolution(string solutionPath)
|
||||
{
|
||||
CompilationDatabaseSettings result = null;
|
||||
|
||||
try
|
||||
{
|
||||
List<CompilationDatabaseSettings> candidates = GetCdbsForSolution(solutionPath);
|
||||
|
||||
System.DateTime youngest = System.DateTime.MinValue;
|
||||
foreach (CompilationDatabaseSettings cdb in candidates)
|
||||
{
|
||||
if (cdb.LastUpdated >= youngest)
|
||||
{
|
||||
youngest = cdb.LastUpdated;
|
||||
result = cdb;
|
||||
}
|
||||
}
|
||||
}
|
||||
catch(Exception e)
|
||||
{
|
||||
Logging.Logging.LogError("Failed to find cdb: " + e.Message);
|
||||
}
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
public CompilationDatabaseSettings GetCdbForSolution(string solutionPath, string cdbPath)
|
||||
{
|
||||
return _settings.Find(item => item.SourceProject == solutionPath && (item.Directory + "\\" + item.Name + ".json") == cdbPath);
|
||||
}
|
||||
|
||||
public bool CheckCdbForSolutionExists(string solutionPath)
|
||||
{
|
||||
try
|
||||
{
|
||||
CompilationDatabaseSettings cdb = GetCdbForSolution(solutionPath);
|
||||
if (cdb != null && System.IO.File.Exists(cdb.Directory + "\\" + cdb.Name + ".json"))
|
||||
{
|
||||
return true;
|
||||
}
|
||||
}
|
||||
catch(Exception e)
|
||||
{
|
||||
Logging.Logging.LogError("Failed to check cdb: " + e.Message);
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
public void SaveMetaData()
|
||||
{
|
||||
try
|
||||
{
|
||||
XmlDocument doc = new XmlDocument();
|
||||
XmlNode root = doc.CreateElement("cdbs");
|
||||
|
||||
foreach (CompilationDatabaseSettings cdb in _settings)
|
||||
{
|
||||
XmlNode metaData = cdb.GetMetaDataXML(doc);
|
||||
|
||||
root.AppendChild(metaData);
|
||||
}
|
||||
|
||||
System.IO.StringWriter writer = new System.IO.StringWriter();
|
||||
|
||||
XmlSerializer serializer = new XmlSerializer(typeof(XmlElement));
|
||||
serializer.Serialize(writer, root);
|
||||
|
||||
DataUtility.GetInstance().ClearData();
|
||||
DataUtility.GetInstance().AppendData(writer.ToString());
|
||||
}
|
||||
catch(Exception e)
|
||||
{
|
||||
Logging.Logging.LogError("Failed to save meta data: " + e.Message);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,5 +1,5 @@
|
||||
using System;
|
||||
using EnvDTE;
|
||||
using EnvDTE;
|
||||
using System;
|
||||
|
||||
namespace CoatiSoftware.SourcetrailPlugin.Utility
|
||||
{
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
using System;
|
||||
using VCProjectEngineWrapper;
|
||||
using VCProjectEngineWrapper;
|
||||
using System;
|
||||
|
||||
namespace CoatiSoftware.SourcetrailPlugin.Utility
|
||||
{
|
||||
|
||||
+6
-27
@@ -1,8 +1,5 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace CoatiSoftware.SourcetrailPlugin.Utility
|
||||
{
|
||||
@@ -12,12 +9,11 @@ namespace CoatiSoftware.SourcetrailPlugin.Utility
|
||||
private static string s_setActiveTokenPrefix = "setActiveToken";
|
||||
private static string s_moveCursorPrefix = "moveCursor";
|
||||
private static string s_endOfMessageToken = "<EOM>";
|
||||
|
||||
private static string s_createProjectPrefix = "createProject"; // deprecate
|
||||
private static string s_createCDBProjectPrefix = "createCDBProject";
|
||||
|
||||
private static string s_createCdbProjectPrefix = "createCDBProject";
|
||||
private static string s_ideId = "vs";
|
||||
|
||||
private static string s_createCDBPrefix = "createCDB";
|
||||
private static string s_createCdbPrefix = "createCDB";
|
||||
|
||||
private static string s_pingPrefix = "ping";
|
||||
|
||||
@@ -100,26 +96,9 @@ namespace CoatiSoftware.SourcetrailPlugin.Utility
|
||||
return message;
|
||||
}
|
||||
|
||||
public static string CreateCreateProjectMessage(string solutionPath)
|
||||
{
|
||||
string message = s_createProjectPrefix;
|
||||
|
||||
message += s_divider;
|
||||
|
||||
message += solutionPath;
|
||||
|
||||
message += s_divider;
|
||||
|
||||
message += s_ideId;
|
||||
|
||||
message += s_endOfMessageToken;
|
||||
|
||||
return message;
|
||||
}
|
||||
|
||||
public static string CreateCreateProjectMessage(string cdbPath, List<string> headerPaths)
|
||||
{
|
||||
string message = s_createCDBProjectPrefix;
|
||||
string message = s_createCdbProjectPrefix;
|
||||
|
||||
message += s_divider;
|
||||
|
||||
@@ -160,7 +139,7 @@ namespace CoatiSoftware.SourcetrailPlugin.Utility
|
||||
|
||||
if (tokens.Count > 0)
|
||||
{
|
||||
if (tokens[0] == s_createCDBPrefix)
|
||||
if (tokens[0] == s_createCdbPrefix)
|
||||
{
|
||||
return MESSAGE_TYPE.CREATE_CDB;
|
||||
}
|
||||
|
||||
@@ -1,9 +1,8 @@
|
||||
using System;
|
||||
using System.Text;
|
||||
using System.Threading;
|
||||
|
||||
using System.Net.Sockets;
|
||||
using System.Net;
|
||||
using System.Text;
|
||||
using System.Threading;
|
||||
|
||||
namespace CoatiSoftware.SourcetrailPlugin.Utility
|
||||
{
|
||||
|
||||
+26
-23
@@ -68,7 +68,6 @@ namespace CoatiSoftware.SourcetrailPlugin.Utility
|
||||
}
|
||||
_statusLock.ExitReadLock();
|
||||
|
||||
|
||||
_statusLock.EnterWriteLock();
|
||||
_working = true;
|
||||
_workerThread = new Thread(new ThreadStart(Work));
|
||||
@@ -125,39 +124,43 @@ namespace CoatiSoftware.SourcetrailPlugin.Utility
|
||||
|
||||
private void Commit()
|
||||
{
|
||||
_queueLock.EnterWriteLock();
|
||||
|
||||
Queue<string> tmpQueue = _inputQueue;
|
||||
_inputQueue = _outputQueue;
|
||||
_outputQueue = tmpQueue;
|
||||
|
||||
_queueLock.ExitWriteLock();
|
||||
|
||||
{
|
||||
_queueLock.EnterWriteLock();
|
||||
Queue<string> tmpQueue = _inputQueue;
|
||||
_inputQueue = _outputQueue;
|
||||
_outputQueue = tmpQueue;
|
||||
_queueLock.ExitWriteLock();
|
||||
}
|
||||
|
||||
WriteQueueToFile(ref _outputQueue);
|
||||
}
|
||||
|
||||
private void WriteQueueToFile(ref Queue<string> messageQueue)
|
||||
{
|
||||
_fileLock.EnterWriteLock();
|
||||
try
|
||||
if (messageQueue.Count > 0)
|
||||
{
|
||||
while(messageQueue.Count > 0)
|
||||
_fileLock.EnterWriteLock();
|
||||
|
||||
try
|
||||
{
|
||||
_messageWrittenCount++;
|
||||
StreamWriter writer = System.IO.File.AppendText(_targetDirectory + "\\" + _fileName);
|
||||
|
||||
string message = messageQueue.Dequeue();
|
||||
while (messageQueue.Count > 0)
|
||||
{
|
||||
_messageWrittenCount++;
|
||||
writer.WriteLine(messageQueue.Dequeue());
|
||||
}
|
||||
|
||||
File.AppendAllText(_targetDirectory + "\\" + _fileName, message);
|
||||
writer.Close();
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
Logging.Logging.LogError(e.Message);
|
||||
}
|
||||
finally
|
||||
{
|
||||
_fileLock.ExitWriteLock();
|
||||
}
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
Logging.Logging.LogError(e.Message);
|
||||
}
|
||||
finally
|
||||
{
|
||||
_fileLock.ExitWriteLock();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
+3
-6
@@ -1,13 +1,10 @@
|
||||
using System;
|
||||
using EnvDTE;
|
||||
using EnvDTE80;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using EnvDTE;
|
||||
using EnvDTE80;
|
||||
using System.Runtime.InteropServices;
|
||||
using System.Runtime.InteropServices.ComTypes;
|
||||
using Microsoft.VisualStudio.Shell;
|
||||
using Microsoft.VisualStudio.Shell.Interop;
|
||||
using Microsoft.VisualStudio;
|
||||
|
||||
namespace CoatiSoftware.SourcetrailPlugin.Utility
|
||||
{
|
||||
|
||||
Generated
+237
-233
@@ -17,238 +17,242 @@
|
||||
|
||||
private void InitializeComponent()
|
||||
{
|
||||
this.components = new System.ComponentModel.Container();
|
||||
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(ProjectSetupWindow));
|
||||
this.buttonCancel = new System.Windows.Forms.Button();
|
||||
this.buttonCreate = new System.Windows.Forms.Button();
|
||||
this.comboBoxConfiguration = new System.Windows.Forms.ComboBox();
|
||||
this.comboBoxPlatform = new System.Windows.Forms.ComboBox();
|
||||
this.labelConfiguration = new System.Windows.Forms.Label();
|
||||
this.labelPlatform = new System.Windows.Forms.Label();
|
||||
this.buttonSelectAll = new System.Windows.Forms.Button();
|
||||
this.labelSelectProject = new System.Windows.Forms.Label();
|
||||
this.folderBrowserTargetDirectory = new System.Windows.Forms.FolderBrowserDialog();
|
||||
this.textBoxTargetDirectory = new System.Windows.Forms.TextBox();
|
||||
this.buttonSelect = new System.Windows.Forms.Button();
|
||||
this.textBoxFileName = new System.Windows.Forms.TextBox();
|
||||
this.labelFileName = new System.Windows.Forms.Label();
|
||||
this.labelFileNameEnding = new System.Windows.Forms.Label();
|
||||
this.helpProvider1 = new System.Windows.Forms.HelpProvider();
|
||||
this.comboBoxCStandard = new System.Windows.Forms.ComboBox();
|
||||
this.toolTip1 = new System.Windows.Forms.ToolTip(this.components);
|
||||
this.backgroundWorker1 = new System.ComponentModel.BackgroundWorker();
|
||||
this.labelCStandard = new System.Windows.Forms.Label();
|
||||
this.treeViewProjects = new System.Windows.Forms.TreeView();
|
||||
this.SuspendLayout();
|
||||
//
|
||||
// buttonCancel
|
||||
//
|
||||
this.helpProvider1.SetHelpString(this.buttonCancel, "Abort creation of the CDB");
|
||||
this.buttonCancel.Location = new System.Drawing.Point(12, 413);
|
||||
this.buttonCancel.Name = "buttonCancel";
|
||||
this.helpProvider1.SetShowHelp(this.buttonCancel, true);
|
||||
this.buttonCancel.Size = new System.Drawing.Size(92, 23);
|
||||
this.buttonCancel.TabIndex = 9;
|
||||
this.buttonCancel.Text = "Cancel";
|
||||
this.toolTip1.SetToolTip(this.buttonCancel, "Abort creation of the CDB");
|
||||
this.buttonCancel.UseVisualStyleBackColor = true;
|
||||
this.buttonCancel.Click += new System.EventHandler(this.buttonCancel_Click);
|
||||
//
|
||||
// buttonCreate
|
||||
//
|
||||
this.helpProvider1.SetHelpString(this.buttonCreate, "Start creation of the CDB");
|
||||
this.buttonCreate.Location = new System.Drawing.Point(178, 413);
|
||||
this.buttonCreate.Name = "buttonCreate";
|
||||
this.helpProvider1.SetShowHelp(this.buttonCreate, true);
|
||||
this.buttonCreate.Size = new System.Drawing.Size(92, 23);
|
||||
this.buttonCreate.TabIndex = 8;
|
||||
this.buttonCreate.Text = "Create";
|
||||
this.toolTip1.SetToolTip(this.buttonCreate, "Start creation of the CDB");
|
||||
this.buttonCreate.UseVisualStyleBackColor = true;
|
||||
this.buttonCreate.Click += new System.EventHandler(this.buttonCreate_Click);
|
||||
//
|
||||
// comboBoxConfiguration
|
||||
//
|
||||
this.comboBoxConfiguration.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
|
||||
this.comboBoxConfiguration.FormattingEnabled = true;
|
||||
this.helpProvider1.SetHelpKeyword(this.comboBoxConfiguration, "Build configuration for CDB");
|
||||
this.helpProvider1.SetHelpString(this.comboBoxConfiguration, "The selected build configuration determines the compile flags for the CDB");
|
||||
this.comboBoxConfiguration.Location = new System.Drawing.Point(87, 277);
|
||||
this.comboBoxConfiguration.Name = "comboBoxConfiguration";
|
||||
this.helpProvider1.SetShowHelp(this.comboBoxConfiguration, true);
|
||||
this.comboBoxConfiguration.Size = new System.Drawing.Size(183, 21);
|
||||
this.comboBoxConfiguration.TabIndex = 3;
|
||||
this.toolTip1.SetToolTip(this.comboBoxConfiguration, "The selected build configuration determines the compile flags for the CDB");
|
||||
//
|
||||
// comboBoxPlatform
|
||||
//
|
||||
this.comboBoxPlatform.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
|
||||
this.comboBoxPlatform.FormattingEnabled = true;
|
||||
this.helpProvider1.SetHelpString(this.comboBoxPlatform, "The target platform determines some compiler flags included in the CDB");
|
||||
this.comboBoxPlatform.Location = new System.Drawing.Point(87, 304);
|
||||
this.comboBoxPlatform.Name = "comboBoxPlatform";
|
||||
this.helpProvider1.SetShowHelp(this.comboBoxPlatform, true);
|
||||
this.comboBoxPlatform.Size = new System.Drawing.Size(183, 21);
|
||||
this.comboBoxPlatform.TabIndex = 4;
|
||||
this.toolTip1.SetToolTip(this.comboBoxPlatform, "The target platform determines some compiler flags included in the CDB");
|
||||
//
|
||||
// labelConfiguration
|
||||
//
|
||||
this.labelConfiguration.AutoSize = true;
|
||||
this.labelConfiguration.Location = new System.Drawing.Point(12, 280);
|
||||
this.labelConfiguration.Name = "labelConfiguration";
|
||||
this.labelConfiguration.Size = new System.Drawing.Size(69, 13);
|
||||
this.labelConfiguration.TabIndex = 6;
|
||||
this.labelConfiguration.Text = "Configuration";
|
||||
//
|
||||
// labelPlatform
|
||||
//
|
||||
this.labelPlatform.AutoSize = true;
|
||||
this.labelPlatform.Location = new System.Drawing.Point(12, 307);
|
||||
this.labelPlatform.Name = "labelPlatform";
|
||||
this.labelPlatform.Size = new System.Drawing.Size(45, 13);
|
||||
this.labelPlatform.TabIndex = 7;
|
||||
this.labelPlatform.Text = "Platform";
|
||||
//
|
||||
// buttonSelectAll
|
||||
//
|
||||
this.helpProvider1.SetHelpString(this.buttonSelectAll, "Select all projects if not all are ticked. Deselect all otherwise");
|
||||
this.buttonSelectAll.Location = new System.Drawing.Point(178, 248);
|
||||
this.buttonSelectAll.Name = "buttonSelectAll";
|
||||
this.helpProvider1.SetShowHelp(this.buttonSelectAll, true);
|
||||
this.buttonSelectAll.Size = new System.Drawing.Size(92, 23);
|
||||
this.buttonSelectAll.TabIndex = 2;
|
||||
this.buttonSelectAll.Text = "De/Select All";
|
||||
this.toolTip1.SetToolTip(this.buttonSelectAll, "Select all projects if not all are ticked. Deselect all otherwise");
|
||||
this.buttonSelectAll.UseVisualStyleBackColor = true;
|
||||
this.buttonSelectAll.Click += new System.EventHandler(this.buttonSelectAll_Click);
|
||||
//
|
||||
// labelSelectProject
|
||||
//
|
||||
this.labelSelectProject.AutoSize = true;
|
||||
this.labelSelectProject.Location = new System.Drawing.Point(9, 9);
|
||||
this.labelSelectProject.Name = "labelSelectProject";
|
||||
this.labelSelectProject.Size = new System.Drawing.Size(78, 13);
|
||||
this.labelSelectProject.TabIndex = 9;
|
||||
this.labelSelectProject.Text = "Select Projects";
|
||||
this.labelSelectProject.Click += new System.EventHandler(this.label1_Click);
|
||||
//
|
||||
// textBoxTargetDirectory
|
||||
//
|
||||
this.helpProvider1.SetHelpString(this.textBoxTargetDirectory, "Target directory where the CDB will be stored");
|
||||
this.textBoxTargetDirectory.Location = new System.Drawing.Point(12, 333);
|
||||
this.textBoxTargetDirectory.Name = "textBoxTargetDirectory";
|
||||
this.helpProvider1.SetShowHelp(this.textBoxTargetDirectory, true);
|
||||
this.textBoxTargetDirectory.Size = new System.Drawing.Size(177, 20);
|
||||
this.textBoxTargetDirectory.TabIndex = 10;
|
||||
this.toolTip1.SetToolTip(this.textBoxTargetDirectory, "Target directory where the CDB will be stored");
|
||||
//
|
||||
// buttonSelect
|
||||
//
|
||||
this.helpProvider1.SetHelpString(this.buttonSelect, "Pick a target directory via folder browser");
|
||||
this.buttonSelect.Location = new System.Drawing.Point(195, 331);
|
||||
this.buttonSelect.Name = "buttonSelect";
|
||||
this.helpProvider1.SetShowHelp(this.buttonSelect, true);
|
||||
this.buttonSelect.Size = new System.Drawing.Size(75, 23);
|
||||
this.buttonSelect.TabIndex = 5;
|
||||
this.buttonSelect.Text = "Browse";
|
||||
this.toolTip1.SetToolTip(this.buttonSelect, "Pick a target directory via folder browser");
|
||||
this.buttonSelect.UseVisualStyleBackColor = true;
|
||||
this.buttonSelect.Click += new System.EventHandler(this.buttonSelect_Click);
|
||||
//
|
||||
// textBoxFileName
|
||||
//
|
||||
this.textBoxFileName.Location = new System.Drawing.Point(87, 360);
|
||||
this.textBoxFileName.Name = "textBoxFileName";
|
||||
this.textBoxFileName.Size = new System.Drawing.Size(148, 20);
|
||||
this.textBoxFileName.TabIndex = 6;
|
||||
this.textBoxFileName.TextChanged += new System.EventHandler(this.textBoxFileName_TextChanged);
|
||||
this.textBoxFileName.Leave += new System.EventHandler(this.textBoxFileName_Leave);
|
||||
//
|
||||
// labelFileName
|
||||
//
|
||||
this.labelFileName.AutoSize = true;
|
||||
this.labelFileName.Location = new System.Drawing.Point(12, 363);
|
||||
this.labelFileName.Name = "labelFileName";
|
||||
this.labelFileName.Size = new System.Drawing.Size(60, 13);
|
||||
this.labelFileName.TabIndex = 13;
|
||||
this.labelFileName.Text = "CDB Name";
|
||||
//
|
||||
// labelFileNameEnding
|
||||
//
|
||||
this.labelFileNameEnding.AutoSize = true;
|
||||
this.labelFileNameEnding.Location = new System.Drawing.Point(241, 363);
|
||||
this.labelFileNameEnding.Name = "labelFileNameEnding";
|
||||
this.labelFileNameEnding.Size = new System.Drawing.Size(29, 13);
|
||||
this.labelFileNameEnding.TabIndex = 14;
|
||||
this.labelFileNameEnding.Text = ".json";
|
||||
//
|
||||
// comboBoxCStandard
|
||||
//
|
||||
this.comboBoxCStandard.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
|
||||
this.comboBoxCStandard.FormattingEnabled = true;
|
||||
this.helpProvider1.SetHelpString(this.comboBoxCStandard, "Your Solution contains C Files. Please specify which C standard is to be used for" +
|
||||
" building.");
|
||||
this.comboBoxCStandard.Location = new System.Drawing.Point(87, 386);
|
||||
this.comboBoxCStandard.Name = "comboBoxCStandard";
|
||||
this.helpProvider1.SetShowHelp(this.comboBoxCStandard, true);
|
||||
this.comboBoxCStandard.Size = new System.Drawing.Size(183, 21);
|
||||
this.comboBoxCStandard.TabIndex = 7;
|
||||
this.toolTip1.SetToolTip(this.comboBoxCStandard, "Your Solution contains C Files. Please specify which C standard is to be used for" +
|
||||
" building.");
|
||||
//
|
||||
// labelCStandard
|
||||
//
|
||||
this.labelCStandard.AutoSize = true;
|
||||
this.labelCStandard.Location = new System.Drawing.Point(12, 389);
|
||||
this.labelCStandard.Name = "labelCStandard";
|
||||
this.labelCStandard.Size = new System.Drawing.Size(60, 13);
|
||||
this.labelCStandard.TabIndex = 16;
|
||||
this.labelCStandard.Text = "C Standard";
|
||||
//
|
||||
// treeViewProjects
|
||||
//
|
||||
this.treeViewProjects.CheckBoxes = true;
|
||||
this.treeViewProjects.Location = new System.Drawing.Point(12, 26);
|
||||
this.treeViewProjects.Name = "treeViewProjects";
|
||||
this.treeViewProjects.Size = new System.Drawing.Size(258, 216);
|
||||
this.treeViewProjects.TabIndex = 17;
|
||||
this.treeViewProjects.MouseUp += new System.Windows.Forms.MouseEventHandler(this.ProjectCheckList_MouseUp);
|
||||
this.treeViewProjects.AfterCheck += new System.Windows.Forms.TreeViewEventHandler(this.treeViewProjects_NodeCheckChanged);
|
||||
//
|
||||
// ProjectSetupWindow
|
||||
//
|
||||
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
|
||||
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
|
||||
this.AutoSize = true;
|
||||
this.ClientSize = new System.Drawing.Size(282, 443);
|
||||
this.Controls.Add(this.treeViewProjects);
|
||||
this.Controls.Add(this.labelCStandard);
|
||||
this.Controls.Add(this.comboBoxCStandard);
|
||||
this.Controls.Add(this.labelFileNameEnding);
|
||||
this.Controls.Add(this.labelFileName);
|
||||
this.Controls.Add(this.textBoxFileName);
|
||||
this.Controls.Add(this.buttonSelect);
|
||||
this.Controls.Add(this.textBoxTargetDirectory);
|
||||
this.Controls.Add(this.labelSelectProject);
|
||||
this.Controls.Add(this.buttonSelectAll);
|
||||
this.Controls.Add(this.labelPlatform);
|
||||
this.Controls.Add(this.labelConfiguration);
|
||||
this.Controls.Add(this.comboBoxPlatform);
|
||||
this.Controls.Add(this.comboBoxConfiguration);
|
||||
this.Controls.Add(this.buttonCreate);
|
||||
this.Controls.Add(this.buttonCancel);
|
||||
this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedToolWindow;
|
||||
this.helpProvider1.SetHelpString(this, "Create a CDB from the current C++ solution.");
|
||||
this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon")));
|
||||
this.MaximizeBox = false;
|
||||
this.MinimizeBox = false;
|
||||
this.Name = "ProjectSetupWindow";
|
||||
this.helpProvider1.SetShowHelp(this, true);
|
||||
this.Text = "Create Compilation Database";
|
||||
this.toolTip1.SetToolTip(this, "Create a CDB from the current C++ solution.");
|
||||
this.ResumeLayout(false);
|
||||
this.PerformLayout();
|
||||
this.components = new System.ComponentModel.Container();
|
||||
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(ProjectSetupWindow));
|
||||
this.buttonCancel = new System.Windows.Forms.Button();
|
||||
this.buttonCreate = new System.Windows.Forms.Button();
|
||||
this.comboBoxConfiguration = new System.Windows.Forms.ComboBox();
|
||||
this.comboBoxPlatform = new System.Windows.Forms.ComboBox();
|
||||
this.labelConfiguration = new System.Windows.Forms.Label();
|
||||
this.labelPlatform = new System.Windows.Forms.Label();
|
||||
this.buttonSelectAll = new System.Windows.Forms.Button();
|
||||
this.labelSelectProject = new System.Windows.Forms.Label();
|
||||
this.folderBrowserTargetDirectory = new System.Windows.Forms.FolderBrowserDialog();
|
||||
this.textBoxTargetDirectory = new System.Windows.Forms.TextBox();
|
||||
this.buttonSelect = new System.Windows.Forms.Button();
|
||||
this.textBoxFileName = new System.Windows.Forms.TextBox();
|
||||
this.labelFileName = new System.Windows.Forms.Label();
|
||||
this.labelFileNameExtension = new System.Windows.Forms.Label();
|
||||
this.helpProvider1 = new System.Windows.Forms.HelpProvider();
|
||||
this.comboBoxCStandard = new System.Windows.Forms.ComboBox();
|
||||
this.toolTip1 = new System.Windows.Forms.ToolTip(this.components);
|
||||
this.backgroundWorker1 = new System.ComponentModel.BackgroundWorker();
|
||||
this.labelCStandard = new System.Windows.Forms.Label();
|
||||
this.treeViewProjects = new System.Windows.Forms.TreeView();
|
||||
this.SuspendLayout();
|
||||
//
|
||||
// buttonCancel
|
||||
//
|
||||
this.helpProvider1.SetHelpString(this.buttonCancel, "Abort creation of the Compilation Database");
|
||||
this.buttonCancel.Location = new System.Drawing.Point(12, 413);
|
||||
this.buttonCancel.Name = "buttonCancel";
|
||||
this.helpProvider1.SetShowHelp(this.buttonCancel, true);
|
||||
this.buttonCancel.Size = new System.Drawing.Size(92, 23);
|
||||
this.buttonCancel.TabIndex = 9;
|
||||
this.buttonCancel.Text = "Cancel";
|
||||
this.toolTip1.SetToolTip(this.buttonCancel, "Abort creation of the Compilation Database");
|
||||
this.buttonCancel.UseVisualStyleBackColor = true;
|
||||
this.buttonCancel.Click += new System.EventHandler(this.buttonCancel_Click);
|
||||
//
|
||||
// buttonCreate
|
||||
//
|
||||
this.helpProvider1.SetHelpString(this.buttonCreate, "Start creation of the Compilation Database");
|
||||
this.buttonCreate.Location = new System.Drawing.Point(178, 413);
|
||||
this.buttonCreate.Name = "buttonCreate";
|
||||
this.helpProvider1.SetShowHelp(this.buttonCreate, true);
|
||||
this.buttonCreate.Size = new System.Drawing.Size(92, 23);
|
||||
this.buttonCreate.TabIndex = 8;
|
||||
this.buttonCreate.Text = "Create";
|
||||
this.toolTip1.SetToolTip(this.buttonCreate, "Start creation of the Compilation Database");
|
||||
this.buttonCreate.UseVisualStyleBackColor = true;
|
||||
this.buttonCreate.Click += new System.EventHandler(this.buttonCreate_Click);
|
||||
//
|
||||
// comboBoxConfiguration
|
||||
//
|
||||
this.comboBoxConfiguration.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
|
||||
this.comboBoxConfiguration.FormattingEnabled = true;
|
||||
this.helpProvider1.SetHelpKeyword(this.comboBoxConfiguration, "Build configuration for Compilation Database");
|
||||
this.helpProvider1.SetHelpString(this.comboBoxConfiguration, "The selected build configuration determines the compile flags for the Compilation" +
|
||||
" Database");
|
||||
this.comboBoxConfiguration.Location = new System.Drawing.Point(87, 277);
|
||||
this.comboBoxConfiguration.Name = "comboBoxConfiguration";
|
||||
this.helpProvider1.SetShowHelp(this.comboBoxConfiguration, true);
|
||||
this.comboBoxConfiguration.Size = new System.Drawing.Size(183, 21);
|
||||
this.comboBoxConfiguration.TabIndex = 3;
|
||||
this.toolTip1.SetToolTip(this.comboBoxConfiguration, "The selected build configuration determines the compile flags for the Compilation" +
|
||||
" Database");
|
||||
//
|
||||
// comboBoxPlatform
|
||||
//
|
||||
this.comboBoxPlatform.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
|
||||
this.comboBoxPlatform.FormattingEnabled = true;
|
||||
this.helpProvider1.SetHelpString(this.comboBoxPlatform, "The target platform determines some compiler flags included in the Compilation Da" +
|
||||
"tabase");
|
||||
this.comboBoxPlatform.Location = new System.Drawing.Point(87, 304);
|
||||
this.comboBoxPlatform.Name = "comboBoxPlatform";
|
||||
this.helpProvider1.SetShowHelp(this.comboBoxPlatform, true);
|
||||
this.comboBoxPlatform.Size = new System.Drawing.Size(183, 21);
|
||||
this.comboBoxPlatform.TabIndex = 4;
|
||||
this.toolTip1.SetToolTip(this.comboBoxPlatform, "The target platform determines some compiler flags included in the Compilation Da" +
|
||||
"tabase");
|
||||
//
|
||||
// labelConfiguration
|
||||
//
|
||||
this.labelConfiguration.AutoSize = true;
|
||||
this.labelConfiguration.Location = new System.Drawing.Point(12, 280);
|
||||
this.labelConfiguration.Name = "labelConfiguration";
|
||||
this.labelConfiguration.Size = new System.Drawing.Size(69, 13);
|
||||
this.labelConfiguration.TabIndex = 6;
|
||||
this.labelConfiguration.Text = "Configuration";
|
||||
//
|
||||
// labelPlatform
|
||||
//
|
||||
this.labelPlatform.AutoSize = true;
|
||||
this.labelPlatform.Location = new System.Drawing.Point(12, 307);
|
||||
this.labelPlatform.Name = "labelPlatform";
|
||||
this.labelPlatform.Size = new System.Drawing.Size(45, 13);
|
||||
this.labelPlatform.TabIndex = 7;
|
||||
this.labelPlatform.Text = "Platform";
|
||||
//
|
||||
// buttonSelectAll
|
||||
//
|
||||
this.helpProvider1.SetHelpString(this.buttonSelectAll, "Select all projects if not all are ticked. Deselect all otherwise");
|
||||
this.buttonSelectAll.Location = new System.Drawing.Point(178, 248);
|
||||
this.buttonSelectAll.Name = "buttonSelectAll";
|
||||
this.helpProvider1.SetShowHelp(this.buttonSelectAll, true);
|
||||
this.buttonSelectAll.Size = new System.Drawing.Size(92, 23);
|
||||
this.buttonSelectAll.TabIndex = 2;
|
||||
this.buttonSelectAll.Text = "De/Select All";
|
||||
this.toolTip1.SetToolTip(this.buttonSelectAll, "Select all projects if not all are ticked. Deselect all otherwise");
|
||||
this.buttonSelectAll.UseVisualStyleBackColor = true;
|
||||
this.buttonSelectAll.Click += new System.EventHandler(this.buttonSelectAll_Click);
|
||||
//
|
||||
// labelSelectProject
|
||||
//
|
||||
this.labelSelectProject.AutoSize = true;
|
||||
this.labelSelectProject.Location = new System.Drawing.Point(9, 9);
|
||||
this.labelSelectProject.Name = "labelSelectProject";
|
||||
this.labelSelectProject.Size = new System.Drawing.Size(78, 13);
|
||||
this.labelSelectProject.TabIndex = 9;
|
||||
this.labelSelectProject.Text = "Select Projects";
|
||||
this.labelSelectProject.Click += new System.EventHandler(this.label1_Click);
|
||||
//
|
||||
// textBoxTargetDirectory
|
||||
//
|
||||
this.helpProvider1.SetHelpString(this.textBoxTargetDirectory, "Target directory where the Compilation Database will be stored");
|
||||
this.textBoxTargetDirectory.Location = new System.Drawing.Point(12, 333);
|
||||
this.textBoxTargetDirectory.Name = "textBoxTargetDirectory";
|
||||
this.helpProvider1.SetShowHelp(this.textBoxTargetDirectory, true);
|
||||
this.textBoxTargetDirectory.Size = new System.Drawing.Size(177, 20);
|
||||
this.textBoxTargetDirectory.TabIndex = 10;
|
||||
this.toolTip1.SetToolTip(this.textBoxTargetDirectory, "Target directory where the Compilation Database will be stored");
|
||||
//
|
||||
// buttonSelect
|
||||
//
|
||||
this.helpProvider1.SetHelpString(this.buttonSelect, "Pick a target directory via folder browser");
|
||||
this.buttonSelect.Location = new System.Drawing.Point(195, 331);
|
||||
this.buttonSelect.Name = "buttonSelect";
|
||||
this.helpProvider1.SetShowHelp(this.buttonSelect, true);
|
||||
this.buttonSelect.Size = new System.Drawing.Size(75, 23);
|
||||
this.buttonSelect.TabIndex = 5;
|
||||
this.buttonSelect.Text = "Browse";
|
||||
this.toolTip1.SetToolTip(this.buttonSelect, "Pick a target directory via folder browser");
|
||||
this.buttonSelect.UseVisualStyleBackColor = true;
|
||||
this.buttonSelect.Click += new System.EventHandler(this.buttonSelect_Click);
|
||||
//
|
||||
// textBoxFileName
|
||||
//
|
||||
this.textBoxFileName.Location = new System.Drawing.Point(87, 360);
|
||||
this.textBoxFileName.Name = "textBoxFileName";
|
||||
this.textBoxFileName.Size = new System.Drawing.Size(148, 20);
|
||||
this.textBoxFileName.TabIndex = 6;
|
||||
this.textBoxFileName.TextChanged += new System.EventHandler(this.textBoxFileName_TextChanged);
|
||||
this.textBoxFileName.Leave += new System.EventHandler(this.textBoxFileName_Leave);
|
||||
//
|
||||
// labelFileName
|
||||
//
|
||||
this.labelFileName.AutoSize = true;
|
||||
this.labelFileName.Location = new System.Drawing.Point(12, 363);
|
||||
this.labelFileName.Name = "labelFileName";
|
||||
this.labelFileName.Size = new System.Drawing.Size(49, 13);
|
||||
this.labelFileName.TabIndex = 13;
|
||||
this.labelFileName.Text = "Filename";
|
||||
//
|
||||
// labelFileNameExtension
|
||||
//
|
||||
this.labelFileNameExtension.AutoSize = true;
|
||||
this.labelFileNameExtension.Location = new System.Drawing.Point(241, 363);
|
||||
this.labelFileNameExtension.Name = "labelFileNameExtension";
|
||||
this.labelFileNameExtension.Size = new System.Drawing.Size(29, 13);
|
||||
this.labelFileNameExtension.TabIndex = 14;
|
||||
this.labelFileNameExtension.Text = ".json";
|
||||
//
|
||||
// comboBoxCStandard
|
||||
//
|
||||
this.comboBoxCStandard.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
|
||||
this.comboBoxCStandard.FormattingEnabled = true;
|
||||
this.helpProvider1.SetHelpString(this.comboBoxCStandard, "In case your solution contains C files, please specify which C standard is to be " +
|
||||
"used for building.");
|
||||
this.comboBoxCStandard.Location = new System.Drawing.Point(87, 386);
|
||||
this.comboBoxCStandard.Name = "comboBoxCStandard";
|
||||
this.helpProvider1.SetShowHelp(this.comboBoxCStandard, true);
|
||||
this.comboBoxCStandard.Size = new System.Drawing.Size(183, 21);
|
||||
this.comboBoxCStandard.TabIndex = 7;
|
||||
this.toolTip1.SetToolTip(this.comboBoxCStandard, "In case your solution contains C files, please specify which C standard is to be " +
|
||||
"used for building.");
|
||||
//
|
||||
// labelCStandard
|
||||
//
|
||||
this.labelCStandard.AutoSize = true;
|
||||
this.labelCStandard.Location = new System.Drawing.Point(12, 389);
|
||||
this.labelCStandard.Name = "labelCStandard";
|
||||
this.labelCStandard.Size = new System.Drawing.Size(60, 13);
|
||||
this.labelCStandard.TabIndex = 16;
|
||||
this.labelCStandard.Text = "C Standard";
|
||||
//
|
||||
// treeViewProjects
|
||||
//
|
||||
this.treeViewProjects.CheckBoxes = true;
|
||||
this.treeViewProjects.Location = new System.Drawing.Point(12, 26);
|
||||
this.treeViewProjects.Name = "treeViewProjects";
|
||||
this.treeViewProjects.Size = new System.Drawing.Size(258, 216);
|
||||
this.treeViewProjects.TabIndex = 17;
|
||||
this.treeViewProjects.AfterCheck += new System.Windows.Forms.TreeViewEventHandler(this.treeViewProjects_NodeCheckChanged);
|
||||
this.treeViewProjects.MouseUp += new System.Windows.Forms.MouseEventHandler(this.ProjectCheckList_MouseUp);
|
||||
//
|
||||
// ProjectSetupWindow
|
||||
//
|
||||
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
|
||||
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
|
||||
this.AutoSize = true;
|
||||
this.ClientSize = new System.Drawing.Size(282, 443);
|
||||
this.Controls.Add(this.treeViewProjects);
|
||||
this.Controls.Add(this.labelCStandard);
|
||||
this.Controls.Add(this.comboBoxCStandard);
|
||||
this.Controls.Add(this.labelFileNameExtension);
|
||||
this.Controls.Add(this.labelFileName);
|
||||
this.Controls.Add(this.textBoxFileName);
|
||||
this.Controls.Add(this.buttonSelect);
|
||||
this.Controls.Add(this.textBoxTargetDirectory);
|
||||
this.Controls.Add(this.labelSelectProject);
|
||||
this.Controls.Add(this.buttonSelectAll);
|
||||
this.Controls.Add(this.labelPlatform);
|
||||
this.Controls.Add(this.labelConfiguration);
|
||||
this.Controls.Add(this.comboBoxPlatform);
|
||||
this.Controls.Add(this.comboBoxConfiguration);
|
||||
this.Controls.Add(this.buttonCreate);
|
||||
this.Controls.Add(this.buttonCancel);
|
||||
this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedToolWindow;
|
||||
this.helpProvider1.SetHelpString(this, "Create a Compilation Database from the current C/C++ solution.");
|
||||
this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon")));
|
||||
this.MaximizeBox = false;
|
||||
this.MinimizeBox = false;
|
||||
this.Name = "ProjectSetupWindow";
|
||||
this.helpProvider1.SetShowHelp(this, true);
|
||||
this.Text = "Create Compilation Database";
|
||||
this.toolTip1.SetToolTip(this, "Create a Compilation Database from the current C/C++ solution.");
|
||||
this.ResumeLayout(false);
|
||||
this.PerformLayout();
|
||||
|
||||
}
|
||||
|
||||
@@ -266,7 +270,7 @@
|
||||
private System.Windows.Forms.Button buttonSelect;
|
||||
private System.Windows.Forms.TextBox textBoxFileName;
|
||||
private System.Windows.Forms.Label labelFileName;
|
||||
private System.Windows.Forms.Label labelFileNameEnding;
|
||||
private System.Windows.Forms.Label labelFileNameExtension;
|
||||
private System.Windows.Forms.HelpProvider helpProvider1;
|
||||
private System.Windows.Forms.ToolTip toolTip1;
|
||||
private System.ComponentModel.BackgroundWorker backgroundWorker1;
|
||||
|
||||
+19
-12
@@ -1,8 +1,8 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Windows.Forms;
|
||||
using System.IO;
|
||||
using System.Text.RegularExpressions;
|
||||
using System.Windows.Forms;
|
||||
|
||||
namespace CoatiSoftware.SourcetrailPlugin.Wizard
|
||||
{
|
||||
@@ -39,7 +39,7 @@ namespace CoatiSoftware.SourcetrailPlugin.Wizard
|
||||
"c9x", "gnu9x", "iso9899:199x", "c99", "gnu99", "iso9899:1999", "iso9899:199409", "c90", "gnu90", "iso9899:1990",
|
||||
"c89", "gnu89" };
|
||||
|
||||
public SolutionParser.CompilationDatabase _cdb = new SolutionParser.CompilationDatabase();
|
||||
public SolutionParser.CompilationDatabaseSettings _cdb = new SolutionParser.CompilationDatabaseSettings();
|
||||
|
||||
public ProjectSetupWindow()
|
||||
{
|
||||
@@ -168,23 +168,30 @@ namespace CoatiSoftware.SourcetrailPlugin.Wizard
|
||||
|
||||
private void InitTextBoxTargetDirectory()
|
||||
{
|
||||
Logging.Logging.LogInfo("Setting default target directory: \"" + Logging.Obfuscation.NameObfuscator.GetObfuscatedName(_solutionDirectory) + "\"");
|
||||
|
||||
folderBrowserTargetDirectory.SelectedPath = _solutionDirectory;
|
||||
string rootDirectory = folderBrowserTargetDirectory.SelectedPath.ToString();
|
||||
textBoxTargetDirectory.Text = rootDirectory;
|
||||
if (_cdb == null)
|
||||
{
|
||||
Logging.Logging.LogInfo("Setting default target directory to default: \"" + Logging.Obfuscation.NameObfuscator.GetObfuscatedName(_solutionDirectory) + "\"");
|
||||
folderBrowserTargetDirectory.SelectedPath = _solutionDirectory;
|
||||
textBoxTargetDirectory.Text = _solutionDirectory;
|
||||
}
|
||||
else
|
||||
{
|
||||
Logging.Logging.LogInfo("Setting default target directory to recent: \"" + Logging.Obfuscation.NameObfuscator.GetObfuscatedName(_cdb.Directory) + "\"");
|
||||
folderBrowserTargetDirectory.SelectedPath = _cdb.Directory;
|
||||
textBoxTargetDirectory.Text = _cdb.Directory;
|
||||
}
|
||||
}
|
||||
|
||||
private void InitTextBoxFileName()
|
||||
{
|
||||
Logging.Logging.LogInfo("Setting default file name: '" + Logging.Obfuscation.NameObfuscator.GetObfuscatedName(_solutionFileName) + "'");
|
||||
|
||||
if(_cdb == null)
|
||||
{
|
||||
Logging.Logging.LogInfo("Setting file name to default: '" + Logging.Obfuscation.NameObfuscator.GetObfuscatedName(_solutionFileName) + "'");
|
||||
textBoxFileName.Text = _solutionFileName;
|
||||
}
|
||||
else
|
||||
{
|
||||
Logging.Logging.LogInfo("Setting file name to recent: '" + Logging.Obfuscation.NameObfuscator.GetObfuscatedName(_cdb.Name) + "'");
|
||||
textBoxFileName.Text = _cdb.Name;
|
||||
}
|
||||
}
|
||||
@@ -252,7 +259,7 @@ namespace CoatiSoftware.SourcetrailPlugin.Wizard
|
||||
|
||||
if(result == DialogResult.No)
|
||||
{
|
||||
Logging.Logging.LogInfo("Aborting CDB creation and attempting to make file name unique.");
|
||||
Logging.Logging.LogInfo("Aborting Cdb creation and attempting to make file name unique.");
|
||||
MakeFileNameUnique();
|
||||
return;
|
||||
}
|
||||
@@ -286,7 +293,7 @@ namespace CoatiSoftware.SourcetrailPlugin.Wizard
|
||||
}
|
||||
else
|
||||
{
|
||||
Logging.Logging.LogError("CDB create callback is not set. Cannot start creating CDB.");
|
||||
Logging.Logging.LogError("Cdb create callback is not set. Cannot start creating Cdb.");
|
||||
}
|
||||
}
|
||||
|
||||
@@ -305,7 +312,7 @@ namespace CoatiSoftware.SourcetrailPlugin.Wizard
|
||||
{
|
||||
string fileName = textBoxFileName.Text;
|
||||
string path = textBoxTargetDirectory.Text;
|
||||
string extension = labelFileNameEnding.Text;
|
||||
string extension = labelFileNameExtension.Text;
|
||||
|
||||
return File.Exists(path + "\\" + fileName + extension);
|
||||
}
|
||||
|
||||
Generated
+6
-6
@@ -1,6 +1,6 @@
|
||||
namespace CoatiSoftware.SourcetrailPlugin.Wizard
|
||||
{
|
||||
partial class WindowCDBReady
|
||||
partial class WindowCdbReady
|
||||
{
|
||||
/// <summary>
|
||||
/// Required designer variable.
|
||||
@@ -28,7 +28,7 @@
|
||||
/// </summary>
|
||||
private void InitializeComponent()
|
||||
{
|
||||
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(WindowCDBReady));
|
||||
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(WindowCdbReady));
|
||||
this.label_message = new System.Windows.Forms.Label();
|
||||
this.button_ok = new System.Windows.Forms.Button();
|
||||
this.button_import = new System.Windows.Forms.Button();
|
||||
@@ -80,7 +80,7 @@
|
||||
this.button_open.UseVisualStyleBackColor = true;
|
||||
this.button_open.Click += new System.EventHandler(this.button_open_Click);
|
||||
//
|
||||
// WindowCDBReady
|
||||
// WindowCdbReady
|
||||
//
|
||||
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
|
||||
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
|
||||
@@ -92,9 +92,9 @@
|
||||
this.Controls.Add(this.label_message);
|
||||
this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon")));
|
||||
this.MinimumSize = new System.Drawing.Size(330, 160);
|
||||
this.Name = "WindowCDBReady";
|
||||
this.Text = "CDB Ready";
|
||||
this.Resize += new System.EventHandler(this.WindowCDBReady_Resize);
|
||||
this.Name = "WindowCdbReady";
|
||||
this.Text = "Cdb Ready";
|
||||
this.Resize += new System.EventHandler(this.WindowCdbReady_Resize);
|
||||
this.ResumeLayout(false);
|
||||
|
||||
}
|
||||
|
||||
@@ -1,24 +1,14 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.ComponentModel;
|
||||
using System.Data;
|
||||
using System.Drawing;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using System.Windows.Forms;
|
||||
|
||||
namespace CoatiSoftware.SourcetrailPlugin.Wizard
|
||||
{
|
||||
public partial class WindowCDBReady : Form
|
||||
public partial class WindowCdbReady : Form
|
||||
{
|
||||
private string _message0 = "The CDB ";
|
||||
private string _message1 = " was created at directory ";
|
||||
private string _message2 = "Do you want to auto-import it in Sourcetrail now?";
|
||||
private WindowCreateCdb.CreationResult _creationResult = new WindowCreateCdb.CreationResult();
|
||||
|
||||
private WindowCreateCDB.CreationResult _creationResult = new WindowCreateCDB.CreationResult();
|
||||
|
||||
public WindowCDBReady()
|
||||
public WindowCdbReady()
|
||||
{
|
||||
InitializeComponent();
|
||||
|
||||
@@ -26,12 +16,13 @@ namespace CoatiSoftware.SourcetrailPlugin.Wizard
|
||||
label_message.MaximumSize = new Size((int)((float)MaximumSize.Width * 0.8f), 0);
|
||||
}
|
||||
|
||||
public void setData(WindowCreateCDB.CreationResult creationResult)
|
||||
public void setData(WindowCreateCdb.CreationResult creationResult)
|
||||
{
|
||||
_creationResult = creationResult;
|
||||
|
||||
label_message.Text = _message0 + "'" + creationResult._cdbName + "'" + _message1 + "\"" + creationResult._cdbDirectory + "\".";
|
||||
label_message.Text += "\n" + _message2;
|
||||
label_message.Text = "The Compilation Database \"" + creationResult._cdbName +
|
||||
"\" was created at directory \"" + creationResult._cdbDirectory + "\".\n" +
|
||||
"Do you want to auto-import it in Sourcetrail now?";
|
||||
}
|
||||
|
||||
private void button_ok_Click(object sender, EventArgs e)
|
||||
@@ -53,7 +44,7 @@ namespace CoatiSoftware.SourcetrailPlugin.Wizard
|
||||
Close();
|
||||
}
|
||||
|
||||
private void WindowCDBReady_Resize(object sender, EventArgs e)
|
||||
private void WindowCdbReady_Resize(object sender, EventArgs e)
|
||||
{
|
||||
label_message.MaximumSize = new Size((int)((float)MaximumSize.Width * 0.8f), 0);
|
||||
}
|
||||
|
||||
Generated
+5
-5
@@ -1,6 +1,6 @@
|
||||
namespace CoatiSoftware.SourcetrailPlugin.Wizard
|
||||
{
|
||||
partial class WindowCreateCDB
|
||||
partial class WindowCreateCdb
|
||||
{
|
||||
/// <summary>
|
||||
/// Required designer variable.
|
||||
@@ -28,7 +28,7 @@
|
||||
/// </summary>
|
||||
private void InitializeComponent()
|
||||
{
|
||||
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(WindowCreateCDB));
|
||||
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(WindowCreateCdb));
|
||||
this.progressBar = new System.Windows.Forms.ProgressBar();
|
||||
this.labelStatus = new System.Windows.Forms.Label();
|
||||
this.backgroundWorker1 = new System.ComponentModel.BackgroundWorker();
|
||||
@@ -57,7 +57,7 @@
|
||||
this.backgroundWorker1.ProgressChanged += new System.ComponentModel.ProgressChangedEventHandler(this.backgroundWorker1_ProgressChanged);
|
||||
this.backgroundWorker1.RunWorkerCompleted += new System.ComponentModel.RunWorkerCompletedEventHandler(this.backgroundWorker1_RunWorkerCompleted);
|
||||
//
|
||||
// WindowCreateCDB
|
||||
// WindowCreateCdb
|
||||
//
|
||||
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
|
||||
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
|
||||
@@ -67,9 +67,9 @@
|
||||
this.Cursor = System.Windows.Forms.Cursors.WaitCursor;
|
||||
this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedToolWindow;
|
||||
this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon")));
|
||||
this.Name = "WindowCreateCDB";
|
||||
this.Name = "WindowCreateCdb";
|
||||
this.Text = "Creating Compilation Data Base";
|
||||
this.FormClosed += new System.Windows.Forms.FormClosedEventHandler(this.WindowCreateCDB_FormClosed);
|
||||
this.FormClosed += new System.Windows.Forms.FormClosedEventHandler(this.WindowCreateCdb_FormClosed);
|
||||
this.ResumeLayout(false);
|
||||
this.PerformLayout();
|
||||
|
||||
|
||||
+33
-50
@@ -1,27 +1,27 @@
|
||||
using System;
|
||||
using CoatiSoftware.SourcetrailPlugin.SolutionParser;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.ComponentModel;
|
||||
using System.IO;
|
||||
using System.Threading.Tasks;
|
||||
using System.Threading;
|
||||
using System.Windows.Forms;
|
||||
using CoatiSoftware.SourcetrailPlugin.SolutionParser;
|
||||
|
||||
namespace CoatiSoftware.SourcetrailPlugin.Wizard
|
||||
{
|
||||
public partial class WindowCreateCDB : Form
|
||||
public partial class WindowCreateCdb : Form
|
||||
{
|
||||
public struct CreationResult
|
||||
{
|
||||
public SolutionParser.CompilationDatabase _cdb;
|
||||
public SolutionParser.CompilationDatabaseSettings _cdbSettings;
|
||||
public string _cdbDirectory;
|
||||
public string _cdbName;
|
||||
public List<string> _headerDirectories;
|
||||
}
|
||||
|
||||
public delegate void OnFinishedCreatingCDB(CreationResult result);
|
||||
public delegate void OnFinishedCreatingCdb(CreationResult result);
|
||||
|
||||
private OnFinishedCreatingCDB _onFinishedCreateCDB = null;
|
||||
private OnFinishedCreatingCdb _onFinishedCreateCdb = null;
|
||||
|
||||
private List<EnvDTE.Project> _projects = new List<EnvDTE.Project>();
|
||||
|
||||
@@ -33,19 +33,19 @@ namespace CoatiSoftware.SourcetrailPlugin.Wizard
|
||||
private string _solutionDir = "";
|
||||
private List<string> _headerDirectories;
|
||||
|
||||
private SolutionParser.CompilationDatabase _cdb = null;
|
||||
private SolutionParser.CompilationDatabaseSettings _cdb = null;
|
||||
|
||||
CreationResult _result = new CreationResult();
|
||||
private CreationResult _result = new CreationResult();
|
||||
|
||||
private int _threadCount = 1;
|
||||
|
||||
private static object _lockObject = new object();
|
||||
private static ReaderWriterLockSlim _readWriteLock = new ReaderWriterLockSlim();
|
||||
|
||||
public OnFinishedCreatingCDB CallbackOnFinishedCreatingCDB
|
||||
public OnFinishedCreatingCdb CallbackOnFinishedCreatingCdb
|
||||
{
|
||||
get { return _onFinishedCreateCDB; }
|
||||
set { _onFinishedCreateCDB = value; }
|
||||
get { return _onFinishedCreateCdb; }
|
||||
set { _onFinishedCreateCdb = value; }
|
||||
}
|
||||
|
||||
public List<EnvDTE.Project> Projects
|
||||
@@ -96,14 +96,14 @@ namespace CoatiSoftware.SourcetrailPlugin.Wizard
|
||||
set { _solutionDir = value; }
|
||||
}
|
||||
|
||||
public SolutionParser.CompilationDatabase CDB
|
||||
public SolutionParser.CompilationDatabaseSettings Cdb
|
||||
{
|
||||
get { return _cdb; }
|
||||
set { _cdb = value; }
|
||||
}
|
||||
|
||||
|
||||
public WindowCreateCDB()
|
||||
public WindowCreateCdb()
|
||||
{
|
||||
InitializeComponent();
|
||||
|
||||
@@ -116,57 +116,51 @@ namespace CoatiSoftware.SourcetrailPlugin.Wizard
|
||||
|
||||
public void StartWorking()
|
||||
{
|
||||
// Show();
|
||||
|
||||
backgroundWorker1.RunWorkerAsync();
|
||||
}
|
||||
|
||||
private CreationResult CreateCDB()
|
||||
private CreationResult CreateCdb()
|
||||
{
|
||||
CreationResult result = new CreationResult();
|
||||
result._cdb = null;
|
||||
result._cdbSettings = null;
|
||||
result._cdbDirectory = "";
|
||||
result._cdbName = "";
|
||||
result._headerDirectories = new List<string>();
|
||||
|
||||
Logging.Logging.LogInfo("Starting to create CDB");
|
||||
|
||||
SolutionParser.CompilationDatabase cdb = null;
|
||||
SolutionParser.CompilationDatabaseSettings cdbSettings = null;
|
||||
_headerDirectories = new List<string>();
|
||||
|
||||
try
|
||||
{
|
||||
System.Diagnostics.Stopwatch watch = new System.Diagnostics.Stopwatch();
|
||||
|
||||
watch.Start();
|
||||
|
||||
cdb = CreateCommandObjects();
|
||||
|
||||
CreateCompilationDatabase();
|
||||
watch.Stop();
|
||||
|
||||
Logging.Logging.LogInfo("Finished, elapsed time: " + watch.ElapsedMilliseconds.ToString() + " ms");
|
||||
Logging.Logging.LogInfo("Finished creating CDB, elapsed time: " + watch.ElapsedMilliseconds.ToString() + " ms");
|
||||
|
||||
cdb.Name = _fileName;
|
||||
cdb.Directory = _targetDir;
|
||||
cdb.SourceProject = _solutionDir;
|
||||
cdb.LastUpdated = DateTime.Now;
|
||||
cdb.ConfigurationName = _configurationName;
|
||||
cdb.PlatformName = _platformName;
|
||||
cdbSettings = new CompilationDatabaseSettings();
|
||||
cdbSettings.Name = _fileName;
|
||||
cdbSettings.Directory = _targetDir;
|
||||
cdbSettings.SourceProject = _solutionDir;
|
||||
cdbSettings.LastUpdated = DateTime.Now;
|
||||
cdbSettings.ConfigurationName = _configurationName;
|
||||
cdbSettings.PlatformName = _platformName;
|
||||
|
||||
cdb.IncludedProjects = new List<string>();
|
||||
cdbSettings.IncludedProjects = new List<string>();
|
||||
foreach (EnvDTE.Project p in _projects)
|
||||
{
|
||||
cdb.IncludedProjects.Add(p.Name);
|
||||
cdbSettings.IncludedProjects.Add(p.Name);
|
||||
}
|
||||
|
||||
cdb.Clean();
|
||||
}
|
||||
catch(Exception e)
|
||||
{
|
||||
Logging.Logging.LogError("Failed to create CDB: " + e.Message);
|
||||
}
|
||||
|
||||
result._cdb = cdb;
|
||||
result._cdbSettings = cdbSettings;
|
||||
result._cdbDirectory = _targetDir;
|
||||
result._cdbName = _fileName;
|
||||
result._headerDirectories = _headerDirectories;
|
||||
@@ -176,17 +170,11 @@ namespace CoatiSoftware.SourcetrailPlugin.Wizard
|
||||
return result;
|
||||
}
|
||||
|
||||
private SolutionParser.CompilationDatabase CreateCommandObjects()
|
||||
private void CreateCompilationDatabase()
|
||||
{
|
||||
SolutionParser.CompilationDatabase cdb = new SolutionParser.CompilationDatabase();
|
||||
cdb.Directory = _targetDir;
|
||||
cdb.Name = _fileName;
|
||||
|
||||
File.WriteAllText(_targetDir + "\\" + _fileName + ".json", "");
|
||||
File.AppendAllText(_targetDir + "\\" + _fileName + ".json", "[\n");
|
||||
|
||||
// Mutex commandObjectMutex = new Mutex();
|
||||
|
||||
Utility.QueuedFileWriter fileWriter = new Utility.QueuedFileWriter(_fileName + ".json", _targetDir);
|
||||
fileWriter.StartWorking();
|
||||
|
||||
@@ -221,9 +209,6 @@ namespace CoatiSoftware.SourcetrailPlugin.Wizard
|
||||
|
||||
foreach (CompileCommand command in commands)
|
||||
{
|
||||
// cdb.AddOrUpdateCommandObject(obj, false); // since the data is written to file right away now, no need to store it
|
||||
// the cdb is however still needed to store some meta data later
|
||||
|
||||
string serializedCommand = "";
|
||||
foreach (string line in command.SerializeToJson().Split('\n'))
|
||||
{
|
||||
@@ -262,13 +247,11 @@ namespace CoatiSoftware.SourcetrailPlugin.Wizard
|
||||
{
|
||||
File.AppendAllText(_targetDir + "\\" + _fileName + ".json", "\n]");
|
||||
}
|
||||
|
||||
return cdb;
|
||||
}
|
||||
|
||||
private void backgroundWorker1_DoWork(object sender, DoWorkEventArgs e)
|
||||
{
|
||||
_result = CreateCDB();
|
||||
_result = CreateCdb();
|
||||
}
|
||||
|
||||
private void backgroundWorker1_ProgressChanged(object sender, ProgressChangedEventArgs e)
|
||||
@@ -291,17 +274,17 @@ namespace CoatiSoftware.SourcetrailPlugin.Wizard
|
||||
{
|
||||
if(e.Cancelled == false && e.Error == null /*&& progressBar.Value >= 100*/)
|
||||
{
|
||||
_onFinishedCreateCDB?.Invoke(_result);
|
||||
_onFinishedCreateCdb?.Invoke(_result);
|
||||
}
|
||||
else
|
||||
{
|
||||
Logging.Logging.LogWarning("CDB creation was aborted by user");
|
||||
Logging.Logging.LogWarning("Cdb creation was aborted by user");
|
||||
}
|
||||
|
||||
Close();
|
||||
}
|
||||
|
||||
private void WindowCreateCDB_FormClosed(object sender, FormClosedEventArgs e)
|
||||
private void WindowCreateCdb_FormClosed(object sender, FormClosedEventArgs e)
|
||||
{
|
||||
backgroundWorker1.CancelAsync();
|
||||
}
|
||||
|
||||
+1
-1
@@ -1,7 +1,7 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<PackageManifest Version="2.0.0" xmlns="http://schemas.microsoft.com/developer/vsx-schema/2011" xmlns:d="http://schemas.microsoft.com/developer/vsx-schema-design/2011">
|
||||
<Metadata>
|
||||
<Identity Id="acf15780-03b5-440e-a41e-db79b7043fc2" Version="0.9.82" Language="en-US" Publisher="Coati Software OG" />
|
||||
<Identity Id="acf15780-03b5-440e-a41e-db79b7043fc2" Version="0.9.83" Language="en-US" Publisher="Coati Software OG" />
|
||||
<DisplayName>SourcetrailPlugin</DisplayName>
|
||||
<Description xml:space="preserve">The Sourcetrail Plugin allows Visual Studio to communicate with Sourcetrail - an external source code exploration tool. It also enables Visual Studio to generate a Clang Compilation Database from any Visual Studio Solution which can be used to automate the Sourcetrail project setup and to run other Clang based tools.</Description>
|
||||
<MoreInfo>https://www.sourcetrail.com/</MoreInfo>
|
||||
|
||||
+9
-8
@@ -1,12 +1,12 @@
|
||||
using System;
|
||||
using CoatiSoftware.SourcetrailPlugin.IntegrationTests.Helpers;
|
||||
using CoatiSoftware.SourcetrailPlugin.SolutionParser;
|
||||
using EnvDTE;
|
||||
using Microsoft.VisualStudio.TestTools.UnitTesting;
|
||||
using Microsoft.VSSDK.Tools.VsIdeTesting;
|
||||
using Microsoft.VisualStudio.Shell.Interop;
|
||||
using EnvDTE;
|
||||
using CoatiSoftware.SourcetrailPlugin.SolutionParser;
|
||||
using System.IO;
|
||||
using CoatiSoftware.SourcetrailPlugin.IntegrationTests.Helpers;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.IO;
|
||||
|
||||
namespace CoatiSoftware.SourcetrailPlugin.IntegrationTests
|
||||
{
|
||||
@@ -44,7 +44,7 @@ namespace CoatiSoftware.SourcetrailPlugin.IntegrationTests
|
||||
UIThreadInvoker.Initialize();
|
||||
UIThreadInvoker.Invoke(new Action(() =>
|
||||
{
|
||||
TestCompilationDatabaseForSolution("../../../SourcetrailPlugin.IntegrationTests/bin/data/cinder/cinder.sln");
|
||||
TestCompilationDatabaseForSolution("../../../SourcetrailPluginTests/bin/data/cinder/cinder.sln");
|
||||
}));
|
||||
}
|
||||
|
||||
@@ -55,7 +55,7 @@ namespace CoatiSoftware.SourcetrailPlugin.IntegrationTests
|
||||
UIThreadInvoker.Initialize();
|
||||
UIThreadInvoker.Invoke(new Action(() =>
|
||||
{
|
||||
TestCompilationDatabaseForSolution("../../../SourcetrailPlugin.IntegrationTests/bin/data/all_in_same_folder/test.sln");
|
||||
TestCompilationDatabaseForSolution("../../../SourcetrailPluginTests/bin/data/all_in_same_folder/test.sln");
|
||||
}));
|
||||
}
|
||||
|
||||
@@ -83,6 +83,7 @@ namespace CoatiSoftware.SourcetrailPlugin.IntegrationTests
|
||||
string cdbPath = Path.ChangeExtension(solutionPath, "json");
|
||||
if (_updateExpectedOutput)
|
||||
{
|
||||
output.SortAlphabetically();
|
||||
Console.WriteLine("writing compilation database to file: " + cdbPath);
|
||||
File.WriteAllText(cdbPath, output.SerializeToJson());
|
||||
Assert.IsTrue(File.Exists(cdbPath));
|
||||
@@ -120,7 +121,7 @@ namespace CoatiSoftware.SourcetrailPlugin.IntegrationTests
|
||||
project, configurationNames[0], platformNames[0], "c11"
|
||||
))
|
||||
{
|
||||
cdb.AddCommandObject(command);
|
||||
cdb.AddCompileCommand(command);
|
||||
}
|
||||
}
|
||||
|
||||
+5
-5
@@ -1,5 +1,5 @@
|
||||
using Microsoft.VisualStudio.TestTools.UnitTesting;
|
||||
using CoatiSoftware.SourcetrailPlugin.SolutionParser;
|
||||
using CoatiSoftware.SourcetrailPlugin.SolutionParser;
|
||||
using Microsoft.VisualStudio.TestTools.UnitTesting;
|
||||
|
||||
namespace CoatiSoftware.SourcetrailPlugin.IntegrationTests.UnitTests
|
||||
{
|
||||
@@ -31,10 +31,10 @@ namespace CoatiSoftware.SourcetrailPlugin.IntegrationTests.UnitTests
|
||||
command.Command = "D test test.cpp";
|
||||
|
||||
CompilationDatabase cdb1 = new CompilationDatabase();
|
||||
cdb1.AddCommandObject(command);
|
||||
cdb1.AddCompileCommand(command);
|
||||
|
||||
CompilationDatabase cdb2 = new CompilationDatabase();
|
||||
cdb2.AddCommandObject(command);
|
||||
cdb2.AddCompileCommand(command);
|
||||
|
||||
Assert.IsTrue(cdb1 == cdb2);
|
||||
}
|
||||
@@ -48,7 +48,7 @@ namespace CoatiSoftware.SourcetrailPlugin.IntegrationTests.UnitTests
|
||||
command.Command = "D DEFINE=\"value\" test.cpp";
|
||||
|
||||
CompilationDatabase originalCompilationDatabase = new CompilationDatabase();
|
||||
originalCompilationDatabase.AddCommandObject(command);
|
||||
originalCompilationDatabase.AddCompileCommand(command);
|
||||
string serialized = originalCompilationDatabase.SerializeToJson();
|
||||
|
||||
CompilationDatabase deserializedCompilationDatabase = new CompilationDatabase();
|
||||
+528
-528
File diff suppressed because it is too large
Load Diff
@@ -82,7 +82,7 @@ if [ $UPDATE_DATABASES = true ]; then
|
||||
cd temp
|
||||
|
||||
echo -e "$INFO saving license key"
|
||||
../build/win32/Release/app/Sourcetrail.exe -z ../script/license.txt
|
||||
../build/win32/Release/app/Sourcetrail.exe -z ../setup/license.txt
|
||||
|
||||
echo -e "$INFO creating database for tictactoe"
|
||||
../build/win32/Release/app/Sourcetrail.exe -p ../bin/app/user/projects/tictactoe/tictactoe.srctrlprj -d
|
||||
@@ -135,7 +135,7 @@ cp -u -r ide_plugins/sublime_text/* $APP_PACKAGE_DIR_WIN32/plugins/sublime_text/
|
||||
mkdir -p $APP_PACKAGE_DIR_WIN32/plugins/vim/
|
||||
cp -u -r ide_plugins/vim/* $APP_PACKAGE_DIR_WIN32/plugins/vim/
|
||||
mkdir -p $APP_PACKAGE_DIR_WIN32/plugins/visual_studio/
|
||||
cp -u -r ide_plugins/vs/sourcetrail_plugin_vs.vsix $APP_PACKAGE_DIR_WIN32/plugins/visual_studio/
|
||||
cp -u -r ide_plugins/vs/sourcetrail_plugin.vsix $APP_PACKAGE_DIR_WIN32/plugins/visual_studio/
|
||||
|
||||
|
||||
echo -e "$INFO creating package folder for win64"
|
||||
@@ -160,7 +160,7 @@ cp -u -r ide_plugins/sublime_text/* $APP_PACKAGE_DIR_WIN64/plugins/sublime_text/
|
||||
mkdir -p $APP_PACKAGE_DIR_WIN64/plugins/vim/
|
||||
cp -u -r ide_plugins/vim/* $APP_PACKAGE_DIR_WIN64/plugins/vim/
|
||||
mkdir -p $APP_PACKAGE_DIR_WIN64/plugins/visual_studio/
|
||||
cp -u -r ide_plugins/vs/sourcetrail_plugin_vs.vsix $APP_PACKAGE_DIR_WIN64/plugins/visual_studio/
|
||||
cp -u -r ide_plugins/vs/sourcetrail_plugin.vsix $APP_PACKAGE_DIR_WIN64/plugins/visual_studio/
|
||||
|
||||
|
||||
# PACKAGING SOURCETRAIL
|
||||
|
||||
@@ -1,13 +0,0 @@
|
||||
-----BEGIN LICENSE-----
|
||||
Malte Langkabel
|
||||
Private/Academic Single User License
|
||||
Coati 0
|
||||
$9$AQAKVgXEpRqHfGMwWj/TA5YWrVmWWJrk5PmADbFYkewV7Ddvq+JV
|
||||
nT+lDlImNpfRQDY4YTJDYc0B/IW5n8ccn21HqLkRvR5t8T5/GvUzRNZ
|
||||
PnZfA/sE0tVBpS1IMEhUd5JIztHKXHFDdwcvIS7Z+y6vxn0knD0/VF4
|
||||
RjvvgicxikAnfF9cNxTb3IYAaUSREFTPejX6JABSai0jJhZLR4P9upK
|
||||
rj6OYFerGI2/+6D2UyBJhaAc2P3zcd2ivd01IRjJNeXlGA3r5mCcl5y
|
||||
SuPtreW3Yyq/uafyP1rV6uASIb+3oV6Y+jTo1kFYqEh8tjmrxOHbJLu
|
||||
3+wHyJgMu5fLhJFWAKyxPjVbY5A0nvQAb0F+ROSZZ5IiKKCYIcofcxt
|
||||
HrBYDDdP0rJw==
|
||||
-----END LICENSE-----
|
||||
@@ -22,5 +22,5 @@ export LD_LIBRARY_PATH="$SOURCETRAIL_PATH/lib:$LD_LIBRARY_PATH"
|
||||
export QT_XKB_CONFIG_ROOT="/usr/share/X11/xkb:$QT_XKB_CONFIG_ROOT"
|
||||
export QT_QPA_PLATFORM_PLUGIN_PATH="$SOURCETRAIL_PATH/lib/platforms"
|
||||
export QT_QPA_FONTDIR="$SOURCETRAIL_PATH/data/fonts:$QT_QPA_FONTDIR"
|
||||
export SOURCETRAIL_VIA_SCRIPT
|
||||
export SOURCETRAIL_VIA_SCRIPT=1
|
||||
exec "$SOURCETRAIL_PATH/Sourcetrail" $@
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
SCRIPT_DIR="$( cd "$( dirname "$0" )" && pwd )"
|
||||
MY_PATH=$SCRIPT_DIR/..
|
||||
|
||||
cat ${MY_PATH}/EULA.txt
|
||||
cat "${MY_PATH}/EULA.txt"
|
||||
echo "Agree to the EULA"
|
||||
printf 'enter [y/n] '
|
||||
read ans
|
||||
@@ -9,10 +9,10 @@ case ${ans:=y} in [yY]*) ;; *) exit ;; esac
|
||||
|
||||
echo "Run this script as root"
|
||||
|
||||
cp -rf $MY_PATH/ /opt/sourcetrail/ > /dev/null
|
||||
cp -rf $MY_PATH/setup/share/ /usr > /dev/null
|
||||
cp $MY_PATH/data/gui/icon/logo_1024_1024.png /usr/share/icons/sourcetrail.png > /dev/null
|
||||
cp $MY_PATH/data/gui/icon/project_256_256.png /usr/share/icons/project-sourcetrail.png > /dev/null
|
||||
cp -rf "$MY_PATH/" /opt/sourcetrail/ > /dev/null
|
||||
cp -rf "$MY_PATH/setup/share/" /usr > /dev/null
|
||||
cp "$MY_PATH/data/gui/icon/logo_1024_1024.png" /usr/share/icons/sourcetrail.png > /dev/null
|
||||
cp "$MY_PATH/data/gui/icon/project_256_256.png" /usr/share/icons/project-sourcetrail.png > /dev/null
|
||||
update-mime-database /usr/share/mime > /dev/null
|
||||
update-desktop-database > /dev/null
|
||||
|
||||
|
||||
@@ -0,0 +1,30 @@
|
||||
-----BEGIN ENCRYPTED PRIVATE KEY-----
|
||||
MIIFNTBfBgkqhkiG9w0BBQ0wUjAxBgkqhkiG9w0BBQwwJAQMaL23TLlJPBcUKzOV
|
||||
AgMDNFACASAwDAYIKoZIhvcNAgkFADAdBglghkgBZQMEASoEEGE6+JCRFOJ3gax9
|
||||
foofctUEggTQe8MrLN9r4JI+HyQbB1LgERCohoWW0DKhFaK56nnlWtG5mPJksGeF
|
||||
F5jw2qwTgiHkDXR8swCqLpJbHQII0cAJ0XYrso7opAwdtSrUQTZ1v6PUdR50pgND
|
||||
+UzbdRbcp/TLfPfpgYGU4484S0WoHWeP9AbeSs1s8244U36MZTfkQck18psH/c0+
|
||||
lnxJHsUurLuclEhlql5bTaIkslEc6bhiWWBH9hvY+o1wRDpoOtAmgn25UsFb7FSJ
|
||||
PIjDBSJZe9tJPfuuQ8ltvtzz/eo03UJU0BNBalK5dibOoACCi9EGObFn8812DSOb
|
||||
0ZqBafsNCRwavkdOMVJ9GwMfhTJROhz9d9/CTxeFjVzpE0d+UJ1zbGXQDUYswsvG
|
||||
pA2udPvWVi8Sd8at1Mob47UXRkf5PLRXFNmcEwTE4Ui9maYGhA/KnhSPQq9cn2CF
|
||||
HRBgOwRJFR7f4E7BVgAUs6WCrsCL/RhTjnR3dwKAgO/QehVFMd3T9kJwijbk30un
|
||||
ksjMcjWtuDsDveBuldxRMlXbN5Ia3C9vNvWN4S7SIlJ7eUb9SQDcRmcj54tu5K41
|
||||
y8mrqgl9UtX7BxwgKUGP7O9vkQLTkBExNaI5xFLKRYgF0Xzz6xfAb2BawBD2LWZF
|
||||
RpXPAoOexPN7fyUSPYnMZMzboPxyD30SE8uXXf4s00ZpBlnxNhzBnpUVTxohRJUV
|
||||
Y4keHadJr6rmxZ/lfWEUIvTeKdVJdmfrExbGAnyEWUxUtZ/N5e1ufgPGy7V8ZuR3
|
||||
7ghotzx6HJYTajFD8VRbmJ1tIT5C/O2wEqg/yka8b7cQ8xoul8CPyQJ/hVSy9RXV
|
||||
1q4Epc/oQ0dkuLb1oCRbgdJncOR02JnWniRrq8sn+yv8qgoxqtjAL4ng3nry4MWT
|
||||
oo17kjXCEq/mAKHdXLX/dGIA4nGAyQC8xumpMKIiOUHXUJkiAfAjZXkocNu0UXxS
|
||||
VW9aK9MOJjT1g2cYlo9Az1MJtfeOlsEx6oxRpVE8OyfUPa4tUzPMpE8zG6xiFpEw
|
||||
v7cdAj8M9g+iMA5E6UkcA9gGw95wnkvif0AZUWWWXVQxNBelHB43yfvZ7hzANo2S
|
||||
MOPbwDJOwrHFX//dFZJeaYT8voNpnznFlbNcg2LqD6N5l+pQzpDnA+MQ/XgBoL7c
|
||||
4TRsUtIyvXEMFYV/3O9hIEr6GwvjbzOQdEIZfvWbGYV6KnmOnCD+rq10AlBbjmAC
|
||||
8C2TS0R5nPUH/SWPSp2m6+GmO1xj/reAkvQvPgWyzDoOTfuLOm0B21esn5txvN/C
|
||||
wAnTq0RvpnUi/gDnoX4H2lkks2YoU+1v1TKVLG0x+YbV0VH9g0EngGF4PsAV7/qN
|
||||
yf8uBwJKPXPz43SF1GJNN6RcQftYAVbb0TqNMljGNh2fgY3N3echMIAOxHgis98f
|
||||
/QBjYWA7GEc8WkI+EHVAdqMb4l7zI36tsPAg7sUiF2EXZVN9P9aTwkmc71NNUnt5
|
||||
x563kqnv0MFCOAZpq6zq+j7BVxUr6wJDO1Tzot4HfhKbiDeMPvkHUFQJep3UaVLk
|
||||
fAYFD1I1fRZOufUBLcL01KD5RY9QbNI0ouUkQhpTZlDJsA8hSvOlQJyF54hJSkt3
|
||||
BDAkUNz0dqt4kag4GKXN89GOv5fEEMZSkedRBYY5VmwrI+4i6yuXHx0=
|
||||
-----END ENCRYPTED PRIVATE KEY-----
|
||||
@@ -0,0 +1,9 @@
|
||||
-----BEGIN PUBLIC KEY-----
|
||||
MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEArAldN+gG7p94WgnKH2Wq
|
||||
XOOqYUcyGUB7GQY66DINxGoZVR9wkawxqGHEOvBaG7Zc469m/0Ox8sCNIt8oGywe
|
||||
le0XdyGnVwJdq02lDp4lLYur3jq15BsApsQCqcOG9zkBX0v9sQhKVxVY5+m0B4v4
|
||||
9i2kHB81k6A2yWvSduoswrBbCsUfAqRmcXwCwT1O6LKN6XRzuzKXXq440fOhZiGX
|
||||
1MkkVTkVMDB/J3uSl63ZkeQIqKTA6mH6qiX0x+xF8VAEwMf/ZvxWtP3S1Ryxbszb
|
||||
MrK/qJfc8Bzp+gJtM36ZgXFMNXL0DshdnI0qXh1+7P6UKekSUEvlbAi/UPnGGYwq
|
||||
8wIDAQAB
|
||||
-----END PUBLIC KEY-----
|
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
+14
-11
@@ -1,13 +1,16 @@
|
||||
-----BEGIN LICENSE-----
|
||||
builder
|
||||
builder license
|
||||
Coati 0
|
||||
$9$AQAKIJ1UwEq5cZQujDjiHaO9R7B/KN9a6JVxppbOcZ4VSvEFRlSn
|
||||
hBa0BMnyCdcL95VDSSC13m+BC/GTxweqaR2lBrF6NzVlIDeCjhBGv80
|
||||
L5SBw8yaNRx9LOZAnwGWw2IG7lclSuraqECIqVE3o2ooFC4xSg9KC6F
|
||||
4Xqq2Fw8rtPCJ3HwkLZzhMhQg208cdLlyOPXL/dPa1AqZiIar4cnF/0
|
||||
sJDjxpk5C8CvpD4dq0JOs6Xs6KF8Uc7Gwp0UfnwQ0nlOl8TL63ukb8T
|
||||
/70Rmzm5cnwM4iz+BdzfCVnhBgyLwCzJe+/5dF4KlVJxiW/f0GinsmU
|
||||
byuZAQUqcCuVSxZXHBthmsLCN9ZWeAsR+Xvv9WRCs018nuk67BnZ5Aq
|
||||
sdDRu0Q4GBEg==
|
||||
Product: Sourcetrail
|
||||
Licensed to: builder
|
||||
License type: buildlicense
|
||||
Valid up to version: 2020.1
|
||||
-
|
||||
$9$AQAKHf3pw5lZp/tlQHb7HlYpXvtz77zOWfLC3PKPSaV9gsZtgb9Q
|
||||
lLkQVn8+OSMma5EN/aK5Dzb30t+EKSBBRyJ43LZRUOsgfVSXO0MRNdu
|
||||
w9WfVuBA0spZ2TtXLF1r4lR9F9XYu2uZ//xcQ3rqFnH8udn2Jakeu55
|
||||
CJz/slxam41ZRDVVJ6AIkfeUVkQdtTDLh+1bmuOZVPMBhkD3V5BHrgU
|
||||
TgKYDiwl1HDMdhJIh7V0u/clGToZUL8aesGFr35HeaUKWWD9GeZDs2p
|
||||
4PizzREzLwPvbwXMcHAxpNaKOPrk2uQzBlfCe0b+FzTNQvZEioPeHI1
|
||||
oS1uX3ZtWa99l/iVe7P24tJOmalR0ripNhqu8i6GXaFyBD5ES3c7cqQ
|
||||
OHRKWqZA4ypw==
|
||||
-----END LICENSE-----
|
||||
|
||||
|
||||
+6
-1
@@ -132,7 +132,12 @@ int main(int argc, char *argv[])
|
||||
QCoreApplication::setAttribute(Qt::AA_EnableHighDpiScaling, true);
|
||||
}
|
||||
|
||||
Version version = Version::fromString(GIT_VERSION_NUMBER);
|
||||
Version version(
|
||||
VERSION_YEAR,
|
||||
VERSION_MINOR,
|
||||
VERSION_COMMIT,
|
||||
GIT_COMMIT_HASH
|
||||
);
|
||||
QApplication::setApplicationVersion(version.toDisplayString().c_str());
|
||||
|
||||
MessageStatus("Starting Sourcetrail " + version.toDisplayString()).dispatch();
|
||||
|
||||
@@ -378,7 +378,7 @@ void Application::updateTitle()
|
||||
{
|
||||
if (m_hasGUI)
|
||||
{
|
||||
std::string title = m_isInTrial ? "Sourcetrail Trial" : "Sourcetrail";
|
||||
std::string title = m_isInTrial ? "Sourcetrail [Trial]" : "Sourcetrail";
|
||||
|
||||
if (m_project)
|
||||
{
|
||||
|
||||
@@ -492,8 +492,6 @@ add_files(
|
||||
utility/utilityUuid.h
|
||||
utility/utilityXml.cpp
|
||||
utility/utilityXml.h
|
||||
utility/Version.cpp
|
||||
utility/Version.h
|
||||
|
||||
Application.cpp
|
||||
Application.h
|
||||
|
||||
@@ -166,7 +166,7 @@ void LicenseChecker::handleMessage(MessageEnteredLicense* message)
|
||||
|
||||
LicenseChecker::LicenseState LicenseChecker::checkLicense(License& license) const
|
||||
{
|
||||
license.loadPublicKeyFromString(PublicKey);
|
||||
license.loadPublicKeyFromString(PUBLIC_KEY);
|
||||
|
||||
if (license.isExpired())
|
||||
{
|
||||
|
||||
@@ -268,9 +268,12 @@ void GraphController::handleMessage(MessageGraphNodeExpand* message)
|
||||
|
||||
if (m_graph && m_graph->getTrailMode() != Graph::TRAIL_NONE)
|
||||
{
|
||||
MessageActivateNodes msg;
|
||||
msg.addNode(message->tokenId, m_storageAccess->getNameHierarchyForNodeId(message->tokenId));
|
||||
msg.dispatch();
|
||||
if (!message->isReplayed())
|
||||
{
|
||||
MessageActivateNodes msg;
|
||||
msg.addNode(message->tokenId, m_storageAccess->getNameHierarchyForNodeId(message->tokenId));
|
||||
msg.dispatch();
|
||||
}
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
@@ -548,6 +548,11 @@ void UndoRedoController::updateHistory()
|
||||
index++;
|
||||
|
||||
SearchMatch match = getSearchMatchForMessage(it->message.get());
|
||||
if (!match.text.size())
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
if (!firstActiveMessage)
|
||||
{
|
||||
firstActiveMessage = true;
|
||||
@@ -567,20 +572,17 @@ void UndoRedoController::updateHistory()
|
||||
}
|
||||
}
|
||||
|
||||
if (match.text.size())
|
||||
matches.push_back(match);
|
||||
|
||||
if (matches.size() > historySize)
|
||||
{
|
||||
matches.push_back(match);
|
||||
matches.erase(matches.begin());
|
||||
m_historyOffset++;
|
||||
}
|
||||
|
||||
if (matches.size() > historySize)
|
||||
{
|
||||
matches.erase(matches.begin());
|
||||
m_historyOffset++;
|
||||
}
|
||||
|
||||
if (matches.size() == historySize && currentIndex != -1 && currentIndex - m_historyOffset != historySize - 1)
|
||||
{
|
||||
break;
|
||||
}
|
||||
if (matches.size() == historySize && currentIndex != -1 && currentIndex - m_historyOffset != historySize - 1)
|
||||
{
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -19,12 +19,12 @@ size_t IndexerCommand::getByteSize() const
|
||||
|
||||
for (auto i : m_indexedPaths)
|
||||
{
|
||||
size += i.str().size();
|
||||
size += sizeof(std::string) + i.str().size();
|
||||
}
|
||||
|
||||
for (auto i : m_excludedPaths)
|
||||
{
|
||||
size += i.str().size();
|
||||
size += sizeof(std::string) + i.str().size();
|
||||
}
|
||||
|
||||
return size;
|
||||
|
||||
@@ -25,14 +25,15 @@ void InterprocessIndexer::work()
|
||||
{
|
||||
try
|
||||
{
|
||||
LOG_INFO_STREAM(<< m_processId << " Starting to index");
|
||||
LOG_INFO_STREAM(<< m_processId << " starting up indexer");
|
||||
std::shared_ptr<IndexerBase> indexer = IndexerFactory::getInstance()->createCompositeIndexerForAllRegisteredModules();
|
||||
|
||||
while (std::shared_ptr<IndexerCommand> indexerCommand = m_interprocessIndexerCommandManager.popIndexerCommand())
|
||||
{
|
||||
LOG_INFO_STREAM(<< m_processId << " Indexing " << indexerCommand->getSourceFilePath().str());
|
||||
LOG_INFO_STREAM(<< m_processId << " Commands left: " << (m_interprocessIndexerCommandManager.indexerCommandCount() + 1));
|
||||
LOG_INFO_STREAM(<< m_processId << " fetched indexer command for \"" << indexerCommand->getSourceFilePath().str() << "\"");
|
||||
LOG_INFO_STREAM(<< m_processId << " indexer commands left: " << (m_interprocessIndexerCommandManager.indexerCommandCount() + 1));
|
||||
|
||||
LOG_INFO_STREAM(<< m_processId << " updating indexer status with currently indexed filepath");
|
||||
m_interprocessIndexingStatusManager.startIndexingSourceFile(indexerCommand->getSourceFilePath());
|
||||
|
||||
FileRegisterStateData data;
|
||||
@@ -42,13 +43,19 @@ void InterprocessIndexer::work()
|
||||
data, indexerCommand->getSourceFilePath(), indexerCommand->getIndexedPaths(), indexerCommand->getExcludedPath()
|
||||
);
|
||||
|
||||
LOG_INFO_STREAM(<< m_processId << " starting to index current file");
|
||||
std::shared_ptr<IntermediateStorage> result = indexer->index(indexerCommand, fileRegister);
|
||||
|
||||
LOG_INFO_STREAM(<< m_processId << " finished indexing current file, updating indexer status");
|
||||
m_interprocessIndexingStatusManager.addIndexedFiles(fileRegister->getStateData().getIndexedFiles());
|
||||
|
||||
LOG_INFO_STREAM(<< m_processId << " pushing index to shared memory");
|
||||
m_interprocessIntermediateStorageManager.pushIntermediateStorage(result);
|
||||
|
||||
LOG_INFO_STREAM(<< m_processId << " finalizing indexer status for current file");
|
||||
m_interprocessIndexingStatusManager.finishIndexingSourceFile();
|
||||
|
||||
LOG_INFO_STREAM(<< m_processId << " all done");
|
||||
}
|
||||
}
|
||||
catch (boost::interprocess::interprocess_exception& e)
|
||||
@@ -61,6 +68,10 @@ void InterprocessIndexer::work()
|
||||
LOG_ERROR(e.what());
|
||||
throw e;
|
||||
}
|
||||
catch (...)
|
||||
{
|
||||
LOG_ERROR("something went wrong while running the indexer");
|
||||
}
|
||||
|
||||
LOG_INFO_STREAM(<< "Finished indexing");
|
||||
LOG_INFO_STREAM(<< "shutting down indexer");
|
||||
}
|
||||
|
||||
@@ -19,26 +19,27 @@ InterprocessIndexerCommandManager::~InterprocessIndexerCommandManager()
|
||||
void InterprocessIndexerCommandManager::setIndexerCommands(
|
||||
const std::vector<std::shared_ptr<IndexerCommand>>& indexerCommands)
|
||||
{
|
||||
const unsigned int overestimationMultiplier = 3;
|
||||
const unsigned int overestimationMultiplier = 2;
|
||||
|
||||
size_t size = 1000;
|
||||
size_t estimatedSize = 1048576; /* 1 MB */
|
||||
for (auto command : indexerCommands)
|
||||
{
|
||||
size += command->getByteSize() + sizeof(SharedIndexerCommand);
|
||||
estimatedSize += command->getByteSize() + sizeof(SharedIndexerCommand);
|
||||
}
|
||||
size *= overestimationMultiplier;
|
||||
|
||||
estimatedSize *= overestimationMultiplier;
|
||||
|
||||
SharedMemory::ScopedAccess access(&m_sharedMemory);
|
||||
|
||||
size_t freeMemory = access.getFreeMemorySize();
|
||||
if (freeMemory <= size)
|
||||
if (freeMemory < estimatedSize)
|
||||
{
|
||||
LOG_INFO_STREAM(
|
||||
<< "grow memory - est: " << size << " size: " << access.getMemorySize()
|
||||
<< " free: " << access.getFreeMemorySize() << " alloc: " << (size - freeMemory));
|
||||
<< "grow memory - est: " << estimatedSize << " size: " << access.getMemorySize()
|
||||
<< " free: " << access.getFreeMemorySize() << " alloc: " << (estimatedSize - freeMemory));
|
||||
|
||||
access.growMemory(size - freeMemory);
|
||||
access.growMemory(estimatedSize - freeMemory);
|
||||
|
||||
LOG_INFO("growing memory succeeded");
|
||||
}
|
||||
|
||||
SharedMemory::Queue<SharedIndexerCommand>* queue =
|
||||
|
||||
@@ -39,6 +39,28 @@ void InterprocessIndexingStatusManager::startIndexingSourceFile(const FilePath&
|
||||
SharedMemory::Map<Id, SharedMemory::String>::iterator it = currentFilesPtr->find(getProcessId());
|
||||
if (it != currentFilesPtr->end())
|
||||
{
|
||||
const int overestimationMultiplier = 2;
|
||||
const std::string crashedFilePath = it->second.c_str();
|
||||
|
||||
size_t estimatedSize = 262144 + sizeof(std::string) + crashedFilePath.size();
|
||||
estimatedSize *= overestimationMultiplier;
|
||||
|
||||
while (access.getFreeMemorySize() < estimatedSize)
|
||||
{
|
||||
LOG_INFO_STREAM(
|
||||
<< "grow memory - est: " << estimatedSize << " size: " << access.getMemorySize()
|
||||
<< " free: " << access.getFreeMemorySize() << " alloc: " << (access.getMemorySize()));
|
||||
access.growMemory(access.getMemorySize());
|
||||
|
||||
LOG_INFO("growing memory succeeded");
|
||||
|
||||
currentFilesPtr = access.accessValueWithAllocator<SharedMemory::Map<Id, SharedMemory::String>>(s_currentFilesKeyName);
|
||||
if (!currentFilesPtr)
|
||||
{
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
SharedMemory::Vector<SharedMemory::String>* crashedFilesPtr =
|
||||
access.accessValueWithAllocator<SharedMemory::Vector<SharedMemory::String>>(s_crashedFilesKeyName);
|
||||
|
||||
@@ -164,43 +186,58 @@ std::set<FilePath> InterprocessIndexingStatusManager::getIndexedFiles()
|
||||
|
||||
void InterprocessIndexingStatusManager::addIndexedFiles(std::set<FilePath> filePaths)
|
||||
{
|
||||
const unsigned int overestimationMultiplier = 3;
|
||||
const unsigned int overestimationMultiplier = 2;
|
||||
|
||||
SharedMemory::ScopedAccess access(&m_sharedMemory);
|
||||
|
||||
SharedMemory::Vector<SharedMemory::String>* files =
|
||||
SharedMemory::Vector<SharedMemory::String>* indexedFiles =
|
||||
access.accessValueWithAllocator<SharedMemory::Vector<SharedMemory::String>>(s_indexedFilesKeyName);
|
||||
if (!files)
|
||||
if (!indexedFiles)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
for (auto file : *files)
|
||||
std::set<std::string> oldFiles;
|
||||
for (auto indexedFile : *indexedFiles)
|
||||
{
|
||||
filePaths.insert(FilePath(file.c_str()));
|
||||
oldFiles.insert(indexedFile.c_str());
|
||||
}
|
||||
files->clear();
|
||||
|
||||
|
||||
size_t size = 1000;
|
||||
for (auto path : filePaths)
|
||||
std::set<std::string> newFiles;
|
||||
for (const FilePath& filePath : filePaths)
|
||||
{
|
||||
size += sizeof(std::string) + path.str().size();
|
||||
if (oldFiles.find(filePath.str()) == oldFiles.end())
|
||||
{
|
||||
newFiles.insert(filePath.str());
|
||||
}
|
||||
}
|
||||
size *= overestimationMultiplier;
|
||||
|
||||
size_t freeMemory = access.getFreeMemorySize();
|
||||
if (freeMemory <= size)
|
||||
size_t estimatedSize = 262144;
|
||||
for (auto newFile : newFiles)
|
||||
{
|
||||
estimatedSize += sizeof(std::string) + newFile.size();
|
||||
}
|
||||
estimatedSize *= overestimationMultiplier;
|
||||
|
||||
while (access.getFreeMemorySize() < estimatedSize)
|
||||
{
|
||||
LOG_INFO_STREAM(
|
||||
<< "grow memory - est: " << size << " size: " << access.getMemorySize()
|
||||
<< " free: " << access.getFreeMemorySize() << " alloc: " << (size - freeMemory));
|
||||
access.growMemory(size - freeMemory);
|
||||
<< "grow memory - est: " << estimatedSize << " size: " << access.getMemorySize()
|
||||
<< " free: " << access.getFreeMemorySize() << " alloc: " << (access.getMemorySize()));
|
||||
access.growMemory(access.getMemorySize());
|
||||
|
||||
LOG_INFO("growing memory succeeded");
|
||||
|
||||
indexedFiles = access.accessValueWithAllocator<SharedMemory::Vector<SharedMemory::String>>(s_indexedFilesKeyName);
|
||||
if (!indexedFiles)
|
||||
{
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
for (auto path : filePaths)
|
||||
for (const std::string& newFile: newFiles)
|
||||
{
|
||||
files->push_back(SharedMemory::String(path.str().c_str(), access.getAllocator()));
|
||||
indexedFiles->push_back(SharedMemory::String(newFile.c_str(), access.getAllocator()));
|
||||
}
|
||||
|
||||
LOG_INFO(access.logString());
|
||||
|
||||
@@ -13,7 +13,7 @@ InterprocessIntermediateStorageManager::InterprocessIntermediateStorageManager(
|
||||
)
|
||||
: BaseInterprocessDataManager(
|
||||
s_sharedMemoryNamePrefix + std::to_string(processId) + "_" + instanceUuid,
|
||||
1048576 /* 1 MB */,
|
||||
3 * 1048576 /* 3 MB */,
|
||||
instanceUuid,
|
||||
processId,
|
||||
isOwner)
|
||||
@@ -27,19 +27,21 @@ InterprocessIntermediateStorageManager::~InterprocessIntermediateStorageManager(
|
||||
void InterprocessIntermediateStorageManager::pushIntermediateStorage(
|
||||
const std::shared_ptr<IntermediateStorage>& intermediateStorage)
|
||||
{
|
||||
const unsigned int overestimationMultiplier = 3;
|
||||
size_t size = intermediateStorage->getByteSize() * overestimationMultiplier;
|
||||
const unsigned int overestimationMultiplier = 3;
|
||||
size_t size = (intermediateStorage->getByteSize() + sizeof(SharedIntermediateStorage))* overestimationMultiplier + 1048576/* 1 MB */;
|
||||
|
||||
SharedMemory::ScopedAccess access(&m_sharedMemory);
|
||||
|
||||
size_t freeMemory = access.getFreeMemorySize();
|
||||
if (freeMemory <= size)
|
||||
if (freeMemory < size)
|
||||
{
|
||||
LOG_INFO_STREAM(
|
||||
<< "grow memory - est: " << size << " size: " << access.getMemorySize()
|
||||
<< " free: " << access.getFreeMemorySize() << " alloc: " << (size - freeMemory));
|
||||
|
||||
access.growMemory(size - freeMemory);
|
||||
|
||||
LOG_INFO("growing memory succeeded");
|
||||
}
|
||||
|
||||
SharedMemory::Queue<SharedIntermediateStorage>* queue =
|
||||
@@ -97,6 +99,7 @@ std::shared_ptr<IntermediateStorage> InterprocessIntermediateStorageManager::pop
|
||||
storage->setNextId(sharedIntermediateStorage.getNextId());
|
||||
|
||||
queue->pop_front();
|
||||
LOG_INFO(access.logString());
|
||||
|
||||
return storage;
|
||||
}
|
||||
|
||||
@@ -198,6 +198,7 @@ void SharedIndexerCommand::setLanguageStandard(const std::string& languageStanda
|
||||
std::vector<std::string> SharedIndexerCommand::getCompilerFlags() const
|
||||
{
|
||||
std::vector<std::string> result;
|
||||
result.reserve(m_compilerFlags.size());
|
||||
|
||||
for (unsigned int i = 0; i < m_compilerFlags.size(); i++)
|
||||
{
|
||||
@@ -210,6 +211,7 @@ std::vector<std::string> SharedIndexerCommand::getCompilerFlags() const
|
||||
void SharedIndexerCommand::setCompilerFlags(const std::vector<std::string>& compilerFlags)
|
||||
{
|
||||
m_compilerFlags.clear();
|
||||
m_compilerFlags.reserve(compilerFlags.size());
|
||||
|
||||
for (unsigned int i = 0; i < compilerFlags.size(); i++)
|
||||
{
|
||||
@@ -222,6 +224,7 @@ void SharedIndexerCommand::setCompilerFlags(const std::vector<std::string>& comp
|
||||
std::vector<FilePath> SharedIndexerCommand::getSystemHeaderSearchPaths() const
|
||||
{
|
||||
std::vector<FilePath> result;
|
||||
result.reserve(m_systemHeaderSearchPaths.size());
|
||||
|
||||
for (unsigned int i = 0; i < m_systemHeaderSearchPaths.size(); i++)
|
||||
{
|
||||
@@ -234,6 +237,7 @@ std::vector<FilePath> SharedIndexerCommand::getSystemHeaderSearchPaths() const
|
||||
void SharedIndexerCommand::setSystemHeaderSearchPaths(const std::vector<FilePath>& filePaths)
|
||||
{
|
||||
m_systemHeaderSearchPaths.clear();
|
||||
m_systemHeaderSearchPaths.reserve(filePaths.size());
|
||||
|
||||
for (unsigned int i = 0; i < filePaths.size(); i++)
|
||||
{
|
||||
@@ -246,6 +250,7 @@ void SharedIndexerCommand::setSystemHeaderSearchPaths(const std::vector<FilePath
|
||||
std::vector<FilePath> SharedIndexerCommand::getFrameworkSearchhPaths() const
|
||||
{
|
||||
std::vector<FilePath> result;
|
||||
result.reserve(m_frameworkSearchPaths.size());
|
||||
|
||||
for (unsigned int i = 0; i < m_frameworkSearchPaths.size(); i++)
|
||||
{
|
||||
@@ -258,6 +263,7 @@ std::vector<FilePath> SharedIndexerCommand::getFrameworkSearchhPaths() const
|
||||
void SharedIndexerCommand::setFrameworkSearchhPaths(const std::vector<FilePath>& searchPaths)
|
||||
{
|
||||
m_frameworkSearchPaths.clear();
|
||||
m_frameworkSearchPaths.reserve(searchPaths.size());
|
||||
|
||||
for (unsigned int i = 0; i < searchPaths.size(); i++)
|
||||
{
|
||||
@@ -280,6 +286,7 @@ void SharedIndexerCommand::setPreprocessorOnly(bool preprocessorOnly)
|
||||
std::vector<FilePath> SharedIndexerCommand::getClassPaths() const
|
||||
{
|
||||
std::vector<FilePath> result;
|
||||
result.reserve(m_classPaths.size());
|
||||
|
||||
for (unsigned int i = 0; i < m_classPaths.size(); i++)
|
||||
{
|
||||
@@ -292,6 +299,7 @@ std::vector<FilePath> SharedIndexerCommand::getClassPaths() const
|
||||
void SharedIndexerCommand::setClassPaths(const std::vector<FilePath>& classPaths)
|
||||
{
|
||||
m_classPaths.clear();
|
||||
m_classPaths.reserve(classPaths.size());
|
||||
|
||||
for (unsigned int i = 0; i < classPaths.size(); i++)
|
||||
{
|
||||
|
||||
@@ -46,7 +46,7 @@ ProjectSettings::ProjectSettings(const FilePath& projectFilePath)
|
||||
|
||||
ProjectSettings::ProjectSettings(std::string projectName, const FilePath& projectFileLocation)
|
||||
{
|
||||
setFilePath(FilePath(projectFileLocation.str() + "/" + projectName + PROJECT_FILE_EXTENSION));
|
||||
setProjectFilePath(projectName, projectFileLocation);
|
||||
}
|
||||
|
||||
ProjectSettings::~ProjectSettings()
|
||||
@@ -105,26 +105,26 @@ bool ProjectSettings::reload()
|
||||
return Settings::load(getFilePath());
|
||||
}
|
||||
|
||||
FilePath ProjectSettings::getProjectFilePath() const
|
||||
{
|
||||
return getFilePath();
|
||||
}
|
||||
|
||||
void ProjectSettings::setProjectFilePath(std::string projectName, const FilePath& projectFileLocation)
|
||||
{
|
||||
setFilePath(FilePath(projectFileLocation.str() + "/" + projectName + PROJECT_FILE_EXTENSION));
|
||||
}
|
||||
|
||||
std::string ProjectSettings::getProjectName() const
|
||||
{
|
||||
return getFilePath().withoutExtension().fileName();
|
||||
}
|
||||
|
||||
void ProjectSettings::setProjectName(const std::string& name)
|
||||
{
|
||||
setFilePath(FilePath(getProjectFileLocation().str() + "/" + name + PROJECT_FILE_EXTENSION));
|
||||
}
|
||||
|
||||
FilePath ProjectSettings::getProjectFileLocation() const
|
||||
{
|
||||
return getFilePath().parentDirectory();
|
||||
}
|
||||
|
||||
void ProjectSettings::setProjectFileLocation(const FilePath& location)
|
||||
{
|
||||
setFilePath(FilePath(location.str() + "/" + getProjectName() + PROJECT_FILE_EXTENSION));
|
||||
}
|
||||
|
||||
std::string ProjectSettings::getDescription() const
|
||||
{
|
||||
return getValue<std::string>("description", "");
|
||||
|
||||
@@ -29,11 +29,11 @@ public:
|
||||
|
||||
bool reload();
|
||||
|
||||
std::string getProjectName() const;
|
||||
void setProjectName(const std::string& name);
|
||||
FilePath getProjectFilePath() const;
|
||||
void setProjectFilePath(std::string projectName, const FilePath& projectFileLocation);
|
||||
|
||||
std::string getProjectName() const;
|
||||
FilePath getProjectFileLocation() const;
|
||||
void setProjectFileLocation(const FilePath& location);
|
||||
|
||||
std::string getDescription() const;
|
||||
|
||||
|
||||
@@ -1,84 +0,0 @@
|
||||
#include "utility/Version.h"
|
||||
|
||||
#include "utility/utilityString.h"
|
||||
#include "utility/logging/logging.h"
|
||||
|
||||
Version Version::s_version;
|
||||
|
||||
Version Version::fromString(const std::string& versionString)
|
||||
{
|
||||
Version version;
|
||||
std::vector<std::string> components = utility::splitToVector(versionString, '-');
|
||||
|
||||
if (components.size() != 3)
|
||||
{
|
||||
LOG_ERROR("Version string is invalid: " + versionString);
|
||||
return version;
|
||||
}
|
||||
|
||||
std::vector<std::string> numbers = utility::splitToVector(components[0], '.');
|
||||
if (numbers.size() > 0)
|
||||
{
|
||||
version.m_majorNumber = std::stoi(numbers[0]);
|
||||
}
|
||||
if (numbers.size() > 1)
|
||||
{
|
||||
version.m_minorNumber = std::stoi(numbers[1]);
|
||||
}
|
||||
if (numbers.size() > 2)
|
||||
{
|
||||
version.m_refreshNumber = std::stoi(numbers[2]);
|
||||
}
|
||||
|
||||
version.m_commitNumber = std::stoi(components[1]);
|
||||
version.m_commitHash = components[2];
|
||||
|
||||
return version;
|
||||
}
|
||||
|
||||
void Version::setApplicationVersion(const Version& version)
|
||||
{
|
||||
s_version = version;
|
||||
}
|
||||
|
||||
const Version& Version::getApplicationVersion()
|
||||
{
|
||||
return s_version;
|
||||
}
|
||||
|
||||
Version::Version()
|
||||
: m_majorNumber(0)
|
||||
, m_minorNumber(0)
|
||||
, m_refreshNumber(-1)
|
||||
, m_commitNumber(0)
|
||||
{
|
||||
}
|
||||
|
||||
bool Version::isEmpty() const
|
||||
{
|
||||
return m_majorNumber == 0 && m_minorNumber == 0 && m_refreshNumber == -1 && m_commitNumber == 0;
|
||||
}
|
||||
|
||||
std::string Version::toString() const
|
||||
{
|
||||
std::stringstream ss;
|
||||
ss << m_majorNumber << '.' << m_minorNumber;
|
||||
if (m_refreshNumber != -1)
|
||||
{
|
||||
ss << '.' << m_refreshNumber;
|
||||
}
|
||||
ss << '-' << m_commitNumber << '-' << m_commitHash;
|
||||
return ss.str();
|
||||
}
|
||||
|
||||
std::string Version::toDisplayString() const
|
||||
{
|
||||
std::stringstream ss;
|
||||
ss << m_majorNumber << '.' << m_minorNumber;
|
||||
if (m_refreshNumber != -1)
|
||||
{
|
||||
ss << '.' << m_refreshNumber;
|
||||
}
|
||||
ss << '.' << m_commitNumber;
|
||||
return ss.str();
|
||||
}
|
||||
@@ -110,7 +110,7 @@ void CommandLineParser::processLicense(const bool isLoaded)
|
||||
{
|
||||
std::cout << "Could not load License" << std::endl;
|
||||
}
|
||||
m_license.loadPublicKeyFromString(PublicKey);
|
||||
m_license.loadPublicKeyFromString(PUBLIC_KEY);
|
||||
if (!m_license.isValid())
|
||||
{
|
||||
std::cout << "License is not valid" << std::endl;
|
||||
|
||||
@@ -9,6 +9,6 @@ namespace utility
|
||||
boost::uuids::uuid getUuid();
|
||||
std::string uuidToString(const boost::uuids::uuid& uuid);
|
||||
std::string getUuidString();
|
||||
};
|
||||
}
|
||||
|
||||
#endif // UTILITY_UUID_H
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user