Luxembourg 2014/15


Nationaldivision (BGL Ligue)
Luxembourg Cup
Ehrenpromotion
1st Division
2nd Division
3rd Division

Nationaldivision (BGL Ligue)

Final Table:

 1.CS Fola Esch/Alzette                      26  19  4  3  63-21  61  Champions
 2.FC Differdange 03                         26  18  5  3  61-31  59
 3.F91 Dudelange                             26  16  6  4  55-20  54
 4.FC Progrès Niedercorn                     26  15  5  6  51-29  50
 5.AS La Jeunesse d'Esch/Alzette             26  12  8  6  46-34  44
 6.FC Victoria Rosport                       26   8  7 11  36-46  31
 7.FC Etzella Ettelbruck                     26   9  3 14  36-50  30
 8.US Mondorf-les-Bains                      26   8  5 13  30-40  29
 9.CS Grevenmacher                           26   8  5 13  24-48  29
10.US Rumelange                              26   7  7 12  29-38  28
11.FC Wiltz 71                               26   7  6 13  29-38  27
 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
12.UN Käerjéng 97                            26   8  3 15  33-52  27  Relegation Playoff
--------------------------------------------------------------------
13.US Hostert                                26   5  8 13  35-52  23  Relegated
14.FC Jeunesse Canach                        26   3  6 17  16-45  15  Relegated

Round 1
[Aug 1]
Jeunesse Esch         3-3 Differdange           
[Aug 3]
Grevenmacher          2-1 Hostert               
Etzella               3-0 Mondorf               
Dudelange             3-0 Wiltz                 
Rosport               2-1 Rumelange             
Progrès               1-0 Fola                  
Käerjéng              1-2 Jeunesse Canach       

Round 2
[Aug 9]
Hostert               1-4 Dudelange             
[Aug 10]
Fola                  7-1 Rumelange             
Differdange           2-1 Etzella               
Rosport               3-1 Jeunesse Esch         
Wiltz                 0-2 Käerjéng              
Jeunesse Canach       1-2 Progrès               
Mondorf               1-2 Grevenmacher          

Round 3 [Aug 17]
Fola                  4-2 Rosport               
Grevenmacher          0-0 Differdange           
Etzella               0-3 Jeunesse Esch         
Dudelange             0-0 Mondorf               
Progrès               2-0 Wiltz                 
Käerjéng              2-0 Hostert               
Rumelange             1-0 Jeunesse Canach       

Round 4
[Aug 22]
Wiltz                 0-1 Rumelange             
Jeunesse Esch         4-2 Grevenmacher          
[Aug 23]
Hostert               1-2 Progrès               
[Aug 24]
Differdange           1-1 Dudelange             
Rosport               4-1 Etzella               
Jeunesse Canach       0-1 Fola                  
Mondorf               3-2 Käerjéng              

Round 5
[Aug 28]
Fola                  2-1 Wiltz                 
Dudelange             2-2 Jeunesse Esch         
Käerjéng              1-3 Differdange           
Rumelange             2-2 Hostert               
[Aug 29]
Progrès               2-2 Mondorf               
[Aug 30]
Grevenmacher          0-2 Etzella               
[Aug 31]
Jeunesse Canach       0-0 Rosport               

Round 6
[Sep 14]
Etzella               0-0 Dudelange             
Differdange           3-1 Progrès               
Wiltz                 1-1 Jeunesse Canach       
Jeunesse Esch         2-0 Käerjéng              
Hostert               1-1 Fola                  
Mondorf               0-1 Rumelange             
[Sep 15]
Rosport               2-0 Grevenmacher          

Round 7
[Sep 19]
Progrès               2-2 Jeunesse Esch         
[Sep 21]
Fola                  4-1 Mondorf               
Dudelange             5-0 Grevenmacher          
Wiltz                 1-2 Rosport               
Jeunesse Canach       1-0 Hostert               
Käerjéng              2-3 Etzella               
Rumelange             1-2 Differdange           

Round 8
[Sep 27]
Differdange           1-1 Fola                  
[Sep 28]
Grevenmacher          0-2 Käerjéng              
Etzella               2-3 Progrès               
Rosport               1-2 Dudelange             
Jeunesse Esch         2-1 Rumelange             
Hostert               2-1 Wiltz                 
Mondorf               1-2 Jeunesse Canach       

