Trouble Shoot Form: EasyAdmin Item 001 (Unable to connect to EasyAdmin)

Title Unable to connect to EasyAdmin
Category EasyAdmin web application
Date Oct 11, 2011
Handled by
Relevant Links
Applies to license managers FLEXlm, FLEXnet, IBM LUM, HASP, RLM, Sentinel RMS
Applies to license model Floating licenses, Network licenses, Concurrent licenses
Symptoms Customer could not connect to EasyAdmin.
Observed during investigation
Trouble shoot process Check web server service running,
Check OpenLM server service running.
Solution Found (Found/Pending/Known Issue)
Other steps for troubleshooting

Symptom

The customer complained that he “Couldn’t connect to the EasyAdmin”. Attempting to open the EasyAdmin web application resulted in the following message box appearing on his screen:

In a similar case, the customer got a different notification:

 Troubleshoot process

This kind of issues is related to services that have stopped and are not currently active. The 1st thing to try is restarting the respective process.

1. Navigate to the windows services: Click Start → Control Panel → System and Security → Administrative Tools → Services. The “Services” window appears.

2. In the first case (“Couldn’t connect to host” message box), it may be an issue of the OpenLM Server service.

2a. Select that OpenLM Server service in the “Services” window.

2b. Right click the OpenLM Server service, and set it to restart – see image below.

2c. Restart the EasyAdmin web application.

3. If the 2nd type message box (“Please Check your Internet connection”) appeared, it may be an issue of the web server service. Restart your web server service (e.g.: LightTPD).

Other steps for troubleshooting:

If restarting the services does not work – here are some other things you may try:

  • Run the EasyAdmin application from the same computer as the OpenLM Server.

  • Make sure that any security components (Firewall) are not blocking communication to the EasyAdmin web application.

  • Temporarily stop the OpenLM Server and OpenLM Broker services. Open the task manager’s processes window. Make sure the computer is not held-up by any other process.

  • Still in the task manager’s processes window, look for the LightTpd process. If there are multiple processes with that name – kill them, and restart the LightTpd service on the services window.

  • Make sure the default HTTP listener port (7019) is kept open. Try a different port (e.g. 7020) on the lighttpd-inc.conf configuration file(C:\Program Files\OpenLM\OpenLM Server\WebServer) . Then restart LightTPD service.

  • Try connecting the proxy to the test page; Select the test page from the ‘Start’ menu (see below). Click the ‘Check’ button. An indication similar to that of the 2nd image below should appear.

  • Try a different web browser.

  • Try erasing the Proxy server logs. These are found in the following positions:

Win 7: C:\ProgramData\OpenLM

XP, Win 2003: C:\Documents and Settings\All Users\Application\OpenLM

Please follow and like us:

Application Note 1019: Monitoring an IBM LUM License server using the OpenLM Utilizer

General

The OpenLM Utilizer supports the IBM LUM license server. IBM LUM licenses are used by various software vendors, the main being Dassault Systems (Catia software). In order for OpenLM to support the LUM License server it has to be able to access the LUM License server remotely or locally. Different configuration options are supported by OpenLM that allows system managers to configure license servers located on LAN and WAN networks.

Table of contents

General
System Configurations Options
IBM LUM and OpenLM on the same machine
IBM LUM and OpenLM on separate machines
Configuring the OpenLM Broker to push usage information to the OpenLM Server
Configuring the OpenLM Server machine to query usage on the IBM LUM License server
Adding an IBM LUM license server in the OpenLM server configuration form
IBM LUM Support Level
Summary

System Configurations Options

OpenLM Supports flexible configurations for LAN or WAN networks. This section elaborates these configurations. Most of the information in this section is also relevant to other license servers such as SafeNet RMS, SafeNet HASP, FLEXlm, FLEXnet, RLM and others.

IBM LUM license server and OpenLM on the same machine

This is the most simple configuration but not a very realistic one. Most companies have more than one license server and because of that, they install OpenLM on a separate machine. When OpenLM server is installed on the same machine as the IBM LUM License server, there is no additional configuration steps; just add the server name and port to the configuration.

IBM LUM license server and OpenLM on separate machines

