Jump to content
Ketarin forum

[Help!] Why won't my templates update?!


Reformed Pirate
 Share

Recommended Posts

Templates shouldn't have their GUID defined (except for proto templates, which I haven't gotten around to poking just yet), just remove that value altogether.

 

If you'd like a comparison, here is my greasemonkey userscript template. Note that I automatically extract the name of the template from the download URL.

 

<?xml version='1.0' encoding='utf-8'?>
<Jobs>
 <ApplicationJob xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
   <WebsiteUrl />
   <UserNotes />
   <LastFileDate xsi:nil="true" />
   <IgnoreFileInformation>false</IgnoreFileInformation>
   <DownloadBeta>Default</DownloadBeta>
   <DownloadDate xsi:nil="true" />
   <CheckForUpdatesOnly>false</CheckForUpdatesOnly>
   <VariableChangeIndicator />
   <CanBeShared>true</CanBeShared>
   <ShareApplication>false</ShareApplication>
   <ExclusiveDownload>false</ExclusiveDownload>
   <HttpReferer />
       <SetupInstructions>
     <SetupInstruction xsi:type="CustomSetupInstruction">
       <Code>for /F "tokens=*" %c in ('dir /b /s {p1}\DBI.bat') do set path=%~dpc
&
for /F "tokens=*" %d in ('dir /b "%path%"\*.exe ') do set file=%d
&
"%file%" "{file}"</Code>
       <Type>Batch</Type>
     </SetupInstruction>
   </SetupInstructions>
   <Variables>
     <item>
       <key>
         <string>download</string>
       </key>
       <value>
         <UrlVariable>
           <RegexRightToLeft>false</RegexRightToLeft>
           <VariableType>RegularExpression</VariableType>
           <Regex>http[^'"]+[^'"]+\.user\.js</Regex>
           <Url><placeholder name="Download URL"/></Url>
           <Name>download</Name>
         </UrlVariable>
       </value>
     </item>     
     <item>
       <key>
         <string>name</string>
       </key>
       <value>
         <UrlVariable>
           <RegexRightToLeft>false</RegexRightToLeft>
           <VariableType>RegularExpression</VariableType>
           <Regex><title>(.*?) for Greasemonkey</Regex>
           <Url><placeholder name="Download URL"/></Url>
           <Name>name</Name>
         </UrlVariable>
       </value>
     </item>     
   </Variables>
   <ExecuteCommand>/*This is a comment line, the line below is the C# script. It will run the instructions found in the Setup Tab*/
app.Install(null);</ExecuteCommand>
   <ExecutePreCommand />
   <ExecuteCommandType>CS</ExecuteCommandType>
   <ExecutePreCommandType>Batch</ExecutePreCommandType>
   <Category>Greasemonkey Userscripts</Category>
   <SourceType>FixedUrl</SourceType>
   <PreviousLocation />
   <DeletePreviousFile>true</DeletePreviousFile>
   <Enabled>true</Enabled>
   <FileHippoId />
   <LastUpdated xsi:nil="true" />
   <TargetPath>{s1}{category}\{appname}.user.js</TargetPath>
   <FixedDownloadUrl>{download}</FixedDownloadUrl>
   <Name><placeholder name="Name of application" variable="name" /></Name>
 </ApplicationJob>
</Jobs>

 

For reference sake {s1} is a global variable of mine of where my stuff gets downloaded, easier to make mass changes to one global variable than to export xml, find and replace the text then go back in. Management is key.

 

Also the setup instructions won't work for anyone else, I run portable versions of all browsers plus my drive letters change a lot so the instructions there point to a unique filename (which is a bat file I use to pick my portable browser and is in the root of that directory) and etc. etc. so don't try to use it unless you put a file called DBI.bat (doesn't have to have any text in it) in the directory of the browser you want the userscripts to be installed to. Just explaining it, not recommending it per se. Would be simpler for you to replace that part of the command to something else. i.e. change {p1}\DBI.bat to the full directory path to your browser executable. D:\Firefox\Firefox.exe, something like that.

Link to comment
Share on other sites

Omni: I appreciate the input, but the only thing that I understand in what you said was not to explicitly define a GUID in my template. But I guess that's where my confusion really lies: I thought that the GUID was established so that Ketarin could recognize changes and update those particular ones if a revised version of that template was used later on (...?).

 

I've tried bringing a number of templates from you and Shawn in to my Ketarin, setting up some application to test with and then modifying a regex to include "\s*" or something insignificant that would basically change the template just enough to offer to update my apps to this revised templates. Needless to say, I can't seem to get anything updating when the template is changed with mine or y'all's.

Link to comment
Share on other sites

The only thing I said in relation to your template was that a GUID value should be omitted altogether, yes. Ketarin automatically assigns a GUID per application created from a template. A GUID has to be unique for each application, if you specify a GUID in your template then everytime you add an application it will always overwrite whatever you made before with Ketarin.

 

But if NOTHING is updating if you either use ours or your own then perhaps there is more a problem with your Ketarin?

 

Mine work fine for me.

 

Try my Nvidia driver template here on the forum and if that doesn't download then you may want to see what is happening with your Ketarin. If you share your log with us we can be a bit more helpful.

 

Just click on View -> Show Log before you update anything so you can see what is happening.

Link to comment
Share on other sites

I'm more than happy to share a log, but I just want to make sure we're on the same page first. Your templates are working great for downloading applications, just as my own are working well for me. What I'm trying to do, though, is get my apps to update based on a template when I make changes. I'm sure that I'm not explaining myself well, so here's an example:

 

If I have a Download.com template that works based on search results, I may have something similar to: http://download.cnet.com/1770-20_4-0.html?query=bla...

 

...but then I start wondering if Download.com will always use 1770-20_4-0.html to search through, so I create a new variable to eliminate that problem (e.g. "searchpage"=[\d\-_]+.html). I want my new template variable to be added to all of my Download.com apps and have the "searchresult" to now show up as "http://download.cnet.com/{searchpage}?query=bla..." without me having to alter like 200 applications. I thought that was the point of a GUID.

 

Additionally, I've seen threads on here saying that having associated GUIDs is a best practice. If Ketarin assigns its own automatically per program, it's confusing why these kinds of comments are ever said...

Link to comment
Share on other sites

So you are saying that you want changes to propagate throughout all applications made with that template? So all applications made with the download.com template automatically change based on changes to the original template? Have I got that right?

 

If that is the case then you want to look at prototype templates which do need a GUI. Use this http://www.guidgenerator.com/online-guid-generator.aspx. Ketarin will treat a template as a prototype template if it has a GUID AND placeholders. After that just re-import the Template into Ketarin and it should ask "wanna update everything?"

 

In my case I just export all apps as .xml and do a mass text find & replace.

Link to comment
Share on other sites

Additionally, I've seen threads on here saying that having associated GUIDs is a best practice. If Ketarin assigns its own automatically per program, it's confusing why these kinds of comments are ever said...

 

A GUID is a unique value. It's intended to identify *uniqueness* in both a template, app profile and it's properties.

 

That is, if you create an app profile and export it as a template, then it should have a unique id. This will enable you to share it among other computers/users and get exactly the same profile each time, quite effectively ensuring that any updates to that ONE profile are propagated correctly.

 

However, the "proto-template" style of application profile does not represent a single app. It represents a class or group of apps that have similarities in their operation, but have distinct values throughout. This type of template operates very differently. It still requires a GUID, but that is so that it can propagate changes to the other app profiles that are based on it. Each new app profile will then be assigned a new GUID, too, in order to be able to uniquely identify it.

Link to comment
Share on other sites

Thanks, Omni & Shawn. I hadn't understood that there were two different types of templates. It sounds like a proto template is exactly what I need and just need to configure mine appropriately. Do either of you, by chance, have an example of this that I can look at? A search for "proto-template" and "proto AND template" return nothing here on the forums. Thanks in advance!

Link to comment
Share on other sites

Most probably because I just shortened it from prototype template. It was a new feature in one of the beta builds of Ketarin.

 

I gave you all the relevant information though, so long as your template has a GUID and placeholders Ketarin will treat it as a Prototype Template. The relevant thread is in the General Discussion area on the first page, one of hte 1.5 beta build threads.

Link to comment
Share on other sites

You can take any template with palceholders and add a GUID to it in order to make it a "prototype template".

 

From that point on, all apps created with that template (after the point when a GUID has been added) can be updated by creating a new version of the template which still has the same GUID.

Link to comment
Share on other sites

Thanks for the input, guys. So just to make sure that I'm understanding everything correctly: What I've been doing by explicitly adding GUIDs to my templates is wrong, as Ketarin will already assign a GUID to each application. What I should've been doing is adding GUIDs to the placeholders themselves so that when a change is made, Ketarin will understand and offer to update applications created by that template...right?

Link to comment
Share on other sites

So I just created a Softonic template, and I ran into exactly what I was talking about above. In the "download" variable, I changed the scrape's regex from "http" to "(http|ftp)" in case the download link is FTP. When I drag my XML template back into Ketarin, I expect it to ask me if I want to update all of the applications created by this template but Ketarin seems to want to ignore that my XML was ever updated. Code below...

 

Original Template:

<?xml version="1.0" encoding="utf-8"?>
<Jobs>
 <ApplicationJob xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" guid="0e7e1b05-1fe1-4d2c-9b91-eae6c1079ee3">
   <Name>
     <placeholder name="What is the name of this application?" value="" />
   </Name>
   <CanBeShared>true</CanBeShared>
   <Category>
     <placeholder name="How should this application be categorized?" value="" options="|Business|Development|Drivers|Education|Games|Graphic Design|Internet|Multimedia|Security|Utilities" />
   </Category>
   <CheckForUpdatesOnly>false</CheckForUpdatesOnly>
   <DeletePreviousFile>true</DeletePreviousFile>
   <DownloadBeta>Default</DownloadBeta>
   <Enabled>true</Enabled>
   <ExclusiveDownload>false</ExclusiveDownload>
   <ExecuteCommand />
   <ExecutePreCommand />
   <FileHippoId />
   <FixedDownloadUrl>{download}</FixedDownloadUrl>
   <HttpReferer>{appdlpage}/download</HttpReferer>
   <PreviousLocation />
   <ShareApplication>false</ShareApplication>
   <SourceType>FixedUrl</SourceType>
   <TargetPath>{category}\{subcategory}\{appname}\{appname} ({version}).{url:ext}</TargetPath>
   <VariableChangeIndicator />
   <Variables>
     <item>
       <key>
         <string>subcategory</string>
       </key>
       <value>
         <UrlVariable>
           <RegexRightToLeft>false</RegexRightToLeft>
           <VariableType>Textual</VariableType>
           <Regex />
           <TextualContent>
             <placeholder name="What subcategory should this application go in?" value="" />
           </TextualContent>
           <Name>subcategory</Name>
         </UrlVariable>
       </value>
     </item>
     <item>
       <key>
         <string>platform</string>
       </key>
       <value>
         <UrlVariable>
           <RegexRightToLeft>false</RegexRightToLeft>
           <VariableType>Textual</VariableType>
           <Regex />
           <TextualContent>
             <placeholder name="What platform does this application run on?" value="" options="|Windows|Mac|Phones|Palm OS|Pocket PC" />
           </TextualContent>
           <Name>platform</Name>
         </UrlVariable>
       </value>
     </item>
     <item>
       <key>
         <string>platformrename</string>
       </key>
       <value>
         <UrlVariable>
           <RegexRightToLeft>false</RegexRightToLeft>
           <VariableType>Textual</VariableType>
           <Regex />
           <TextualContent>{platform:multireplace:|:Windows|Mac|Phones|Palm OS|Pocket PC:windows|mac|phones|palm|pocketpc}</TextualContent>
           <Name>platformrename</Name>
         </UrlVariable>
       </value>
     </item>
     <item>
       <key>
         <string>appid</string>
       </key>
       <value>
         <UrlVariable>
           <RegexRightToLeft>false</RegexRightToLeft>
           <VariableType>Textual</VariableType>
           <Regex />
           <TextualContent>
             <placeholder name="What is the ID of this application?" value="" />
           </TextualContent>
           <Name>appid</Name>
         </UrlVariable>
       </value>
     </item>
     <item>
       <key>
         <string>appdlpage</string>
       </key>
       <value>
         <UrlVariable>
           <RegexRightToLeft>false</RegexRightToLeft>
           <VariableType>RegularExpression</VariableType>
           <Regex>href="(\S*{appid}.en.softonic.com\S*)(?=/"|")</Regex>
           <Url>http://en.softonic.com/s/{appid}:{platformrename}</Url>
           <Name>appdlpage</Name>
         </UrlVariable>
       </value>
     </item>
     <item>
       <key>
         <string>version</string>
       </key>
       <value>
         <UrlVariable>
           <RegexRightToLeft>false</RegexRightToLeft>
           <VariableType>RegularExpression</VariableType>
           <Regex>>\s*(\d+\.\d+[\.\w]*)\s*<</Regex>
           <Url>{appdlpage}</Url>
           <Name>version</Name>
         </UrlVariable>
       </value>
     </item>
     <item>
       <key>
         <string>download</string>
       </key>
       <value>
         <UrlVariable>
           <RegexRightToLeft>false</RegexRightToLeft>
           <VariableType>RegularExpression</VariableType>
           <Regex>href="(http://\S+?)" target="_blank">\s*download link</Regex>
           <Url>{appdlpage}/download</Url>
           <Name>download</Name>
         </UrlVariable>
       </value>
     </item>
   </Variables>
 </ApplicationJob>
</Jobs>

 

Updated Template:

<?xml version="1.0" encoding="utf-8"?>
<Jobs>
 <ApplicationJob xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" guid="0e7e1b05-1fe1-4d2c-9b91-eae6c1079ee3">
   <Name>
     <placeholder name="What is the name of this application?" value="" />
   </Name>
   <CanBeShared>true</CanBeShared>
   <Category>
     <placeholder name="How should this application be categorized?" value="" options="|Business|Development|Drivers|Education|Games|Graphic Design|Internet|Multimedia|Security|Utilities" />
   </Category>
   <CheckForUpdatesOnly>false</CheckForUpdatesOnly>
   <DeletePreviousFile>true</DeletePreviousFile>
   <DownloadBeta>Default</DownloadBeta>
   <Enabled>true</Enabled>
   <ExclusiveDownload>false</ExclusiveDownload>
   <ExecuteCommand />
   <ExecutePreCommand />
   <FileHippoId />
   <FixedDownloadUrl>{download}</FixedDownloadUrl>
   <HttpReferer>{appdlpage}/download</HttpReferer>
   <PreviousLocation />
   <ShareApplication>false</ShareApplication>
   <SourceType>FixedUrl</SourceType>
   <TargetPath>{category}\{subcategory}\{appname}\{appname} ({version}).{url:ext}</TargetPath>
   <VariableChangeIndicator />
   <Variables>
     <item>
       <key>
         <string>subcategory</string>
       </key>
       <value>
         <UrlVariable>
           <RegexRightToLeft>false</RegexRightToLeft>
           <VariableType>Textual</VariableType>
           <Regex />
           <TextualContent>
             <placeholder name="What subcategory should this application go in?" value="" />
           </TextualContent>
           <Name>subcategory</Name>
         </UrlVariable>
       </value>
     </item>
     <item>
       <key>
         <string>platform</string>
       </key>
       <value>
         <UrlVariable>
           <RegexRightToLeft>false</RegexRightToLeft>
           <VariableType>Textual</VariableType>
           <Regex />
           <TextualContent>
             <placeholder name="What platform does this application run on?" value="" options="|Windows|Mac|Phones|Palm OS|Pocket PC" />
           </TextualContent>
           <Name>platform</Name>
         </UrlVariable>
       </value>
     </item>
     <item>
       <key>
         <string>platformrename</string>
       </key>
       <value>
         <UrlVariable>
           <RegexRightToLeft>false</RegexRightToLeft>
           <VariableType>Textual</VariableType>
           <Regex />
           <TextualContent>{platform:multireplace:|:Windows|Mac|Phones|Palm OS|Pocket PC:windows|mac|phones|palm|pocketpc}</TextualContent>
           <Name>platformrename</Name>
         </UrlVariable>
       </value>
     </item>
     <item>
       <key>
         <string>appid</string>
       </key>
       <value>
         <UrlVariable>
           <RegexRightToLeft>false</RegexRightToLeft>
           <VariableType>Textual</VariableType>
           <Regex />
           <TextualContent>
             <placeholder name="What is the ID of this application?" value="" />
           </TextualContent>
           <Name>appid</Name>
         </UrlVariable>
       </value>
     </item>
     <item>
       <key>
         <string>appdlpage</string>
       </key>
       <value>
         <UrlVariable>
           <RegexRightToLeft>false</RegexRightToLeft>
           <VariableType>RegularExpression</VariableType>
           <Regex>href="(\S*{appid}.en.softonic.com\S*)(?=/"|")</Regex>
           <Url>http://en.softonic.com/s/{appid}:{platformrename}</Url>
           <Name>appdlpage</Name>
         </UrlVariable>
       </value>
     </item>
     <item>
       <key>
         <string>version</string>
       </key>
       <value>
         <UrlVariable>
           <RegexRightToLeft>false</RegexRightToLeft>
           <VariableType>RegularExpression</VariableType>
           <Regex>>\s*(\d+\.\d+[\.\w]*)\s*<</Regex>
           <Url>{appdlpage}</Url>
           <Name>version</Name>
         </UrlVariable>
       </value>
     </item>
     <item>
       <key>
         <string>download</string>
       </key>
       <value>
         <UrlVariable>
           <RegexRightToLeft>false</RegexRightToLeft>
           <VariableType>RegularExpression</VariableType>
           <Regex>href="((http|ftp)://\S+?)" target="_blank">\s*download link</Regex>
           <Url>{appdlpage}/download</Url>
           <Name>download</Name>
         </UrlVariable>
       </value>
     </item>
   </Variables>
 </ApplicationJob>
</Jobs>

Link to comment
Share on other sites

RP, I think the easiest thing for you to do would be to export your database of those records that you are having problems with to a single export file. Then look thru them for differences in the template profile (which is part of the exported XML). This should give you a better idea of how it works.

 

Since GUIDs represent the uniqueness of each record, once it is *in* the system it will have one whether you assign it in the XML or not. If you then export a record, edit it, then reimport it, the changes will overwrite the existing app profile. This is important, ESPECIALLY if you ever need to share the app between machines.

 

Using the template style (GUID + placeholders), you can update the *template* (xml) then *add another application based on it*, and it will result in all existing applications being updated from the original template to the new one.

Link to comment
Share on other sites

  • 4 weeks later...

Shawn: that's good information and all about the exporting and re-exporting, but the prototype template (if I can get it working properly, of course) should eliminate the need to export one at time by updating all applications from a common repository.

 

I just started fresh, manually re-entering regexes for an application and exporting to an XML file as an application template. All I've done from this point is added a "Guid" at the top per http://wiki.ketarin.org/index.php/Templates to make it a prototype template as well as giving the "Category" variable a placeholder. This does not work at all how I'd expect it to...

 

<?xml version="1.0" encoding="utf-8"?>
<Jobs>
 <ApplicationJob xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" Guid="47528454-605d-4d8c-a759-8d502ee0a707">
   <SourceTemplate>
     <![CDATA[]]></SourceTemplate>
     <WebsiteUrl />
     <UserAgent />
     <UserNotes />
     <LastFileSize>0</LastFileSize>
     <LastFileDate xsi:nil="true" />
     <IgnoreFileInformation>false</IgnoreFileInformation>
     <DownloadBeta>Default</DownloadBeta>
     <CheckForUpdatesOnly>false</CheckForUpdatesOnly>
     <VariableChangeIndicator>version</VariableChangeIndicator>
     <CanBeShared>true</CanBeShared>
     <ShareApplication>false</ShareApplication>
     <ExclusiveDownload>false</ExclusiveDownload>
     <HttpReferer />
     <SetupInstructions />
     <Variables>
       <item>
         <key>
           <string>subcategory</string>
         </key>
         <value>
           <UrlVariable>
             <RegexRightToLeft>false</RegexRightToLeft>
             <VariableType>Textual</VariableType>
             <Regex />
             <TextualContent>Sound Controllers</TextualContent>
             <Name>subcategory</Name>
           </UrlVariable>
         </value>
       </item>
       <item>
         <key>
           <string>platform</string>
         </key>
         <value>
           <UrlVariable>
             <RegexRightToLeft>false</RegexRightToLeft>
             <VariableType>Textual</VariableType>
             <Regex />
             <TextualContent>Windows</TextualContent>
             <Name>platform</Name>
           </UrlVariable>
         </value>
       </item>
       <item>
         <key>
           <string>appid</string>
         </key>
         <value>
           <UrlVariable>
             <RegexRightToLeft>false</RegexRightToLeft>
             <VariableType>Textual</VariableType>
             <Regex />
             <TextualContent>realtek-high-definition-audio</TextualContent>
             <Name>appid</Name>
           </UrlVariable>
         </value>
       </item>
       <item>
         <key>
           <string>searchpage</string>
         </key>
         <value>
           <UrlVariable>
             <RegexRightToLeft>false</RegexRightToLeft>
             <VariableType>RegularExpression</VariableType>
             <Regex>action="\S*?([\d-_]+.html)"</Regex>
             <Url>http://download.cnet.com/</Url>
             <Name>searchpage</Name>
           </UrlVariable>
         </value>
       </item>
       <item>
         <key>
           <string>searchresult</string>
         </key>
         <value>
           <UrlVariable>
             <RegexRightToLeft>false</RegexRightToLeft>
             <VariableType>RegularExpression</VariableType>
             <Regex>/({appid}/[\d-_]+.html)</Regex>
             <Url>http://download.cnest.com/{searchpage}?query="{appid:replace:-: }"&tag=srch&searchtype=downloads&filterName=platform={platform}&filter=os=134|platform={platform}</Url>
             <Name>searchresult</Name>
           </UrlVariable>
         </value>
       </item>
       <item>
         <key>
           <string>appdlpage</string>
         </key>
         <value>
           <UrlVariable>
             <RegexRightToLeft>false</RegexRightToLeft>
             <VariableType>Textual</VariableType>
             <Regex />
             <TextualContent>http://download.cnet.com/{searchresult}</TextualContent>
             <Name>appdlpage</Name>
           </UrlVariable>
         </value>
       </item>
       <item>
         <key>
           <string>version</string>
         </key>
         <value>
           <UrlVariable>
             <RegexRightToLeft>false</RegexRightToLeft>
             <VariableType>RegularExpression</VariableType>
             <Regex>name="productVersion"\s+value="(.+?)"</Regex>
             <Url>{appdlpage}</Url>
             <Name>version</Name>
           </UrlVariable>
         </value>
       </item>
       <item>
         <key>
           <string>appredirect</string>
         </key>
         <value>
           <UrlVariable>
             <RegexRightToLeft>false</RegexRightToLeft>
             <VariableType>RegularExpression</VariableType>
             <Regex>href="(http://dw.com.com/redir\S+)?"></Regex>
             <Url>{appdlpage}</Url>
             <Name>appredirect</Name>
           </UrlVariable>
         </value>
       </item>
       <item>
         <key>
           <string>download</string>
         </key>
         <value>
           <UrlVariable>
             <RegexRightToLeft>false</RegexRightToLeft>
             <VariableType>RegularExpression</VariableType>
             <Regex>[^\w]+URL=((ftp|http)://\S+)?"[^\w]+</Regex>
             <Url>{appredirect}</Url>
             <Name>download</Name>
           </UrlVariable>
         </value>
       </item>
     </Variables>
     <ExecuteCommand />
     <ExecutePreCommand />
     <ExecuteCommandType>Batch</ExecuteCommandType>
     <ExecutePreCommandType>Batch</ExecutePreCommandType>
     <Category>
       <placeholder name="What is the name of this application?" value="" />
     </Category>
     <SourceType>FixedUrl</SourceType>
     <DeletePreviousFile>true</DeletePreviousFile>
     <Enabled>true</Enabled>
     <FileHippoId />
     <TargetPath>{category}\{subcategory}\{appname}\{appname} ({version}).{url:ext}</TargetPath>
     <FixedDownloadUrl>{download}</FixedDownloadUrl>
     <Name>Realtek HD Audio Template</Name>
   </ApplicationJob>
 </Jobs>

Edited by Reformed Pirate
Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.