Round 9
[Oct 2]
Fola                  1-1 Jeunesse Esch         
Jeunesse Canach       1-2 Differdange           
Käerjéng              0-5 Dudelange             
Rumelange             0-0 Etzella               
[Oct 3]
Progrès               6-0 Grevenmacher          
[Oct 5]
Wiltz                 2-0 Mondorf               
Hostert               2-1 Rosport               

Round 10
[Oct 17]
Differdange           awd Wiltz                 [awarded 3-0, originally 2-1, Wiltz used
[Oct 19]                                         ineligible player]
Grevenmacher          0-2 Rumelange             
Etzella               0-3 Fola                  
Dudelange             1-0 Progrès               
Rosport               0-0 Käerjéng              
Jeunesse Esch         4-2 Jeunesse Canach       
Mondorf               1-1 Hostert               

Round 11
[Oct 25]
Progrès               3-0 Käerjéng              
Mondorf               1-0 Rosport               
[Oct 26]
Fola                  3-0 Grevenmacher          
Wiltz                 0-0 Jeunesse Esch         
Jeunesse Canach       1-4 Etzella               
Hostert               2-1 Differdange           
Rumelange             1-1 Dudelange             

Round 12 [Nov 2]
Grevenmacher          1-0 Jeunesse Canach       
Etzella               2-1 Wiltz                 
Dudelange             0-2 Fola                  
Differdange           3-2 Mondorf               
Rosport               1-1 Progrès               
Jeunesse Esch         2-2 Hostert               
Käerjéng              2-2 Rumelange             

Round 13 [Nov 23]
Fola                  4-0 Käerjéng              
Differdange           3-2 Rosport               
Wiltz                 1-0 Grevenmacher          
Jeunesse Canach       0-0 Dudelange             
Hostert               1-2 Etzella               
Mondorf               2-1 Jeunesse Esch         
Rumelange             2-4 Progrès               

Halfway Table:

 1.CS Fola Esch/Alzette                      13   9  3  1  33- 9  30
 2.FC Differdange 03                         13   8  4  1  27-16  28
 3.FC Progrès Niedercorn                     13   8  3  2  29-15  27
 4.F91 Dudelange                             13   6  6  1  24- 8  24
 5.AS La Jeunesse d'Esch/Alzette             13   5  6  2  27-20  21
 6.FC Etzella Ettelbruck                     13   6  2  5  20-20  20
 7.FC Victoria Rosport                       13   5  3  5  20-17  18
 8.US Rumelange                              13   4  4  5  16-22  16
 9.US Hostert                                13   3  4  6  16-22  13
10.FC Jeunesse Canach                        13   3  3  7  11-18  12
11.US Mondorf-les-Bains                      13   3  3  7  14-23  12
 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
12.UN Käerjéng 97                            13   3  2  8  14-27  11
--------------------------------------------------------------------
13.CS Grevenmacher                           13   3  1  9   7-29  10
14.FC Wiltz 71                               13   2  2  9   8-20   8

Round 14 [Feb 22]
Grevenmacher          0-0 Mondorf               
Etzella               1-2 Differdange           
Dudelange             3-1 Hostert               
Jeunesse Esch         2-1 Rosport               
Progrès               1-0 Jeunesse Canach       
Käerjéng              1-1 Wiltz                 
Rumelange             0-1 Fola                  

Round 15
[Feb 27]
Jeunesse Canach       0-1 Rumelange             
[Mar 1]
Differdange           1-1 Grevenmacher          
Rosport               1-5 Fola                  
Wiltz                 0-0 Progrès               
Jeunesse Esch         5-1 Etzella               
Hostert               3-0 Käerjéng              
Mondorf               0-5 Dudelange             

Round 16
[Mar 5]
Grevenmacher          1-0 Jeunesse Esch         
[Mar 8]
Fola                  1-0 Jeunesse Canach       
Etzella               1-1 Rosport               
Dudelange             2-1 Differdange           
Progrès               3-2 Hostert               
Käerjéng              2-0 Mondorf               
Rumelange             4-0 Wiltz                 

