JS build error (+making entire website in cn1 JS :))

33 views
Skip to first unread message

Gareth Murfin

unread,
Mar 23, 2016, 11:07:05 AM3/23/16
to CodenameOne Discussions
Bought some webspace to start experimenting with the JS builds, Im actually going to build an entire website in CN1 then update by making JS builds. Should be a cool experiment! But for starters I am going to host my app to get used to it, can you explain this ?


Executing: /home/ec2-user/jdk1.8.0_45/bin/java -Dretrolambda.inputDir=/tmp/build6308526339541573992xxx/tmpClasses -Dretrolambda.classpath=/tmp/build6308526339541573992xxx/tmpClasses:/tmp/temp3008382894107149493.jar -Dretrolambda.outputDir=/tmp/build6308526339541573992xxx/tmpClasses_retrolamda -Dretrolambda.bytecodeVersion=49 -jar /tmp/temp6530444461865136981.jar Retrolambda 2.0.3
Bytecode version: 49 (Java 5)
Default methods:  false
Input directory:  /tmp/build6308526339541573992xxx/tmpClasses
Output directory: /tmp/build6308526339541573992xxx/tmpClasses_retrolamda
Classpath:        /tmp/build6308526339541573992xxx/tmpClasses:/tmp/temp3008382894107149493.jar
Executing: /home/ec2-user/javascript/apache-maven-3.2.5/bin/mvn -e clean package [INFO] Error stacktraces are turned on.
[INFO] Scanning for projects...
[WARNING] 
[WARNING] Some problems were encountered while building the effective model for com:MyApplication:war:2.4
[WARNING] 'dependencies.dependency.systemPath' for ca.weblite:codename1-core:jar should not point at files within the project directory, ${basedir}/lib/CodenameOne.jar will be unresolvable by dependent projects @ line 24, column 25
[WARNING] 'dependencies.dependency.systemPath' for ca.weblite:codename1-factory:jar should not point at files within the project directory, ${basedir}/lib/Factory.jar will be unresolvable by dependent projects @ line 32, column 25
[WARNING] 'dependencies.dependency.systemPath' for ca.weblite:codename1-core-hello:jar should not point at files within the project directory, ${basedir}/lib/app.jar will be unresolvable by dependent projects @ line 40, column 25
[WARNING] 
[WARNING] It is highly recommended to fix these problems because they threaten the stability of your build.
[WARNING] 
[WARNING] For this reason, future Maven versions might no longer support building such malformed projects.
[WARNING] 
[INFO]                                                                         
[INFO] ------------------------------------------------------------------------
[INFO] Building MyApplication 2.4
[INFO] ------------------------------------------------------------------------
[INFO] 
[INFO] --- maven-clean-plugin:2.5:clean (default-clean) @ MyApplication ---
[INFO] 
[INFO] --- maven-resources-plugin:2.6:resources (default-resources) @ MyApplication ---
[INFO] Using 'UTF-8' encoding to copy filtered resources.
[INFO] Copying 0 resource
[INFO] 
[INFO] --- maven-compiler-plugin:3.1:compile (default-compile) @ MyApplication ---
[INFO] Changes detected - recompiling the module!
[INFO] Compiling 59 source files to /tmp/build6308526339541573992xxx/target/classes
[WARNING] /tmp/build6308526339541573992xxx/src/main/java/com/codename1/impl/html5/Stub.java: /tmp/build6308526339541573992xxx/src/main/java/com/codename1/impl/html5/Stub.java uses or overrides a deprecated API.
[WARNING] /tmp/build6308526339541573992xxx/src/main/java/com/codename1/impl/html5/Stub.java: Recompile with -Xlint:deprecation for details.
[WARNING] /tmp/build6308526339541573992xxx/src/main/java/com/codename1/teavm/io/BlobUtil.java: Some input files use unchecked or unsafe operations.
[WARNING] /tmp/build6308526339541573992xxx/src/main/java/com/codename1/teavm/io/BlobUtil.java: Recompile with -Xlint:unchecked for details.
[INFO] 
[INFO] --- teavm-maven-plugin:1.0.0-cn1-003:compile (web-client) @ MyApplication ---
[INFO] Preparing classpath for JavaScript generation
[INFO] Using the following classpath for JavaScript generation: /tmp/build6308526339541573992xxx/lib/CodenameOne.jar:/tmp/build6308526339541573992xxx/lib/Factory.jar:/tmp/build6308526339541573992xxx/lib/app.jar:/home/ec2-user/.m2/repository/org/teavm/teavm-classlib/1.0.0-cn1-003/teavm-classlib-1.0.0-cn1-003.jar:/home/ec2-user/.m2/repository/org/teavm/teavm-platform/1.0.0-cn1-003/teavm-platform-1.0.0-cn1-003.jar:/home/ec2-user/.m2/repository/org/teavm/teavm-core/1.0.0-cn1-003/teavm-core-1.0.0-cn1-003.jar:/home/ec2-user/.m2/repository/commons-io/commons-io/2.4/commons-io-2.4.jar:/home/ec2-user/.m2/repository/org/ow2/asm/asm-debug-all/5.0.4/asm-debug-all-5.0.4.jar:/home/ec2-user/.m2/repository/com/carrotsearch/hppc/0.6.1/hppc-0.6.1.jar:/home/ec2-user/.m2/repository/org/teavm/teavm-jso-apis/1.0.0-cn1-003/teavm-jso-apis-1.0.0-cn1-003.jar:/home/ec2-user/.m2/repository/org/teavm/teavm-jso-impl/1.0.0-cn1-003/teavm-jso-impl-1.0.0-cn1-003.jar:/home/ec2-user/.m2/repository/org/mozilla/rhino/1.7.7/rhino-1.7.7.jar:/home/ec2-user/.m2/repository/com/google/code/gson/gson/2.2.4/gson-2.2.4.jar:/home/ec2-user/.m2/repository/com/jcraft/jzlib/1.1.3/jzlib-1.1.3.jar:/home/ec2-user/.m2/repository/joda-time/joda-time/2.7/joda-time-2.7.jar:/home/ec2-user/.m2/repository/org/teavm/teavm-jso/1.0.0-cn1-003/teavm-jso-1.0.0-cn1-003.jar:/home/ec2-user/.m2/repository/javax/servlet/javax.servlet-api/3.1.0/javax.servlet-api-3.1.0.jar:/home/ec2-user/.m2/repository/org/mitre/dsmiley/httpproxy/smiley-http-proxy-servlet/1.6/smiley-http-proxy-servlet-1.6.jar:/home/ec2-user/.m2/repository/org/apache/httpcomponents/httpclient/4.3.4/httpclient-4.3.4.jar:/home/ec2-user/.m2/repository/org/apache/httpcomponents/httpcore/4.3.2/httpcore-4.3.2.jar:/home/ec2-user/.m2/repository/commons-logging/commons-logging/1.1.3/commons-logging-1.1.3.jar:/home/ec2-user/.m2/repository/commons-codec/commons-codec/1.6/commons-codec-1.6.jar:/tmp/build6308526339541573992xxx/target/classes
[INFO] Building JavaScript file
[INFO] JavaScript file built with errors
[ERROR] Method com.codename1.ui.html.HTMLComponent.<clinit>()V is claimed to be synchronous, but it is has invocations of asynchronous methods
    at com.codename1.ui.html.HTMLComponent.<clinit>
    at com.codename1.components.WebBrowser.<init>(WebBrowser.java:101)
    at com.codename1.io.Oauth2$2.<init>(Oauth2.java:254)
    at com.codename1.io.Oauth2.createLoginComponent(Oauth2.java:254)
    at com.codename1.io.Oauth2.showAuthentication(Oauth2.java:227)
    at com.codename1.facebook.FaceBookAccess.showAuthentication(FaceBookAccess.java:133)
    at com.codename1.share.FacebookShare.actionPerformed(FacebookShare.java:63)
    at com.codename1.impl.html5.HTML5Implementation$3$1.run(HTML5Implementation.java:369)
    at com.codename1.ui.Display.callSerially(Display.java:768)
    at com.codename1.impl.html5.Stub.main(Stub.java:70)