In this scenario, the OpenLM Server is installed on one machine and the license server is installed on another. The problem we have to solve is how to enable the OpenLM Server to access the LUM License Server. There are two possible solutions:

  • Employ the OpenLM Broker to send IBM LUM usage data to the OpenLM Server.
  • Configure the OpenLM Server machine to be able to query usage on the IBM LUM License server.

Configuring the OpenLM Broker to push usage information to the OpenLM Server

This is the most simple solution but it requires access to the license server machine for installation. OpenLM Broker software is reading the license usage locally and pushing the information to OpenLM Server.
Installation of the OpenLM Broker requires Java JRE. It can run on any operating system supported by Java; hence OpenLM supports Linux, Windows and UNIX license servers. Please refer to the OpenLM Broker quick start Application Note for further information.

OpenLM supplies an updated version of the IBM LUM executable file i4blt.exe. On occasion, this file may be non-compliant by version to the one that runs the IBM LUM license manager. If this occurs, please change the path fo IBM LUM commands in the OpenLM Broker, as elaborated in this trouble – shoot article.

Configuring the  OpenLM Server machine to query usage on the IBM LUM License server.

The IBM LUM Server enables other machines to query license usage and perform other actions remotely. For a full install procedure please consult the IBM LUM documentation. The following list is a short overview of this procedure.

  1. Install Java JRE on the OpenLM Server machine.
  2. Make sure that you have IIS installed and configured on the OpenLM Server Machine.
  3. Install the LUM software on the OpenLM Server machine. There is no need to configure the OpenLM server machine as an LUM server.
  4. Add a reference to the OpenLM Server on the IBM LUM License server.
  5. After installing the LUM software on the OpenLM Server machine, the i4ls.ini file is created. For Windows versions Vista and beyond, copy this file from

C:\Users\<Username>\AppData\Local\VirtualStore\ProgramData\IBM\LUM  to C:\ProgramData\IBM\LUM.

For pre-Vista versions, copy this file from

C:\Documents and Settings\All Users\Application Data\IBM\LUM to

C:\Users\All Users\IBM\LUM

Note that if you use the Server’s IP instead of its name (for instance if the servers  are located on different DNS domains so that DNS resolution does not work), a ‘#’ symbol must precede the IP.

Adding an IBM LUM license server in the OpenLM server configuration form

Like the configuration of FLEXlm and SafeNet RMS Services, the configuration of an IBM LUM is simple and straight forward:

  1. Open the OpenLM Server Configuration, on the License Servers tab.
  2. Click the ‘Add’ button. Type in the License Server name (e.g.: olm_test_lum2) and port number (e.g.: 9999).
  3. Select ‘LUM’ in the license server ‘Type’ drop down menu.
  4. Type in a verbal Description in the ‘Description’ text box (e.g.: new LUM license manager)
  5. Click the ‘Apply’ button. A restart notification appears.
  6. Click the ‘Restart now’ button. That’s it: the OpenLM Utilizer is set to monitor the LUM license server.

IBM LUM Support Level

The main functionality of the OpenLM Utilizer is also applicable to IBM LUM licenses. In addition, the OpenLM Utilizer facilitates unique IBM LUM features, such as feature versions.

The main OpenLM supported features for IBM LUM include:

  • License inventory reporting.
  • License expiration alerts (from OpenLM v1.8).
  • Current license usage.
  • Usage reports and charts.
  • License billing for groups or projects.

Summary

IBM LUM (License Use Management) is the IBM product for technical software license management (analogous to FLEXnet, being Flexera’s  license management product). The OpenLM Utilizer fully supports the IBM LUM software, and provides a flexible architecture for complex configurations.

OpenLM supports unique features of IBM LUM such as versions for features. Advanced OpenLM features such as License Usage Billing, Usage Reports and Usage Charts are supported for IBM LUM.

Revision Date Author Notes
0.1 – Preliminary Nov27, 2011 Preliminary
1.0 May13, 2012 License expiration alerts:  from OpenLM v1.8.
Please follow and like us:

Trouble Shoot Form: OpenLM Server Item 001(Unable to upgrade OpenLM server version)

 