Round 17
[Mar 13]
Jeunesse Esch         0-4 Dudelange             
[Mar 14]
Mondorf               1-0 Progrès               
[Mar 15]
Etzella               2-3 Grevenmacher          
Differdange           5-0 Käerjéng              
Rosport               1-1 Jeunesse Canach       
Wiltz                 1-1 Fola                  
Hostert               1-1 Rumelange             

Round 18
[Mar 18]
Progrès               1-2 Differdange           
[Mar 19]
Fola                  3-1 Hostert               
Grevenmacher          2-2 Rosport               
Dudelange             2-0 Etzella               
[Mar 22]
Jeunesse Canach       awd Wiltz                 [awarded 0-3, originally 3-2]
Käerjéng              1-3 Jeunesse Esch         
Rumelange             1-1 Mondorf               

Round 19
[Apr 6]
Jeunesse Esch         2-2 Progrès               
[Apr 8]
Etzella               0-3 Käerjéng              
Hostert               2-2 Jeunesse Canach       
Grevenmacher          0-2 Dudelange             
Mondorf               0-1 Fola                  
Differdange           2-1 Rumelange             
Rosport               2-1 Wiltz                 

Round 20 [Apr 12]
Fola                  2-3 Differdange           
Dudelange             4-0 Rosport               
Wiltz                 3-3 Hostert               
Jeunesse Canach       0-1 Mondorf               
Progrès               3-0 Etzella               
Käerjéng              1-2 Grevenmacher          
Rumelange             0-1 Jeunesse Esch         

Round 21 [Apr 19]
Grevenmacher          1-3 Progrès               
Etzella               1-0 Rumelange             
Dudelange             2-3 Käerjéng              
Differdange           2-1 Jeunesse Canach       
Rosport               4-1 Hostert               
Jeunesse Esch         0-1 Fola                  
Mondorf               3-1 Wiltz                 

Round 22
[Apr 25]
Fola                  2-1 Etzella               
Jeunesse Canach       0-0 Jeunesse Esch         
Käerjéng              0-1 Rosport               
[Apr 26]
Wiltz                 2-1 Differdange           
Progrès               1-2 Dudelange             
Rumelange             0-3 Grevenmacher          
Hostert               2-1 Mondorf               

Round 23
[May 1]
Jeunesse Esch         2-0 Wiltz                 
[May 3]
Grevenmacher          1-5 Fola                  
Etzella               4-0 Jeunesse Canach       
Dudelange             2-0 Rumelange             
Differdange           6-1 Hostert               
Rosport               1-4 Mondorf               
Käerjéng              2-1 Progrès               

Round 24 [May 10]
Fola                  awd Dudelange             [awarded 3-0, originally 1-0]
Wiltz                 3-1 Etzella               
Jeunesse Canach       0-3 Grevenmacher          
Progrès               2-0 Rosport               
Hostert               0-1 Jeunesse Esch         
Mondorf               1-2 Differdange           
Rumelange             3-1 Käerjéng              

Round 25 [May 17]
Grevenmacher          0-3 Wiltz                 
Etzella               3-2 Hostert               
Dudelange             3-0 Jeunesse Canach       
Rosport               0-4 Differdange           
Jeunesse Esch         1-0 Mondorf               
Progrès               1-0 Rumelange             
Käerjéng              0-3 Fola                  

Round 26 [May 23]
Fola                  2-4 Progrès               
Differdange           3-2 Jeunesse Esch         
Wiltz                 3-0 Dudelange             
Jeunesse Canach       1-5 Käerjéng              
Hostert               0-0 Grevenmacher          
Mondorf               4-1 Etzella               
Rumelange             2-2 Rosport               

Final Table:

 1.CS Fola Esch/Alzette                      26  19  4  3  63-21  61  Champions
 2.FC Differdange 03                         26  18  5  3  61-31  59
 3.F91 Dudelange                             26  16  6  4  55-20  54
 4.FC Progrès Niedercorn                     26  15  5  6  51-29  50
 5.AS La Jeunesse d'Esch/Alzette             26  12  8  6  46-34  44
 6.FC Victoria Rosport                       26   8  7 11  36-46  31
 7.FC Etzella Ettelbruck                     26   9  3 14  36-50  30
 8.US Mondorf-les-Bains                      26   8  5 13  30-40  29
 9.CS Grevenmacher                           26   8  5 13  24-48  29
