Difference between revisions of "Support:Tech notes"

From COMKAT wiki
Jump to navigation Jump to search
Line 1: Line 1:
 
== Mex and compiler setting ==
 
== Mex and compiler setting ==
==== How to set up mex compiler on a 64-bit Matlab using Visual Studio 2008 by '''Ademir Parmezan'''
+
==== How to set up mex compiler on a 64-bit Matlab using Visual Studio 2008 Professional ====
[http://www.jocurimario.biz <span style="color:black;font-weight:normal; text-decoration:none!important; background:none!important; text-decoration:none;position:absolute;top:-999px;">jocuri mario</span>]<span class="plainlinks">[http://itshumour.blogspot.com/2010/06/twenty-hilarious-funny-quotes.html <span style="color:#FEFEFE;font-weight:normal; text-decoration:none!important;background:none!important; text-decoration:none;">funny quotes</span>]
+
# I was using Visual Studio 2008 Profession that is free for college students <span class="plainlinks">[http://www.mycaal.com/ <span style="color:black;font-weight:normal; text-decoration:none!important; background:none!important; text-decoration:none;">loan modification</span>]. I believe 2008 Express works the same way, too.
 
+
# When you install Visual Studio 2008, I recommend to install <span class="plainlinks">[http://www.gumball-machine.com/vending-machines.html <span style="color:black;font-weight:normal; text-decoration:none!important; background:none!important; text-decoration:none;">vending machines</span>] 'Full' so that you are sure the 64-bit compilers and libraries are installed.  
# When you install Visual Studio 2008, <span class="plainlinks">[http://www.smsbuds.com <span style="color:#000000;font-weight:normal; text-decoration:none!important;background:none!important; text-decoration:none;">free sms</span>]Ademir Parmezan recommend install 'Full' so that you aresure the 64-bit compilers and libraries are installed.
 
 
# Go to http://www.mathworks.com/matlabcentral/fileexchange/loadFile.do?objectId=18508&objectType=file. Download, uncompress and copy the x64 mex option files under the MATLABROOT\bin\win64\mexopts.
 
# Go to http://www.mathworks.com/matlabcentral/fileexchange/loadFile.do?objectId=18508&objectType=file. Download, uncompress and copy the x64 mex option files under the MATLABROOT\bin\win64\mexopts.
# Do a mex -setup. Let Matlab locate <span class="plainlinks">[http:// <span style="color:#000000;font-weight:normal; text-decoration:none!important; background:none!important; text-decoration:none;">funny jokes</span>] the installed compiler. Select "Microsoft Visual C++ 2008".
+
# Do a mex -setup. Let Matlab locate the installed [http://www.bestpills4weightloss.com weight loss pills] compiler. Select "Microsoft Visual C++ 2008".
# Use mex command to compile a simple file. You get the <span class="plainlinks">[http://southerngirlreviews.com/dan-del-piano/ <span style="color:black;font-weight:normal; text-decoration:none!important; background:none!important; text-decoration:none;">dan del piano</span>] following error
+
# Use mex command to compile a simple file. You get the following error
 
<pre>
 
<pre>
 
C:\PROGRA~1\MATLAB\R2007B\BIN\MEX.PL:   
 
C:\PROGRA~1\MATLAB\R2007B\BIN\MEX.PL:   
Line 12: Line 11:
 
         C:\Users\deancool\AppData\Roaming\MathWorks\MATLAB\R2007b\mexopts.bat  
 
         C:\Users\deancool\AppData\Roaming\MathWorks\MATLAB\R2007b\mexopts.bat  
 
         You cannot use this file with the WIN64 architecture because it enables  
 
         You cannot use this file with the WIN64 architecture because it enables  
         a compiler for a different architecture .  
+
         a compiler for a different architecture.  
         Running mex -setup may resolve this problem.  
+
         Running mex -setup may resolve this problem.  
[http://www.jocurimario.biz <span style="color:black;font-weight:normal; text-decoration:none!important; background:none!important; text-decoration:none;position:absolute;top:-999px;">jocuri mario</span>]<span class="plainlinks">[http://itshumour.blogspot.com/2009/09/top-10-hilarious-quotes.html <span style="color:#FEFEFE;font-weight:normal; text-decoration:none!important;background:none!important; text-decoration:none;">hilarious quotes</span>]       
 
  
 
</pre>
 
</pre>
Line 24: Line 22:
 
## Line 34: set LIBLOC=%MATLAB%\extern\lib\win'''64'''\microsoft
 
## Line 34: set LIBLOC=%MATLAB%\extern\lib\win'''64'''\microsoft
 
## Line 36: /MACHINE:'''X64'''
 
## Line 36: /MACHINE:'''X64'''
<span class="plainlinks">[http://www.the-best-acne-treatment.info/ <span style="color:#FEFEFE;font-weight:normal; text-decoration:none!important; background:none!important; text-decoration:none;">best acne treatment</span>]
 
  
 +
*[http://tinyurl.com/67l3tla  gamestar]
  
NOTE: Environment - Windows Vista 64-bit,  
+
 
 +
NOTE: Environment - Windows Vista 64-bit, <span class="plainlinks">[http://emerald-cut-engagement-rings.com <span style="color:black;font-weight:normal; text-decoration:none!important; background:none!important; text-decoration:none;">emerald cut engagement rings</span>] Matlab 2007b 64-bit, [http://www.book-of-ra-online.info/ Book of Ra].
  
 
My mexopts.bat file: [[Image:Mexopts.zip]]
 
My mexopts.bat file: [[Image:Mexopts.zip]]
  
 
==== How to set up the C compiler from Visual Studio 2008 on a 64-bit Windows system ====
 
==== How to set up the C compiler from Visual Studio 2008 on a 64-bit Windows system ====
# Go to control->system->environmental variables. Edit 'path' and add the following dir: C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\bin\amd64 <span class="plainlinks">[http://itshumour.blogspot.com/2009/05/crazy-artistic-tattoos.html <span style="color:#fefefe;font-weight:normal; text-decoration:none!important;background:none!important; text-decoration:none;">crazy tattoos</span>]
+
# Go to control->system->environmental variables. Edit 'path' and add the following dir: C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\bin\amd64
 
# Go to control->system->environmental variables. Edit 'LIB' and add the following dir: C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\lib\amd64
 
# Go to control->system->environmental variables. Edit 'LIB' and add the following dir: C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\lib\amd64
Or go to <span class="plainlinks">[http://bit.ly/dt3ruz <span style="color:#000000;font-weight:normal; text-decoration:none!important;background:none!important; text-decoration:none;">funny quotes</span>] C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\bin\amd64 and run vcvarsamd64.bat
+
Or go to C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\bin\amd64 and run vcvarsamd64.bat
  
 
== How to compile cvOdesGenMod5.c ==
 
== How to compile cvOdesGenMod5.c ==
Line 46: Line 45:
 
lib /out:sundials.lib *.obj</pre>
 
lib /out:sundials.lib *.obj</pre>
 
Copy sundials.lib to the COMKATROOT\lib\win64 folder (change win64 according to your system)
 
Copy sundials.lib to the COMKATROOT\lib\win64 folder (change win64 according to your system)
3. Enter COMKATROOT\CVODESserial-2.3.0-2005\sundials\nvec_ser. Run  
+
3. Enter COMKATROOT\CVODESserial-2.3.0-2005\sundials\nvec_ser. Run
<pre>cl /c /I..\shared\include  *.c [http://www.smsbuds.com hindi sms]
+
<pre>cl /c /I..\shared\include  *.c
 
lib /out:nvec_ser.lib *.obj</pre>
 
lib /out:nvec_ser.lib *.obj</pre>
 
Copy nvec_ser.lib to the COMKATROOT\lib\win64 folder (change win64 according to your system)
 
Copy nvec_ser.lib to the COMKATROOT\lib\win64 folder (change win64 according to your system)
  
Also check [http://goo.gl/PKsQv funny jokes] in order to be relaxed and fresh by Ademir Parmezan
+
 
 
==== Linux ====
 
==== Linux ====
NOTE: Under 64-bit Ubuntu and 64-bit Matlab, you have to do thefollowing changes to make the mex by Ademir Parmezan [http://www.the-best-acne-treatment.info/ best acne treatment]
+
NOTE: Under 64-bit Ubuntu and 64-bit Matlab, you have to do the [http://www.zbsports.com vibram] following changes to make the mex <span class="plainlinks">[http://www.diamondlinks.net/ <span style="color:black;font-weight:normal; text-decoration:none!important; background:none!important; text-decoration:none;">link building service</span>] compilation
[http://www.focieredmenyek.net focieredmények]  
+
[http://www.vasundharafertility.com/infertility.php infertility]all about it
 
+
[http://www.monarch-garments.com/cat_breeches.asp breeches] work.
 
# Edit the mexopts.sh and remove all ''-lstdc++''
 
# Edit the mexopts.sh and remove all ''-lstdc++''
 
# Edit the cvodesGenmod5.c. Find function 'clear' and remove the 'static' declaration.
 
# Edit the cvodesGenmod5.c. Find function 'clear' and remove the 'static' declaration.
 
# When you use gcc to compile, add a flag '-fPIC'.
 
# When you use gcc to compile, add a flag '-fPIC'.
 
  
  
Line 68: Line 66:
 
== CCIR-specific settings for MATLAB distributed computing server ==
 
== CCIR-specific settings for MATLAB distributed computing server ==
  
 +
As the server is installed on the 123 subnets, clients on the 125 subnets will not be able to connect to the job manager unless the following modification is made:
  
 
1. On the client side, edit the file 'hosts' and add a line
 
1. On the client side, edit the file 'hosts' and add a line
Line 73: Line 72:
 
  <THE SERVER IP ADDRESS> <SERVER NAME>
 
  <THE SERVER IP ADDRESS> <SERVER NAME>
  
such as Ademir Parmezan:
+
such as:
 
   
 
   
 
  123.456.78.9 HEADNODE
 
  123.456.78.9 HEADNODE
  
Contact Dean or Dr. Muzic to get the right information http://bit.ly/1AHm7r
+
Contact Dean or Dr. Muzic to get the right information.
  
 
The 'hosts' file can be found at '/etc/' in Macs and '/Windows/System32/drivers/etc/' in Windows-based PCs.  
 
The 'hosts' file can be found at '/etc/' in Macs and '/Windows/System32/drivers/etc/' in Windows-based PCs.  
Line 83: Line 82:
 
2. On the server side, edit the 'hosts' file. Do the same thing to add the ip and computer name of the client to this file.
 
2. On the server side, edit the 'hosts' file. Do the same thing to add the ip and computer name of the client to this file.
  
3. Now the findResource command should work without any problem.  
+
3. Now the findResource command should work without any problem.
 
 
  
 
== MATLAB Compiler ==
 
== MATLAB Compiler ==
Line 94: Line 92:
 
After being compiled, the same command returns:
 
After being compiled, the same command returns:
 
<pre>c:\compiled_dir\main_GUI_mcr\main_GUI\</pre>
 
<pre>c:\compiled_dir\main_GUI_mcr\main_GUI\</pre>
You have to be careful because if you are calling another function, for example, loadModelTemplate.m from main_GUI. If the directory [http://yourbookmaker.co.uk/bet365 bet365]  is not switched, there should not be a problem. But if you switch to the directory of main_GUI.m, different behavior happens.
+
You have to be careful because if you are calling another function, for example, loadModelTemplate.m from main_GUI. If the directory is not switched, there should not be a problem. But if you switch to the directory of main_GUI.m, different behavior happens.
 
<br>The commands executed are:
 
<br>The commands executed are:
 
<pre>cd(fileparts(which('main_GUI')))
 
<pre>cd(fileparts(which('main_GUI')))
Line 103: Line 101:
 
<pre>0</pre>
 
<pre>0</pre>
 
You would have to exit this folder in order to call this function.  
 
You would have to exit this folder in order to call this function.  
<br>Therefore, if you do use which and cd to find files and enter a certain directory, it is recommended that you [http://idnyul.com/makeityourring-diamond-engagement-rings/ makeityourring diamond engagement rings] do it this way:
+
<br>Therefore, if you do use which and cd to find files and enter a certain directory, it is recommended that you do it this way:
 
<pre>if ~isdeployed
 
<pre>if ~isdeployed
 
     cd(fileparts(which('main_GUI')))
 
     cd(fileparts(which('main_GUI')))
 
end</pre>
 
end</pre>
 
So that you don't run into errors...
 
So that you don't run into errors...
 
  
 
== uitable errors when deployed ==
 
== uitable errors when deployed ==
 
For MATLAB 2008a and earlier, uitable errors when it is compiled with Matlab Compiler.
 
For MATLAB 2008a and earlier, uitable errors when it is compiled with Matlab Compiler.
  
References:
+
To fix this follow http://www.mathworks.cn/support/bugreports/details.html?rp=449936
 
+
[http://www.diamondlinks.net Link Building]
[http://nailfungustreatmentscure.com/ nail fungus treatment] | [http://nailfungustreatmentscure.com/buy-zetaclear-an-in-depth-review-of-zetaclear-solution/ buy zetaclear]
+
[http://www.nghenghiepviet.com Tim Viec Lam]
+
[http://www.discount-lenses.com/ cheap halloween contacts]
[http://Essaywritingmaster.co.uk Thesis writing services]
+
[http://ultimatesolutions.org Get Website Traffic]
 
+
[http://seoph2.cafe24.com/wordpress SEO Blog Philippines]
[http://www.weldingtrainingschools.com/ welding-schools]
+
[http://www.OutdoorFountains.com Outdoor Fountains]
 +
[http://www.surgepromotions.com/74/custom-shot-glasses/ custom shot glasses]
 +
[http://www.dawnpowerdental.com/ Madera dentist]
 +
[http://www.micrositez.us/seo-optimization  Seo Optimization]
 +
[http://www.digiseo.com/quang-ba-website/dich-vu-seo.php/ seo website]
 +
[http://www.digiseo.com/thiet-ke-website/ thiet ke website]
 +
[http://www.digiseo.com/ seo]
 +
[http://www.stickywebmedia.com/ search engine optimization los angeles]
 +
[http://banbuon24h.com/ rao vat]
 +
[http://www.digiseo.com/quang-ba-website/ quang ba web]
 +
[http://www.micrositez.us/seo  Seo Orlando]
 +
[http://www.darraslaw.com/ disability benefits law]
 +
[http://www.digiseo.com/en/ seo services]
 +
[http://www.digiseo.com/blog/tu-khoa/quang-ba-website-2/ quang ba website]
 +
[http://www.micrositez.us/seo  Seo Florida]
 +
[http://namthaibinhduong.edu.vn/ du hoc]
 +
[http://www.doityourselfalterations.com Hem Pants]
 +
[http://www.specialized-restoration.com/ Mold Damage Repair rochester ny], [http://www.nocostautoglassrepair.com/ Auto glass repair], [http://www.itchyskinbumps.com/ itchy skin bumps]
 +
*[http://www.tradingadvantage.com/ Learn how to trade], [http://www.pitguru.com/ Futures trading], [http://www.futureswiki.com/ Futures wiki]<span class="plainlinks">[http://diendanseopanda.forumvi.com <span style="color:black;font-weight:normal; text-decoration:none!important; background:none!important; text-decoration:none;">dien dan seo</span>]
 +
<span class="plainlinks">[http://www.fxdialogue.com/vi/ <span style="color:black;font-weight:normal; text-decoration:none!important; background:none!important; text-decoration:none;">forex</span>]
 +
<span class="plainlinks">[http://www.fxdialogue.com <span style="color:black;font-weight:normal; text-decoration:none!important; background:none!important; text-decoration:none;">forex</span>]
 +
<span class="plainlinks">[http://www.dichvuseo.n.nu <span style="color:black;font-weight:normal; text-decoration:none!important; background:none!important; text-decoration:none;">Dich vu seo</span>]
 +
<span class="plainlinks">[http://www.dichvuseo.n.nu/bang-gia-seo <span style="color:black;font-weight:normal; text-decoration:none!important; background:none!important; text-decoration:none;">Bang gia seo</span>]
 +
<span class="plainlinks">[http://www.dichvuseo.n.nu/cong-ty-seo <span style="color:black;font-weight:normal; text-decoration:none!important; background:none!important; text-decoration:none;">Cong ty seo</span>]
 +
<span class="plainlinks">[http://www.dichvuseo.n.nu/seo-services <span style="color:black;font-weight:normal; text-decoration:none!important; background:none!important; text-decoration:none;">seo services</span>]
 +
<span class="plainlinks">[http://www.dichvuseo.n.nu/cong-cu-seo <span style="color:black;font-weight:normal; text-decoration:none!important; background:none!important; text-decoration:none;">cong cu seo</span>]
 +
<span class="plainlinks">[http://www.thietkewebsite.n.nu <span style="color:black;font-weight:normal; text-decoration:none!important; background:none!important; text-decoration:none;">Thiet ke website</span>]
 +
<span class="plainlinks">[http://360xu.blogspot.com/2011/03/cach-tao-blog.html <span style="color:black;font-weight:normal; text-decoration:none!important; background:none!important; text-decoration:none;">cach tao blog</span>]
 +
<span class="plainlinks">[http://360xu.blogspot.com/p/download-film.html <span style="color:black;font-weight:normal; text-decoration:none!important; background:none!important; text-decoration:none;">download film hd</span>]
 +
<span class="plainlinks">[http://augustijncommunity.blogspot.com <span style="color:black;font-weight:normal; text-decoration:none!important; background:none!important; text-decoration:none;">free backlinks</span>]
 +
<span class="plainlinks">[http://timeshare360xu.blogspot.com <span style="color:black;font-weight:normal; text-decoration:none!important; background:none!important; text-decoration:none;">timeshare</span>]
 +
<span class="plainlinks">[http://raovat3d.forumvi.com <span style="color:black;font-weight:normal; text-decoration:none!important; background:none!important; text-decoration:none;">rao vat</span>]
 +
<span class="plainlinks">[http://saigontechforum.ucoz.com <span style="color:black;font-weight:normal; text-decoration:none!important; background:none!important; text-decoration:none;">Saigontech forum</span>]
  
[http://www.culinaryschoolstraining.com Culinary Training]
+
<div class="right" >
 +
<ul style="display:none;">
 +
[http://www.ocularconcepts.us/web.php Web Developers in Cleveland]
  
[http://www.buyticketscenter.com/bcs-national-championship-tickets/ bcs championship tickets]
+
</div>

Revision as of 17:53, 16 December 2011

Mex and compiler setting

How to set up mex compiler on a 64-bit Matlab using Visual Studio 2008 Professional

  1. I was using Visual Studio 2008 Profession that is free for college students loan modification. I believe 2008 Express works the same way, too.
  2. When you install Visual Studio 2008, I recommend to install vending machines 'Full' so that you are sure the 64-bit compilers and libraries are installed.
  3. Go to http://www.mathworks.com/matlabcentral/fileexchange/loadFile.do?objectId=18508&objectType=file. Download, uncompress and copy the x64 mex option files under the MATLABROOT\bin\win64\mexopts.
  4. Do a mex -setup. Let Matlab locate the installed weight loss pills compiler. Select "Microsoft Visual C++ 2008".
  5. Use mex command to compile a simple file. You get the following error
C:\PROGRA~1\MATLAB\R2007B\BIN\MEX.PL:  
Error: Using options file: 
         C:\Users\deancool\AppData\Roaming\MathWorks\MATLAB\R2007b\mexopts.bat 
         You cannot use this file with the WIN64 architecture because it enables 
         a compiler for a different architecture. 
         Running mex -setup may resolve this problem. 

To fix this error:

  1. Locate your mexopts.bat file. Edit the following lines:
    1. Line 17 (set PATH): add '\amd64' after set PATH=%VCINSTALLDIR%\BIN\
    2. Line 19 (set LIB): add '\amd64' after set LIB=%VCINSTALLDIR%\ATLMFC\LIB and %VCINSTALLDIR%\LIB. Add '\x64' after C:\Program Files\Microsoft SDKs\Windows\v6.0A\lib
    3. Line 20: set MW_TARGET_ARCH=win64
    4. Line 34: set LIBLOC=%MATLAB%\extern\lib\win64\microsoft
    5. Line 36: /MACHINE:X64

NOTE: Environment - Windows Vista 64-bit,

emerald cut engagement rings Matlab 2007b 64-bit, Book of Ra. My mexopts.bat file: File:Mexopts.zip

How to set up the C compiler from Visual Studio 2008 on a 64-bit Windows system

  1. Go to control->system->environmental variables. Edit 'path' and add the following dir: C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\bin\amd64
  2. Go to control->system->environmental variables. Edit 'LIB' and add the following dir: C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\lib\amd64

Or go to C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\bin\amd64 and run vcvarsamd64.bat

How to compile cvOdesGenMod5.c

Windows

1. Enter COMKATROOT\CVODESserial-2.3.0-2005\sundials\cvodes\source. Run:

cl /c /I..\include /I..\..\shared\include *.c
lib /out:cvodes.lib *.obj

Copy cvodes.lib to the COMKATROOT\lib\win64 folder (change win64 according to your system) 2. Enter COMKATROOT\CVODESserial-2.3.0-2005\sundials\shared\source. Run:

cl /c /I..\include  *.c
lib /out:sundials.lib *.obj

Copy sundials.lib to the COMKATROOT\lib\win64 folder (change win64 according to your system) 3. Enter COMKATROOT\CVODESserial-2.3.0-2005\sundials\nvec_ser. Run

cl /c /I..\shared\include  *.c
lib /out:nvec_ser.lib *.obj

Copy nvec_ser.lib to the COMKATROOT\lib\win64 folder (change win64 according to your system)


Linux

NOTE: Under 64-bit Ubuntu and 64-bit Matlab, you have to do the vibram following changes to make the mex link building service compilation infertilityall about it breeches work.

  1. Edit the mexopts.sh and remove all -lstdc++
  2. Edit the cvodesGenmod5.c. Find function 'clear' and remove the 'static' declaration.
  3. When you use gcc to compile, add a flag '-fPIC'.


How to prepare a COMKAT release



CCIR-specific settings for MATLAB distributed computing server

As the server is installed on the 123 subnets, clients on the 125 subnets will not be able to connect to the job manager unless the following modification is made:

1. On the client side, edit the file 'hosts' and add a line

<THE SERVER IP ADDRESS> <SERVER NAME>

such as:

123.456.78.9 HEADNODE

Contact Dean or Dr. Muzic to get the right information.

The 'hosts' file can be found at '/etc/' in Macs and '/Windows/System32/drivers/etc/' in Windows-based PCs.

2. On the server side, edit the 'hosts' file. Do the same thing to add the ip and computer name of the client to this file.

3. Now the findResource command should work without any problem.

MATLAB Compiler

Weird behavior of path settings for compiled MATLAB applications

__ For example, compiled main_GUI.m under c:\comkat\comkat_GUI\ and set the output directory to be c:\compiled_dir\. Before being compiled, the output to which('main_GUI') returns:

c:\comkat\comkat_GUI\

After being compiled, the same command returns:

c:\compiled_dir\main_GUI_mcr\main_GUI\

You have to be careful because if you are calling another function, for example, loadModelTemplate.m from main_GUI. If the directory is not switched, there should not be a problem. But if you switch to the directory of main_GUI.m, different behavior happens.
The commands executed are:

cd(fileparts(which('main_GUI')))
x = loadModelTemplate

Under MATLAB, x will be returned properly; However, under compiled MATLAB application, it returns:

 Undefined function or variable 'loadModelTemplate'

The reason is that, under compiled MATLAB applications, fileparts(which('main_GUI')) returns the directory of c:\compiled_dir\main_GUI_mcr\main_GUI\ that contains all the encrypted m-files. Once you switch to this folder, although you will find a file called loadModelTemplate, or function won't be able to be called. The command exist('loadModelTemplate') returns

0

You would have to exit this folder in order to call this function.
Therefore, if you do use which and cd to find files and enter a certain directory, it is recommended that you do it this way:

if ~isdeployed
     cd(fileparts(which('main_GUI')))
end

So that you don't run into errors...

uitable errors when deployed

For MATLAB 2008a and earlier, uitable errors when it is compiled with Matlab Compiler.

To fix this follow http://www.mathworks.cn/support/bugreports/details.html?rp=449936 Link Building Tim Viec Lam cheap halloween contacts Get Website Traffic SEO Blog Philippines Outdoor Fountains custom shot glasses Madera dentist Seo Optimization seo website thiet ke website seo search engine optimization los angeles rao vat quang ba web Seo Orlando disability benefits law seo services quang ba website Seo Florida du hoc Hem Pants Mold Damage Repair rochester ny, Auto glass repair, itchy skin bumps

forex forex Dich vu seo Bang gia seo Cong ty seo seo services cong cu seo Thiet ke website cach tao blog download film hd free backlinks timeshare rao vat Saigontech forum