[INFO] Debug information successfully written
[INFO] Source maps successfully written
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 54.047 s
[INFO] Finished at: 2016-03-23T11:04:42-04:00
[INFO] Final Memory: 19M/695M
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal org.teavm:teavm-maven-plugin:1.0.0-cn1-003:compile (web-client) on project MyApplication: Build error -> [Help 1]
org.apache.maven.lifecycle.LifecycleExecutionException: Failed to execute goal org.teavm:teavm-maven-plugin:1.0.0-cn1-003:compile (web-client) on project MyApplication: Build error
	at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:216)
	at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:153)
	at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:145)
	at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:116)
	at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:80)
	at org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build(SingleThreadedBuilder.java:51)
	at org.apache.maven.lifecycle.internal.LifecycleStarter.execute(LifecycleStarter.java:120)
	at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:355)
	at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:155)
	at org.apache.maven.cli.MavenCli.execute(MavenCli.java:584)
	at org.apache.maven.cli.MavenCli.doMain(MavenCli.java:216)
	at org.apache.maven.cli.MavenCli.main(MavenCli.java:160)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:497)
	at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Launcher.java:289)
	at org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:229)
	at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.java:415)
	at org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:356)
Caused by: org.apache.maven.plugin.MojoExecutionException: Build error
	at org.teavm.maven.BuildJavascriptMojo.execute(BuildJavascriptMojo.java:103)
	at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:132)
	at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:208)
	... 19 more