10.US Rumelange                              26   7  7 12  29-38  28
11.FC Wiltz 71                               26   7  6 13  29-38  27
 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
12.UN Käerjéng 97                            26   8  3 15  33-52  27  Relegation Playoff
--------------------------------------------------------------------
13.US Hostert                                26   5  8 13  35-52  23  Relegated
14.FC Jeunesse Canach                        26   3  6 17  16-45  15  Relegated

Promotion/Relegation Playoff

[May 29, Hesperange]
Käerjéng              0-3 Strassen              

NB: FC Una Strassen promoted, UN Käerjéng 97 relegated

Luxembourg Cup

Round 5
[Nov 28]
FC Schifflange 95              0–1 US Rumelange                   [aet]
FC Munsbach                    0–2 US Mondorf-les-Bains           
[Nov 29]
Berdenia Berbourg              0–4 F91 Dudelange                  
[Nov 30]
US Sandweiler                  0–5 US Hostert                     
Union Remich/Bous              1–4 FC Differdange 03              
UNA Strassen                   4–2 Progrès Niedercorn             
Swift Hesperange               1–0 Titus Lamadelaine              
Sporting Bertrange             1–3 CS Grevenmacher                
RM Hamm Benfica                2–1 Jeunesse Esch                  
RFCUL                          3–0 Victoria Rosport               
FC Muhlenbach-Sandzak          0–4 FC Rodange 91                  
Minerva Lintgen                1–4 FC Wiltz 71                    
Marisca Mersch                 2-2 UN Käerjéng 97                 [aet, 2-4 pen]
Avenir Beggen                  1-1 Jeunesse Canach                [aet, 2-3 pen]
Atert Bissen                   1–4 CS Fola Esch                   
[Dec 3]
AS Wincrange                   1–2 Etzella Ettelbruck             

1/8 Finals [Dec 7]
US Hostert                     0–2 Etzella Ettelbruck             
US Mondorf-les-Bains           2-4 CS Fola Esch                   [aet]
Jeunesse Canach                3–1 UN Käerjéng 97                 
RFCUL                          0–2 RM Hamm Benfica                
Swift Hesperange               0-3 CS Grevenmacher                
UNA Strassen                   0-1 F91 Dudelange                  
FC Rodange 91                  0-3 FC Differdange 03              
FC Wiltz 71                    3-4 US Rumelange                   [aet]

Quarterfinals [Apr 4]
US Rumelange                   2-5 FC Differdange 03              
CS Grevenmacher                1-2 Etzella Ettelbruck             [aet]
Jeunesse Canach                0-0 RM Hamm Benfica                [aet, 4-2 pen]
CS Fola Esch                   1-3 F91 Dudelange                  

Semifinals [May 14]
FC Differdange 03              3-2 Jeunesse Canach                
F91 Dudelange                  4-0 Etzella Ettelbruck             

Final [May 31]
FC Differdange 03              1-1 F91 Dudelange                  [aet, 3-2 pen]

Ehrenpromotion

Final Table:

 1.FC RM Hamm Benfica                        26  22  2  2  90-17  68  Promoted
 2.Racing FC Union Luxembourg                26  21  2  3  62-23  65  Promoted
--------------------------------------------------------------------
 3.FC Una Strassen                           26  18  7  1  72-32  61  Promotion Playoff
 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
 4.FC Rodange 91                             26  14  4  8  48-40  46
 5.FC Mamer 32                               26  11  2 13  50-49  35
 6.FC Swift Hesperange                       26  10  5 11  42-49  35
 7.CS Pétange                                26  10  5 11  35-45  35  [*2]
 8.Union 05 Kayl-Tétange                     26  10  3 13  35-38  33
 9.FC 72 Erpeldange                          26   9  5 12  45-54  32
10.US Sandweiler                             26   9  3 14  37-54  30
 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
11.FC Titus Lamadelaine                      26   7  4 15  30-55  25  [*2]
12.FC Mondercange                            26   5  6 15  31-54  21  Relegation Playoff
--------------------------------------------------------------------
13.FC Muhlenbach-Sandzak                     26   3  7 16  35-60  16  [*1]  Relegated
14.FC Minerva Lintgen                        26   5  1 20  22-64  16  Relegated