Title Unable to upgrade OpenLM server version
Category Installation
Date Nov 03, 2011
Handled by Rachel, Oren
Relevant Links
Applies to license managers FLEXlm, FLEXera FLEXnet, IBM LUM, HASP, RLM, Sentinel RMS
Applies to license model Floating licenses, Network licenses, Concurrent licenses, Node Locked
Symptoms “After upgrade, server configuration will not run”
Customer could not uninstall The OpenLM Server module, due to lacking permissions.
Observed during investigation Customer could not uninstall The OpenLM Server module.
OpenLM Server Service was not uninstalled.
Trouble shoot process Uninstall and reinstall the OpenLM Server Service manually.
Solution Found (Found/Pending/Known Issue)

Symptom

The customer complained that after upgrading the OpenLM server, the server configuration form would not open.

Observed during investigation

The customer could not uninstall the OpenLM server module. Although being set as an administrator with administrative privileges, he was denied the ability to uninstall the OpenLM server service.

Solution

1. Back up the Database.
2. Uninstall the OpenLM server service, using a CMD file:

  • Compile a CMD file (e.g.: myUninstallFile.cmd) from the following code.
  • Run the CMD file as an administrator: Either from a command line, or Right-click on its icon, and choose to run it as an administrator.

// Stop the OpenLM Server service
net stop “OpenLM Server”
// Uninstall the OpenLM Server Service
“C:\Windows\Microsoft.NET\Framework\v4.0.30319\installutil.exe” /u “C:\Program Files\OpenLM\OpenLM Server\bin\OpenLM_Server.exe”
// Wait for the user to click any key
pause

3. Uninstall the OpenLM Server Using the Windows Control Panel.

Note: The OpenLM server service may be reinstalled using a CMD file in a similar manner to that of the uninstallment process:

  • Compile a CMD file (e.g.: myReinstallFile.cmd) from the following code.
  • Run the CMD file as an administrator: Either from a command line, or Right-click on its icon, and choose to run it as an administrator.

// Reinstall the OpenLM Server Service
“C:\Windows\Microsoft.NET\Framework\v4.0.30319\installutil.exe” “C:\Program Files\OpenLM\OpenLM Server\bin\OpenLM_Server.exe”
// Wait for the user to click any key
pause

4. Restart the OpenLM server service.

5. Download and run the latest OpenLM server version (MSI file)

Please follow and like us:

Application Note 1000: OpenLM system structure overview

Application Note 1000: OpenLM system structure overview

Table of contents

OpenLM
OpenLM’s customer testimonials
The OpenLM solution
Components of the OpenLM system
Block Diagram
OpenLM Software Modules
OpenLM Server
OpenLM EasyAdmin
OpenLM Broker
OpenLM Alert
OpenLM Utilizer Agent
OpenLM Active Agent
OpenLM External Data Base (DB) Support
OpenLM Groups & Projects
OpenLM Role Based Security
OpenLM Option File Management
OpenLM Logs Uploader

OpenLM

OpenLM is a licensing management software company with an international install base. Companies that use OpenLM’s software range from global corporations and nation-wide companies to small offices. Our company’s commitment to innovation guarantees that our clients constantly receive updates with the most advanced technology.

OpenLM’s customer testimonials

Please review a partial list of OpenLM’s satisfied customers,

http://www.openlm.com/index.php/about-us-topmenu-3/customers

and their testimonials:

http://www.openlm.com/index.php/support/testimonials-topmenu-29

The OpenLM solution

OpenLM’s Software provides a comprehensive management solution for license management software such as FLEXlm, FLEXnet, Sentinel RMS, Sentinel HASP, RLM, IBM LUM and LM-X. The software provides productivity tools for system administrators, managers and end users. OpenLM’s software supports the major trends in the field of license management, e.g.: license consolidation, Usage charge back (usage billing), usage trend analysis etc. The software provides a comprehensive solution that combines the best of breed software, superior support, implementation and consulting services, in order to ensure your success.

OpenLM is proudly ISO9001:2008 certified by the ANAB (the U.S. accreditation body for management systems), and an ESRI business partner.

OpenLM’s solution is tailored according to specific customer needs, optimizing the licensing system and increasing software productivity.

Components of the OpenLM system

OpenLM’s basic software package includes the core OpenLM Server module and its user interface; the OpenLM EasyAdmin module.

In addition to these core components, the OpenLM Broker and the OpenLM Utilizer Agent modules are incorporated in the basic software package, but their installation is not mandatory; The Open LM system can function without the use of these two components.