[ERROR] 
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR] 
[ERROR] For more information about the errors and possible solutions, please read the following articles:
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/MojoExecutionException
Currently 'stopOnErrors' is on.  With this enabled, even build warnings will cause the build to fail. 
Try adding the 'javascript.stopOnErrors=false' build hint and see if it builds.  
WARNING: switching stopOnErrors off may result in runtime errors, if the warnings actually fall in the execution path of the app. 

Steve CN1 Hannah

unread,
Mar 23, 2016, 11:16:46 AM3/23/16
to codenameone...@googlegroups.com
See the "Limitations of the Javascript Port" section here

Looks like the HTMLComponent uses some synchronous APIs in its static initializer.    I'll take a look at that and see if there is a way to fix it.   You can probably work around this issue by adding the 
javascript.stopOnErrors=false
build hint.

That may just kick the error down to runtime, but in some cases the app will still work fine.

Steve

--
You received this message because you are subscribed to the Google Groups "CodenameOne Discussions" group.
To unsubscribe from this group and stop receiving emails from it, send an email to codenameone-discu...@googlegroups.com.
Visit this group at https://groups.google.com/group/codenameone-discussions.
To view this discussion on the web visit https://groups.google.com/d/msgid/codenameone-discussions/cccb43fe-98d6-4408-9756-e8f2d0561bed%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.



--
Steve Hannah
Software Developer
Codename One

Gareth Murfin

unread,
Mar 23, 2016, 6:14:20 PM3/23/16
to codenameone...@googlegroups.com
im not even using the html component, ill try tho

--
You received this message because you are subscribed to a topic in the Google Groups "CodenameOne Discussions" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/codenameone-discussions/1DlcaiQZqcY/unsubscribe.
To unsubscribe from this group and all its topics, send an email to codenameone-discu...@googlegroups.com.

For more options, visit https://groups.google.com/d/optout.



--
Gareth Murfin
(Android Freelancer - www.garethmurfin.co.uk)

Shai Almog

unread,
Mar 24, 2016, 12:11:22 AM3/24/16
to CodenameOne Discussions
Replace your usage of the WebBrowser component with the BrowserComponent.

Notice that if you build a website this way you might have some SEO issues you need to work thru...

Steve CN1 Hannah

unread,
Mar 24, 2016, 1:27:22 AM3/24/16
to codenameone...@googlegroups.com
That HtmlComponent is used because your app uses Facebook connect that uses OAuth and this uses the HtmlComponent .

Ironically the BrowserComponent is problematic in the js port because of cross domain issues, so it defaults to use the HtmlComponent instead.

Steve




For more options, visit https://groups.google.com/d/optout.



--
Steve Hannah
Software Developer
Codename One

Gareth Murfin

unread,
Mar 24, 2016, 2:35:20 PM3/24/16
to CodenameOne Discussions
My app doesnt appear to use facebook connect , although i am doing some native stuff with fb sdk so maybe its the same im using FBSDKAppEvents activateApp
To unsubscribe from this group and stop receiving emails from it, send an email to codenameone-discussions+unsub...@googlegroups.com.



--
Steve Hannah
Software Developer
Codename One

--
You received this message because you are subscribed to a topic in the Google Groups "CodenameOne Discussions" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/codenameone-discussions/1DlcaiQZqcY/unsubscribe.
To unsubscribe from this group and all its topics, send an email to codenameone-discussions+unsub...@googlegroups.com.



--
Gareth Murfin
(Android Freelancer - www.garethmurfin.co.uk)

--
You received this message because you are subscribed to the Google Groups "CodenameOne Discussions" group.
To unsubscribe from this group and stop receiving emails from it, send an email to codenameone-discussions+unsub...@googlegroups.com.



--
Steve Hannah
Software Developer
Codename One

Gareth Murfin

unread,
Mar 24, 2016, 2:42:20 PM3/24/16
to CodenameOne Discussions
actually its working, but when i tap a button enter i get this erro about detecting the net, and maybe analytics... impressive so far if i cna get oast this.