[*1] CS Lusitanos Muhlenbach were renamed FC Muhlenbach-Sandzak
[*2] CS Pétange and FC Titus Lamadelaine merged into Union Titus Pétange at the end
     of the season; because of this FC Avenir Beggen were promoted directly

Promotion/Relegation Playoff 

[*2]
Lamadelaine           o/w Avenir                [Titus Lamadelaine merged into CS Pétange]
[May 30, Niedercorn]
Mondercange           2-2 US Esch               [aet, 4-2 pen]

NB: both FC Mondercange and US Esch remain at former level

Promoted directly: FF Norden 02, Union Remich/Bous

First Division

1st class 1st serie                  
 1 FF Norden 02 Weiswampach-Hupperd.  26  20  3  3  63  76-21  prom   
 2 Avenir Beggen                      26  18  4  4  58  51-20  prom   
 3 Atert Bissen                       26  16  4  6  52  56-23         
 4 FC Lorentzweiler                   26  16  3  7  51  48-35         
 5 FC Bastendorf 47                   26   8 11  7  35  42-38         
 6 Résidence Walferdange              26   9  6 11  33  48-47         
 7 Jeunesse Schieren                  26   7 11  8  32  35-43         
 8 AS Wincrange                       26   9  4 13  31  37-56         
 9 Orania Vianden                     26   7  8 11  29  38-48         
10 Marisca Mersch                     26   7  7 12  28  48-54         
11 FC Kehlen                          26   7  7 12  28  21-39         
12 Sporting Club Steinfort            26   6  6 14  24  31-48  rel    
13 US Boevange-Attert                 26   6  4 16  22  34-60  rel    
14 Green Boys 77 Harlange-Tarchamps   26   5  4 17  19  33-66  rel    
Playoff 1st class - 2nd class      : Sporting Club Steinfort-The Belval Belvaux 1-3
                                        
1st class 2nd serie                     
 1 Union Remich/Bous                  26  17  4  5  55  54-36  prom   
 2 US Esch-Alzette                    26  15  7  4  52  60-26         
 3 FC Alliance Aischdall Hobsch.Eisch.26  13  6  7  45  49-42         
 4 Yellow Boys Weiler-la-Tour         26  13  3 10  42  52-38         
 5 FC Schifflange 95                  26  13  2 11  41  51-46         
 6 Jeunesse Junglinster               26  10  6 10  33  43-34         
 7 Union Mertert-Wasserbillig         26   7 12  7  33  37-36         
 8 Koeppchen Wormeldange              26   8  8 10  33  43-54         
 9 Sporting Bertrange                 26   8  8 10  32  37-49         
10 CS Oberkorn                        26  10  2 14  32  52-64         
11 SC Bettembourg                     26   9  4 13  31  50-60         
12 Berdenia Berbourg                  26   9  3 14  30  52-58         
13 US Berdorf-Consdorf 01             26   8  5 13  29  46-58  rel    
14 Luna Oberkorn                      26   6  2 18  20  39-64  rel    
Playoff Ehrenpromotion - 1st class : FC Mondercange - US Esch-Alzette 2-2, pen 6-5
Playoff 1st class - 2nd class      : Berdenia Berbourg-FC Red Black Egalité 07 Pfaffenthal-Weimerskirch 1-0

Second Division

2nd class 1st serie                     
 1 Alisontia Steinsel                 26  17  7  2  58  71-24  prom   
 2 Sporting Mertzig                   26  15  7  4  52  57-27  prom   
 3 US Feulen                          26  15  6  5  51  57-30         
 4 FC Pratzerthal-Redange             26  13  6  7  45  61-45         
 5 SC Ell                             26  12  5  9  41  53-44         
 6 Racing Troisvierges                26  12  5  9  41  54-45         
 7 AS Hosingen                        26  12  4 10  40  49-39         
 8 Jeunesse Gilsdorf                  26  11  4 11  37  55-53         
 9 AS Colmarberg                      26  11  4 11  37  40-40         