The OpenLM software package also includes several optional modules / capabilities, which are commonly referred to as “OpenLM extensions”. These extensions provide additional functions such as:

  • OpenLM Active Agent (Active release of licenses)
  • External DB support
  • Groups and projects management
  • Role based security
  • Option file management
  • OpenLM Alerts
  • OpenLM Logs Uploader

The OpenLM Extensions are separately licensed:

  • Some of them are included within the OpenLM Server but require additional licensing
  • Others require the installation of an additional software module.

Block Diagram

Figure1 (below) shows a generalized block diagram of OpenLM’s license management solution:

OpenLM Software Modules

OpenLM Server

The OpenLM Server is the core element of the OpenLM system. It integrates the functionality of all other peripheral system components, such as the OpenLM EasyAdmin, OpenLM Agent, OpenLM Alerts, and OpenLM Broker. It is responsible for collecting information from various system components and storing it in an embedded relational DB. External databases like Oracle or Microsoft SQL Server are also supported.

The OpenLM Server is implemented as a Windows service and could be installed on any network machine. It enables monitoring and managing of multiple license servers, over LAN or WAN networks. Common OpenLM Server configurations may vary from one or more license managers nationwide to multiple license servers located worldwide, over different time zones.

OpenLM EasyAdmin

OpenLM EasyAdmin is the administrative interface of the OpenLM system. EasyAdmin’s control panel features a desktop interface that enables users to configure the OpenLM Server; OpenLM’s core component. Some of EasyAdmin’s main properties are listed below:

  • EasyAdmin Easily extracts statistical license usage information from all attached license servers.
  • EasyAdmin’s role-based security enables system administrators to grant varying degrees of access to different groups of users.
  • EasyAdmin can run on any standard web browser (e.g.: Mozilla FireFox, Microsoft Internet Explorer, Google Chrome) and be accessed from any machine in the organization.
  • EasyAdmin features a touch interface that is compatible with mobile operating systems like Android, IOS, Blackberry and Windows Mobile. The OpenLM EasyAdmin Mobile application is particularly useful for after-hours crisis management situations.
  • EasyAdmin’s streamlined user interface design promotes simple and effective use of its unique capabilities.

OpenLM Broker

The OpenLM Broker is an optional server component that runs on the license server machine. The Broker performs tasks as dictated by OpenLM Server, and is required in order to provide advanced licensing information and sophisticated abilities.

The Broker’s main task is to extract License Manager Servers’ debug log information and to push it to the OpenLM server. This action facilitates reading of license servers’ log files. Other capabilities provided by the broker are:

  • Controlling license servers remotely (e.g. start / stop the servers)
  • Managing FLEXLM option files.
  • Generating denial reports and
  • Support of complex configurations, e.g. license servers that work over WAN networks.

The Broker is an independent java based software module that can run on any license server operating system: UNIX, Linux or Windows.

OpenLM Alert

The OpenLM Alert is a dedicated alerting service for the OpenLM system. This module alerts system administrators when predefined conditions are met. Alert service users can set complex alert conditions on multiple license servers. For example, if the combined usage of a certain feature on servers A and B is above a certain threshold, an email message will be sent, alerting those concerned to the situation. The Alert service also supports adjustable timing for alert checking and message sending. Alert destinations are also configurable; Alerts could be sent to the EasyAdmin interface, over emails, as SMS text messages, or directed to a system event log.

OpenLM Utilizer Agent

The OpenLM Utilitzer Agent is the end user tool of the OpenLM system. It provides OpenLM users with the following capabilities:

  • Query license availability.
  • Check which users are holding required licenses.
  • View a user’s full set of details as they appear on the LDAP, and communicate with users regarding license availability.
  • Receive license availability notifications as soon as requested licenses become available.
  • Report the session’s active project (mainly for billing purposes).

OpenLM Active Agent

The Active Agent incorporates all the characteristics of the Utilizer Agent. On top of that, it supports an extension that enables system administrators to shut down open application either manually, or by defining a timeout policy. In this manner, system administrators can save, close, or suspend idle applications, in order to make more efficient use of licenses. The Active Agent features a user-friendly interface that enables users to quickly reopen closed applications, or resume suspended ones.

OpenLM External Data Base (DB) Support

This extension facilitates saving license usage information on an external Data Base such as an Oracle or MS SQL Server. By default, OpenLM uses an embedded DB. External DB support is recommended for management of large licensing systems.

OpenLM Groups & Projects