[36m####Tools:1%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%detectNet%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
gaz.tw/:1 XMLHttpRequest cannot load http://www.google.com/. No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://gaz.tw' is therefore not allowed access.
runtime.js:346 
runtime.js:346 
runtime.js:346 Failed to load url http://www.google.com/
runtime.js:346 Status code was 0
runtime.js:357 java.io.IOException: Failed to load http://www.google.com/.  Status 

Gareth Murfin

unread,
Mar 24, 2016, 2:43:10 PM3/24/16
to CodenameOne Discussions
also right at the start my push request fails.. XMLHttpRequest cannot load https://codename-one.appspot.com/registerPush?ud=&k=Unknown%20Build%20Key%2…%20Key&t=10&r=com.codename1.impl.html5&os=HTML5&p=com.codename1.impl.html5. No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://gaz.tw' is therefore not allowed access.

Gareth Murfin

unread,
Mar 24, 2016, 2:48:13 PM3/24/16
to CodenameOne Discussions
seems like general IO, does it need to be on ssl or something? your build hint worked btw, 

Failed to load url https://codename-one.appspot.com/registerPush?ud=&k=Unknown%20Build%20Key%2…%20Key&t=10&r=com.codename1.impl.html5&os=HTML5&p=com.codename1.impl.html5
runtime.js:346 Status code was 0
runtime.js:357 java.io.IOException: Failed to load https://codename-one.appspot.com/registerPush?ud=&k=Unknown%20Build%20Key%2…%20Key&t=10&r=com.codename1.impl.html5&os=HTML5&p=com.codename1.impl.html5.  Status 

Gareth Murfin

unread,
Mar 24, 2016, 2:51:04 PM3/24/16
to CodenameOne Discussions
sorry gtetting confused here, last post :) lots of useful info XMLHttpRequest cannot load https://codename-one.appspot.com/registerDeviceServlet?b=&a=Raffler&v=2.4&u=&pl=HTML5&p=&by=. No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://gaz.tw' is therefore not allowed access.
runtime.js:346 
runtime.js:346 
runtime.js:346 Status code was 0
runtime.js:357 java.io.IOException: Failed to load https://codename-one.appspot.com/registerDeviceServlet?b=&a=Raffler&v=2.4&u=&pl=HTML5&p=&by=.  Status 
(index):1 XMLHttpRequest cannot load https://www.google-analytics.com/collect. Response to preflight request doesn't pass access control check: No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'null' is therefore not allowed access. The response had HTTP status code 405.
runtime.js:346 
runtime.js:346 
runtime.js:346 Failed to load url http://www.google-analytics.com/collect
runtime.js:346 Status code was 0
runtime.js:357 java.io.IOException: Failed to load http://www.google-analytics.com/collect.  Status 

Steve CN1 Hannah

unread,
Mar 24, 2016, 2:52:10 PM3/24/16
to codenameone...@googlegroups.com
Are you using the .zip download, the .war download, or running the preview directly off the build server?
The .war file will be the most robust with respect to performing network requests because it comes with an embedded HTTP proxy servlet preconfigured. 
The preview will use a proxy server that runs on AppEngine, which will work for most use cases, but is not quite as robust as the .war version.
For the .zip version, you'll have to set up your own HTTP proxy.

See the "Zip, War, or Preview, What's the difference section"

Steve

To unsubscribe from this group and stop receiving emails from it, send an email to codenameone-discu...@googlegroups.com.



--
Steve Hannah
Software Developer
Codename One

--
You received this message because you are subscribed to a topic in the Google Groups "CodenameOne Discussions" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/codenameone-discussions/1DlcaiQZqcY/unsubscribe.
To unsubscribe from this group and all its topics, send an email to codenameone-discu...@googlegroups.com.



--
Gareth Murfin
(Android Freelancer - www.garethmurfin.co.uk)

--
You received this message because you are subscribed to the Google Groups "CodenameOne Discussions" group.
To unsubscribe from this group and stop receiving emails from it, send an email to codenameone-discu...@googlegroups.com.



--
Steve Hannah
Software Developer
Codename One


--
Steve Hannah
Software Developer
Codename One

--
You received this message because you are subscribed to the Google Groups "CodenameOne Discussions" group.
To unsubscribe from this group and stop receiving emails from it, send an email to codenameone-discu...@googlegroups.com.

For more options, visit https://groups.google.com/d/optout.

Gareth Murfin

unread,
Mar 24, 2016, 3:35:16 PM3/24/16
to codenameone...@googlegroups.com
cheers, I assumed I could download the zip and upload contents to an ftp server.