10 Jeunesse Useldange                 26  10  5 11  35  57-52         
11 Blô-Weiss Medernach                26   7  7 12  28  36-39         
12 Young Boys Diekirch                26   7  7 12  28  37-47         
13 AS Rupensia Lusitanos Larochette   26   3  1 22  10  26-93  rel    
14 Olympia Christnach-Waldbillig      26   1  4 21   7  24-99  rel    
Playoff 2nd class - 3rd class      : Young Boys Diekirch-US Folschette 3-0 aet
                                        
2nd class 2nd serie                     
 1 FC Munsbach                        26  17  7  2  58  86-20  prom   
 2 Daring Echternach                  26  15  5  6  50  39-22  prom   
 3 FC The Belval Belvaux              26  14  7  5  49  59-28  prom   
 4 FC Red Black Eg.07 Pfaff.Weimersk. 26  14  6  6  48  36-23        
 5 Red Boys Aspelt                    26  14  3  9  45  51-45        
 6 Blo-Wäiss Itzig                    26  12  5  9  41  44-47        
 7 CS Sanem                           26  12  4 10  40  56-36        
 8 AS Luxembourg Porto                26   9  7 10  34  43-44        
 9 Syra Mensdorf                      26  10  3 13  33  44-47        
10 Red Star Merl-Belair               26  10  3 13  33  42-49        
11 US Moutfort-Medingen               26   9  3 14  30  41-56        
12 Jeunesse Biwer                     26   7  5 14  26  38-59        
13 FC CeBra 01                        26   6  3 17  21  29-72  rel   
14 Tricolore Gasperich                26   2  1 23   7  22-82  rel   
Playoff 1st class - 2nd class      : Berdenia Berbourg-FC Red Black Egalité 07 Pfaffenthal-Weimerskirch 1-0
Playoff 2nd class - 3rd class      : Jeunesse Biwer-FC Brouch 1-0

Third Division

3rd class 1st serie                     
 1 FC Les Ardoisiers Perlé            24  15  6  3  51  58-26  prom  
 2 US Folschette                      24  14  4  6  46  52-33        
 3 Excelsior Grevels                  24  12  5  7  41  61-39        
 4 Kischpelt Wilwerwiltz              24   8  7  9  31  46-49        
 5 Sporting Beckerich                 24   7  4 13  25  45-48        
 6 Claravallis Clervaux               24   7  4 13  25  37-69        
 7 US Rambrouch                       24   4  4 16  16  29-64        
Playoff 2nd class - 3rd class      : Young Boys Diekirch-US Folchette 3-0 aet
                                        
3rd class 2nd serie                     
 1 FC Koerich-Simmern                 24  20  3  1  63  86-26  prom  
 2 Etoile Sportive Schouweiler        24  17  4  3  55  61-36  prom  
 3 FC Brouch                          24  14  2  8  44  70-36        
 4 US Reisdorf                        24  10  2 12  32  46-44        
 5 CS Bourscheid                      24   8  4 12  28  38-51        
 6 Racing Heiderscheid-Eschdorf       24   4  3 17  15  29-68        
 7 FC Kopstal 33                      24   1  2 21   5  16-85        
Playoff 2nd class - 3rd class      : Jeunesse Biwer-FC Brouch 1-0
                                        
3rd class 3nd serie                     
 1 Minière Lasauvage                  24  17  5  2  56  48-16  prom  
 2 FC Les Aiglons Dalheim             24  16  5  3  53  49-18  prom  
 3 FC Noertzange H.F.                 24  12  6  6  42  48-32        
 4 FC Ehlerange                       24   9  4 11  31  38-37        
 5 Etoile Sportive Clemency           24   8  5 11  29  32-37        
 6 Vinesca Ehnen                      24   5  4 15  19  39-55        
 7 FC Schengen                        24   2  1 21   7  15-74        


2013/14.

2015/16.

list of champions.

list of all final tables.

list of cup finals.

list of topscorers.


About this document

Prepared and maintained by Jan Schoenmakers and Karel Stokkermans the Rec.Sport.Soccer Statistics Foundation

Authors: Jan Schoenmakers (Jan.Schoenmakers@xs4all.nl) and Karel Stokkermans
Last updated: 24 Nov 2016

(C) Copyright Jan Schoenmakers, Karel Stokkermans and RSSSF 2014/16
You are free to copy this document in whole or part provided that proper acknowledgement is given to the authors. All rights reserved.