This extension enables collecting license usage information from Groups of users or projects. This capability is predominantly used by companies that charge back usage time to cost centers. The Groups & Projects extension synchronizes users’ data with its LDAP Data Base (Active Directory), keeping the data collection process fully automatic.

OpenLM Role Based Security

The OpenLM Server supports a role-based security feature that enables the implementation of customized access to OpenLM tools by setting access roles. This feature facilitates the implementation of OpenLM tools for diverse groups; e.g.: help desk, system administrators, managers and developers. The role based security system secures nearly all parts of the system entities, such as listed servers, fields and action buttons.

OpenLM Option File Management

The OpenLM Option File Management extension employs LDAP (Active Directory), to enable system administrators to manage Option Files easily from the EasyAdmin web based interface. This gives the system administrators easy control over the access of user groups and individuals to licenses.

OpenLM Logs Uploader

The OpenLM Logs Uploader extension enables loading of historical FLEXlm debug log files. This extension is essential for investigating historical license usage. Logs Uploader is also necessary for checking license usage in files received from customer sites, typically in order to charge per use.

Please follow and like us:

What’s new in version 1.6 of OpenLM

OpenLM is proud to announce the release a new major version of OpenLM – version 1.6. The new version  features an overall change in OpenLM software. The new version is much more capable, fast and built for the enterprise.

These are some of the new features included in version 1.6:

  1. Support for additional license managers (IBM LUM, Sentinel RMS, Sentinel HSAP, RLM, LM-X).
  2. Support for multiple domains in OpenLM Active Directory integration.
  3. A complete rule based permission system added to OpenLM.
  4. Flexera FLEXlm/FLEXnet Option file editing in EasyAdmin.
  5. Improved performance in OpenLM Server.
  6. Users, Groups and Project management was added to EasyAdmin interface.
  7. Many additional conditions were added to OpenLM Alerts.
  8. Support different sample intervals for each license server.
  9. Compliance with the German privacy law.
  10. EasyAdmin quick charts is now available for the license denials tab.
  11. EasyAdmin interface to manage products names and packages.
  12. Integration of detailed user information in EasyAdmin.
  13. Better performance and many improvements in EasyAdmin.
  14. OpenLM Broker – new interface and new capabilities.
  15. Suspend and Resume a license server monitoring from OpenLM Server configuration.
  16. OpenLM EasyAdmin now also provides workstations IP addresses, if needed.
  17. Ability to ignore very short sessions for Flexera FLEXlm and FLEXnet licensed systems.
  18. Filter saving was added to EasyAdmin screens (Licenses, Active Products, Workstations, etc…).
  19. Exporting and importing server configuration allows easier transfer of OpenLM setting.
  20. OpenLM for Autodesk now supports OpenLM Timeout for Autodesk software.

A more detailed list is available in our blog. The software is available for download and evaluation on OpenLM Website.

For more details contact OpenLM Sales team:
sales@openlm.com
OpenLM Contact form.
USA Toll Free: +1-206-203-2191

Please follow and like us:

Monitoring an IBM LUM License server using OpenLM Software

OpenLM Version 1.6 Supports the IBM LUM license server. IBM LUM licenses are used by different software vendors, the main vendor is probably Dassault Systems (Catia software).

Requirements

In order for OpenLM to support the LUM License server it has to be able to access the LUM License server remotely or locally. Different configuration options are supported by OpenLM that allows system managers to configure license servers located on LAN and WAN networks.

Configurations Options

OpenLM Supports flexible configurations that support LAN or WAN networks. This section lists the different configurations. Most of the information in this section is also relevant to other license servers such as SafeNet RMS, SafeNet HASP, FLEXlm, FLEXnet, RLM and others.

IBM LUM and OpenLM on the same machine

This is the most simple configuration but not a very realistic one. Most companies have more than one license server and because of that, they install OpenLM on a separate machine.

When OpenLM server is installed on the same machine as the IBM LUM License server, there is no additional configuration steps, just add the server name and port to the configuration.

IBM LUM and OpenLM on separate machines

In this scenario OpenLM Server is installed on one machine and the license server is installed on another. The problem we have to solve is how to allow OpenLM Server to access the LUM License Server. There are two possible solutions:

  • Use OpenLM Broker to send IBM LUM usage to OpenLM Server.
  • Configure OpenLM Server machine to be able to query usage on the IBM LUM License server.