For more options, visit https://groups.google.com/d/optout.

Steve Hannah

unread,
Mar 24, 2016, 3:44:18 PM3/24/16
to codenameone...@googlegroups.com
You can.  But then you need to configure the an http proxy for making cross domain network requests.

Steve

For more options, visit https://groups.google.com/d/optout.


--
Steve Hannah
Web Lite Solutions Corp.

Gareth Murfin

unread,
Mar 24, 2016, 6:02:46 PM3/24/16
to CodenameOne Discussions
is there any where explaining that?
To unsubscribe from this group and stop receiving emails from it, send an email to codenameone-discussions+unsub...@googlegroups.com.



--
Steve Hannah
Software Developer
Codename One

--
You received this message because you are subscribed to a topic in the Google Groups "CodenameOne Discussions" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/codenameone-discussions/1DlcaiQZqcY/unsubscribe.
To unsubscribe from this group and all its topics, send an email to codenameone-discussions+unsub...@googlegroups.com.



--
Gareth Murfin
(Android Freelancer - www.garethmurfin.co.uk)

--
You received this message because you are subscribed to the Google Groups "CodenameOne Discussions" group.
To unsubscribe from this group and stop receiving emails from it, send an email to codenameone-discussions+unsub...@googlegroups.com.



--
Steve Hannah
Software Developer
Codename One


--
Steve Hannah
Software Developer
Codename One

--
You received this message because you are subscribed to the Google Groups "CodenameOne Discussions" group.
To unsubscribe from this group and stop receiving emails from it, send an email to codenameone-discussions+unsub...@googlegroups.com.



--
Steve Hannah
Software Developer
Codename One

--
You received this message because you are subscribed to a topic in the Google Groups "CodenameOne Discussions" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/codenameone-discussions/1DlcaiQZqcY/unsubscribe.
To unsubscribe from this group and all its topics, send an email to codenameone-discussions+unsub...@googlegroups.com.



--
Gareth Murfin
(Android Freelancer - www.garethmurfin.co.uk)

--
You received this message because you are subscribed to the Google Groups "CodenameOne Discussions" group.
To unsubscribe from this group and stop receiving emails from it, send an email to codenameone-discussions+unsub...@googlegroups.com.

Steve CN1 Hannah

unread,
Mar 24, 2016, 6:05:19 PM3/24/16
to codenameone...@googlegroups.com
Yes.  In the developer guide in the link I sent you earlier in this thread.
To unsubscribe from this group and stop receiving emails from it, send an email to codenameone-discu...@googlegroups.com.



--
Steve Hannah
Software Developer
Codename One

--
You received this message because you are subscribed to a topic in the Google Groups "CodenameOne Discussions" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/codenameone-discussions/1DlcaiQZqcY/unsubscribe.
To unsubscribe from this group and all its topics, send an email to codenameone-discu...@googlegroups.com.



--
Gareth Murfin
(Android Freelancer - www.garethmurfin.co.uk)

--
You received this message because you are subscribed to the Google Groups "CodenameOne Discussions" group.
To unsubscribe from this group and stop receiving emails from it, send an email to codenameone-discu...@googlegroups.com.



--
Steve Hannah
Software Developer
Codename One


--
Steve Hannah
Software Developer
Codename One

--
You received this message because you are subscribed to the Google Groups "CodenameOne Discussions" group.
To unsubscribe from this group and stop receiving emails from it, send an email to codenameone-discu...@googlegroups.com.



--
Steve Hannah
Software Developer
Codename One

--
You received this message because you are subscribed to a topic in the Google Groups "CodenameOne Discussions" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/codenameone-discussions/1DlcaiQZqcY/unsubscribe.
To unsubscribe from this group and all its topics, send an email to codenameone-discu...@googlegroups.com.



--
Gareth Murfin
(Android Freelancer - www.garethmurfin.co.uk)

--
You received this message because you are subscribed to the Google Groups "CodenameOne Discussions" group.
To unsubscribe from this group and stop receiving emails from it, send an email to codenameone-discu...@googlegroups.com.


--
Steve Hannah
Web Lite Solutions Corp.

--
You received this message because you are subscribed to the Google Groups "CodenameOne Discussions" group.
To unsubscribe from this group and stop receiving emails from it, send an email to codenameone-discu...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/codenameone-discussions/db43e346-4895-4972-b489-9113a97752bc%40googlegroups.com.

For more options, visit https://groups.google.com/d/optout.
Reply all
Reply to author
Forward
0 new messages