Configure OpenLM Broker to push usage information to OpenLM Server

This is the most simple solution but it requires access to the license server machine for installation. OpenLM Broker software is reading the license usage locally and pushing the information to OpenLM Server.

The installation of OpenLM Broker requires only Java JRE. It can run on any operating system supported by Java and by that OpenLM supports Linux, Windows and UNIX license servers.

Configure OpenLM Server machine to be able to query usage on the IBM LUM License server.

IBM LUM Server allows other machines to query license usage and perform other actions from a remote machine. For a full install procedure please consult IBM LUM documentation, we will provide short overview of the requirements.

  1. Install Java JRE on the OpenLM Server machine.
  2. Make sure that you have IIS installed and configured on the OpenLM Server Machine.
  3. Install LUM software on the OpenLM Server machine, there is no need to configure your licenses.
  4. Add reference to OpenLM Server on the IBM LUM License server

Adding an IBM LUM license server in OpenLM

Like the configuration of FLEXlm and SafeNet RMS Services the configuration of an IBM LUM is simple and straight forward.
Using OpenLM Server Configuration->License Servers tab, Add the new license server and port. In the license server type the LUM type needs to be selected.

IBM LUM Support Level

Most of the functionality provided by OpenLM is also supported for IBM LUM licenses. We also support unique features of IBM LUM such as features versions.

OpenLM support for IMB LUM includes:

  • License inventory reporting.
  • License expiration alerts.
  • Current license usage.
  • Usage reports and charts.
  • License billing for groups or projects.
  • More…

Summary

IBM LUM (License Use Management) is the IBM product for technical software license management (similarly, the Flexera product is  FLEXnet). OpenLM Software fully supports the IBM LUM software and provides a flexible architecture that supports complex configurations.

The support for IBM LUM licenses if full, OpenLM supports unique features of IBM LUM such as versions for features. The advanced functionality of OpenLM such as License Usage Billing, Usage Reports, Usage Charts and more  is also supported for IBM LUM.

Please follow and like us:

What is FLEXlm? What is FlexNet?

General

FLEXlm software is a license management solution that allows software vendors to limit the number of software seats available to their users. FLEXlm supports different licensing policies such as Floating (aka Concurrent) and Node Locked licenses.
These type of software systems are also called DRM Solutions (Digital Rights Management). Other software with the same functionality are SafeNet HASP, SafeNet RMS and IBM LUM.
FLEXlm is used by a great variety of software vendors, such as ESRI, Autodesk, Mathworks, PTC, Ansys, Cadence and more.

History

FLEXlm was originally a joint development of GLOBEtrotter Software and Highland Software in 1988. GLOBEtrotter was then acquired by Macrovision in 2000, which renamed the product FlexNet.
In 2008 the company was sold to Acresso Software, and it’s name was changed to Flexera. The product was named Flexera FlexNet Publisher, but is still widely referred to as FlexLM. In 2011 the Canadian Teacher’s Private Capital fund acquired Flexera.

Flexnet License Manager operation

The general structure of the Flexnet license manager is shown below:

License server manager

lmadmin or lmgrd FlexLM daemons are supplied either by the licensed FLEXenabled application publisher or by Flexera Software. Its job is to communicate with the application, and receive the license request from it.It then passes the request to the vendor daemon.

Vendor daemon

Created by the publisher, and is unique to each FlexEnabled application installed on the network. It is the vendor daemon’s job to process the license request and to either grant it or deny it, depending on the number of available licenses, and predefined license usage constraints.

License file

Created by your software supplier, and holds detailed license information such as the quantity and time extent of the license

Trusted storage

Some publishers provide trusted storage as an encrypted alternative to using license files.

Debug log and Report log

FlexNet logs written by the license server manager (lmadmin or lmgrd), typically accounting the license check-outs and check-ins, and license denials.

Option Files

Files created by license administrators to restrict license usage to specific users or user groups.

OpenLM fully supports FLEXlm / FlexNet and 20 other license managers. It focuses on a wide array of CAD, GIS and PLM applications, such as AutoCAD, ArcGIS, SolidWorks, MATLAB, Mathcad, CATIA, progeCAD, Bentley, NX, Abaqus, NX IBM Rational, and many others.

Please follow and like us: