Widget generating method, device, electronic device, and computer program
The widget generation method empowers users to create personalized widgets by specifying data and detecting matching templates, addressing limitations of pre-defined widgets and enhancing user experience.
Patent Information
- Application Number
- JP2023543201
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- Priority Date
- 2021-05-21
- Filing Date
- 2022-03-28
- Publication Date
- 2024-12-25
- Estimated Expiration
- 2042-03-28
AI Technical Summary
Existing widget generation methods are limited by pre-defined content, restricting user customization and flexibility in displaying data and exchanging content with different application modules.
A widget generation method that allows users to specify data through operations, determine search keywords, detect matching templates, and generate widgets based on user-specified data, enabling personalized and adaptable widget creation.
Enables users to create widgets tailored to their needs, improving usability and flexibility in data display and exchange, without requiring specialized software development skills.
Smart Images

Figure 0007606622000005 
Figure 0007606622000006 
Figure 0007606622000007
Abstract
Description
[Technical field]
[0001] (CROSS REFERENCE TO RELATED APPLICATIONS) This application claims priority from a Chinese patent application having application number 202110560394.6, filed on May 21, 2021, the entire disclosure of which is incorporated herein by reference.
[0002] The embodiments of the present disclosure relate to the field of computer technology, and in particular to a widget generating method, device, electronic device, and Computer Programs Regarding. [Background technology]
[0003] A widget is a lightweight user interface space that can display different personalized information to users, allowing them to obtain information conveniently and quickly. Users can view information such as alarm clocks and weather through widgets. There is a correspondence between widgets and applications, and when application developers develop applications, they create widgets by embedding widget codes into the internal codes of the applications. The created widgets can share data and exchange content with the corresponding applications. When users need to use widgets, they can find them in the system widget library and add them to their desktop.
[0004] However, when an application is released, the number of widgets is already fixed, and the contents displayed by the widgets are developed and set in advance by the application developer. Summary of the Invention [Means for solving the problem]
[0005] In an embodiment of the present disclosure, a widget generation method is provided, which includes: when a widget generation operation is recognized, acquiring data specified by a user based on the widget generation operation, determining a search keyword based on the data specified by the user, detecting a widget template matching the data based on the search keyword, and generating a widget based on the matching widget template and the data.
[0006] Further, in an embodiment of the present disclosure, a widget generation device is provided, the widget generation device including: a recognition module configured to obtain data specified by a user based on a widget generation operation when the widget generation operation is recognized, a search module configured to determine a search keyword based on the data specified by the user and to detect a widget template matching the data based on the search keyword, and a generation module configured to generate a widget based on the matching widget template and the data.
[0007] Further, in accordance with an embodiment of the present disclosure, an electronic device is provided, the electronic device including at least one processor and a memory communicatively connected to the at least one processor, the memory storing instructions executable by the at least one processor, the instructions, when executed by the at least one processor, causing the at least one processor to execute a program. Above The above widget generation method can be executed. [Brief description of the drawings]
[0008] [Figure 1] 1 is a flowchart of a widget generation method according to an embodiment of the present disclosure. [Diagram 2] FIG. 13 is a schematic diagram of a notification widget template according to an embodiment of the present disclosure. [Diagram 3] FIG. 13 is a diagram illustrating an effect of a notification widget according to an embodiment of the present disclosure. [Figure 4] FIG. 13 illustrates a schedule widget template according to one embodiment of the present disclosure. [Diagram 5] FIG. 13 is a diagram illustrating an effect of a schedule widget according to an embodiment of the present disclosure. [Figure 6] FIG. 1 illustrates a widget generating device according to an embodiment of the present disclosure. [Figure 7] FIG. 1 is a diagram illustrating a structure of an electronic device according to an embodiment of the present disclosure. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
[0009] In order to clarify the purpose, invention and advantages of the embodiments of the present disclosure, the following will describe each embodiment of the present disclosure in detail with reference to the drawings. In addition, those skilled in the art can understand that many technical details are provided in each embodiment of the present disclosure to allow the reader to better understand the present disclosure. However, the present disclosure can be realized without these technical details and various modifications and substitutions based on the following embodiments. For the convenience of explanation, the following embodiments do not constitute limitations on the specific implementation method of the present disclosure, and each embodiment can be referenced in combination with each other on the premise that there is no contradiction.
[0010] An embodiment of the present disclosure aims to propose a widget generation method that allows a user to create a widget according to the display needs of data content, without being limited to the display content of the widget being pre-created by an application developer.
[0011] The embodiments of the present disclosure relate to a widget generation method that is applied to electronic devices including mobile phones, tablets, etc., and the electronic device in this embodiment and each of the following embodiments will be described by taking a mobile phone as an example.
[0012] The widget generation method of the present embodiment includes, when a user operation is recognized as a widget generation operation, a step of obtaining data specified by a user based on the widget generation operation, a step of determining a search keyword based on the data specified by the user, a step of detecting a widget template that matches the data based on the search keyword, and a step of generating a widget based on the matching widget template and the data.
[0013] In the widget generation method provided in the present embodiment, the widget generation operation of the user is recognized and the widget is generated according to the user's operation, so that the widget does not need to be developed and created by the application developer, and the operation is simple and humanized, so that even a user without professional software development skills can create a widget. In addition, in the embodiment of the present disclosure, the widget is generated based on the data specified by the user, so that the widget is not limited to the display content of the widget previously created by the application developer, i.e., is not limited to displaying the content of the application corresponding to the widget, and the generated widget can exchange data with and display different application modules, so that the display content of the widget can be better suited to the needs of the user. In addition, by detecting a widget template based on the data specified by the user, the detected widget template is better matched with the data content specified by the user, and the generated widget can better meet the needs of the user.
[0014] The implementation details of the widget generation method of the present embodiment will be described in detail below. The following content is merely implementation details provided for ease of understanding, and is not necessary for implementing the present embodiment.
[0015] As shown in Fig. 1, in step 101, when a widget generation operation is recognized, data specified by a user is obtained based on the widget generation operation. A user may trigger the widget generation operation by a motion, which simplifies the operation and further improves the customer's experience.
[0016] A user operates an electronic device, for example, by gesture operations, which include, but are not limited to, long presses and double clicks, and a widget generation operation may be preset by a user or may be set by a developer, but this embodiment is not limited thereto.
[0017] For example, if a user operation is a gesture operation and a widget generation operation is a long press, when an electronic device acquires the user operation, recognizes that the gesture operation is a long press, and has predefined a long press as a widget generation operation, the data pressed and held by the user becomes the data specified by the user.
[0018] In some embodiments, the data specified by the user may be, but is not limited to, email data, memo data, schedule data, notification data, etc. For example, the user may specify data such as various social applications, learning applications, entertainment applications, etc., and the above data sources are modules such as email, memo data, schedule data, and notification data in the device. The sources of the data specified in this embodiment are diverse and may be obtained from different modules. Compared with being limited to only sharing data of the corresponding application itself, this embodiment can realize data sharing and content exchange between modules by the electronic device.
[0019] Step 102 determines search keywords based on the data specified by the user.
[0020] In some embodiments, the field content of each pre-defined extraction field is extracted from the data, one of the extraction fields is selected as a search key field, the field content of the extracted search key field is used as a search keyword, and a search keyword is determined based on the field content. In this embodiment, since the search keyword is determined based on the field content in the data, the retrieved widget template can be better suited to the display needs of the data.
[0021] In this embodiment, each of the preset extraction fields may include a data source, an application name, a notification reception time, an activity name, and a notification content, etc. Each of the preset extraction fields may also change according to data specified by a user, and in this embodiment, the types of the preset extraction fields are not specifically limited.
[0022] Hereinafter, a method for determining a search keyword based on data specified by a user will be described, taking data specified by a user as an example of notification data.
[0023] In the case where the widget generating operation set by the user is a long press operation, when the user presses and holds the button, the electronic device recognizes the area long pressed by the user and reads the data specified by the user based on the area long pressed by the user. As shown in Table 1, if the type of the pre-set extraction field has a data source field, an application name field, a sender field, a reception time field, and an alert detail field, and the data specified by the user includes information such as "9 minutes ago, the sender Mr. Barley sent an alert by a social application" and the alert details include "contents xxx", the field content "alert" corresponding to the data source, the field content "social application" corresponding to the application name, the field content "sender xxx" corresponding to the sender, the field content "9 minutes ago" corresponding to the reception time, and the field content "contents xxx" corresponding to the alert details are extracted. The electronic device may randomly select one of the extraction fields as a search key field, or may set one of the extraction fields as a search key field by the user and use the field content of the search key field extracted from the data specified by the user as a search keyword, but this embodiment is not limited to this.
[0024] [Table 1]
[0025] After the search keywords are determined, step 103 is executed. In step 103, a widget template that matches the data is detected based on the search keyword.
[0026] In some embodiments, the widget template has multiple types, including but not limited to a notification widget template, a schedule widget template, a memo pad widget template, etc. Different template fields may be set correspondingly for different widget templates, for example, as shown in Fig. 2, a notification widget template includes template fields such as an application icon, an application name, a time field, a sender field, etc. In the actual application process, the interface style and template fields of the widget template may be set as needed, but this embodiment is not limited thereto.
[0027] In one example, a corresponding label may be set for the widget template, and a template matching the data may be detected based on the label of the widget template and the search keyword. For example, if the label of a widget template has “notification” and the search keyword is also “notification”, the widget template is a matching widget template.
[0028] In one example, if multiple widget templates are detected based on the search keyword, the user may select one template from among the detected templates.
[0029] In another example, template priorities are set for widget templates, and the search keyword is matched with the label of a widget template with a higher priority first. If the match is successful, the search is not continued and the matching unique widget template is determined. If the match is not successful, the search is matched with the widget template with the next priority.
[0030] The above search keywords may be preset or randomly selected. In another embodiment, one extraction field may be selected as the search key field based on a preset priority of each extraction field.
[0031] In this embodiment, the search key field is determined based on a priority, and the higher the priority of the search key field is, the more advantageous it is for detecting a widget template that matches the data specified by the user. Therefore, it is advantageous to detect an appropriate widget template based on a search keyword corresponding to the search field based on a preset priority.
[0032] If a matching widget template is not found based on the currently selected search keyword, the search keyword may be reselected. In this embodiment, the field content corresponding to the search key field with the next priority may be selected as the search keyword. It is the first If the search keyword is not found based on the field content, it may be found based on the field content, which has the second priority, thereby avoiding the widget template not being found based on the currently determined search keyword.
[0033] For example, if the source of the data is , Yu Priority is number one In the case of the extracted field, the preset priority corresponding to the field content "notification" is 1st and "notification" is determined as the search keyword. If no widget template is found based on "notification", , Yu The priority is It is the second Extracted fields are used. Application name is , Yu Priority is second If the extracted field is "Social Application", the preset priority corresponding to the field content "Social Application" is Secondand "social application" is determined as the search keyword. If no widget template is found based on "social application", the field content corresponding to the extracted field with the third priority is selected as the search keyword, and so on until a matching widget template is found.
[0034] After a matching widget template is found, step 104 is performed.
[0035] Step 104 generates a widget based on the matching widget template and the data.
[0036] In some embodiments, a widget is generated based on a widget template and field contents, in which case the widget is generated based on the field contents rather than the entire contents of the data specified by the user, so that the generated widget can display more accurate information and better meet the needs of the customer.
[0037] In some embodiments, from each extracted field, a matching extracted field is detected with a template field in the widget template. If a matching extracted field is detected, a display content of the template field is obtained based on a field content corresponding to the matching extracted field. If a matching extracted field is not detected, the template field is removed from the widget template to obtain an updated widget template. A widget is generated based on the updated widget template and the display content of the template field. If there is no corresponding field content in the matching extracted field, the template field may be removed from the widget template.
[0038] Illustratively, in the notification data, each template field of the notification widget template includes an application name, a time field, a sender field, and a content field, as shown in Table 2. The electronic device detects an extraction field that matches the template field in each extraction field, such as the source of data, the application name, the sender, and the notification details. For example, as shown in Table 2, if the application name in the template field matches the application name in the extraction field, and the time field in the template field matches the receiving time in the extraction field, a content mapping relationship between the template field in the widget template and the extraction field is obtained.
[0039] [Table 2]
[0040] When a matching extracted field is found, for example, when there is a matching receipt time in the time field in the content mapping relationship, the field content corresponding to the receipt time, "9 minutes ago", becomes the displayed content.
[0041] If no matching extraction field is found, the template field is deleted from the widget template, thereby obtaining an updated widget template. After the template field is deleted, the display position of the template field in the widget template is vacant, and the electronic device can adaptively adjust the interface to make the interface look good.
[0042] As shown in FIG. 3, when each template field in a widget template acquires or deletes display content, a widget 301 is generated.
[0043] In the above example of the notification template, the display contents are the same as the field contents, but when obtaining the display contents, the field contents may be intelligently organized so that the display contents are more suited to the user's browsing habits. For example, the display contents are determined based on a preset display style and field contents.
[0044] For example, the time display may be intelligently determined in combination with the time on the electronic device. For example, if the time plans of a schedule are all on the same day, the date display will be removed and the time display will remain when displaying the time on the schedule widget.
[0045] Taking the schedule widget as an example, when the user's widget creation operation is recognized and the data specified in the widget creation operation is date data, the field contents in the schedule data are extracted based on the extraction field, and the extracted field contents are as shown in Figure 3.
[0046] [Table 3]
[0047] A search keyword is determined based on the extracted field contents, and a matching widget template is obtained based on the search keyword. The matching widget template is shown in Fig. 4. Then, from each extracted field, an extracted field that matches the template field in the widget template is detected, and the mapping relationship shown in Table 4 is obtained.
[0048] [Table 4]
[0049] In the mapping relationship, if the extraction field is null and the template field is not null, the template field is removed from the widget template to indicate that a matching extraction field is not found. For example, in the address field shown in Table 4, if a matching extraction field is not found, the address field is removed from the widget template. In the mapping relationship, if neither the extraction field nor the template field is null, the field content of the extraction field is intelligently arranged to indicate that a matching extraction field is found. For example, the display content of the template field may be obtained by an algorithm for adaptively displaying the field content preset by the developer, or a format for displaying the field content preset by the developer.
[0050] For example, the start time of the above schedule is 8:00 on April 1, 2021, and the end time of the above schedule is 9:00 on April 1, 2021. The year, month, and day information of the start and end times are the same, and the year, month, and day are displayed on the electronic device, so the display content of the display device may be adaptively adjusted according to the time of the electronic device. The display content is "Today 8:00~9:00", and the widget generated based on the schedule widget template and field content is as shown in FIG. 5.
[0051] In this embodiment, the extracted fields and the template fields do not need to have a completely one-to-one correspondence. If a template field is defined in the widget template but no matching field content is found, the display content of the template field may be reduced to adaptively adjust the widget template. If the field content is more than the template fields, the excess field content may be discarded, and the electronic device may adaptively display based on the content of the widget template to better suit the user's habits.
[0052] In some embodiments, after generating a widget based on the widget template and data, the display position designated by the user is recognized based on the user's operation, and the widget is displayed at the display position. For example, the generated widget is placed in a space (including, but not limited to, the desktop) where the user stays by a gesture.
[0053] In this embodiment, the user does not need to find and add a widget from the system widget library, but can directly specify the display position and the widget will be displayed at the display position, which makes the operation simple and humanized, and is more friendly to people who are not familiar with using electronic devices.
[0054] In some embodiments, the data synchronization manner includes static data display and dynamic data display. A user may set the data synchronization manner before a widget is generated, or may set the data synchronization manner after a widget is generated. The set data synchronization manner may be for all widgets generated on an electronic device, or for a widget on an electronic device. In this embodiment, a user may select dynamic data display or static data display according to his or her needs. This allows a user to customize whether the content displayed in the widget is updated, and the display content of the widget can be more suitable for the user's actual needs.
[0055] In some embodiments, if the data synchronization method input by the user is dynamic data display, after the data is updated, the display content of the widget is updated based on the updated data.
[0056] When the data synchronization method input by the user is dynamic data display, the mapping relationship between the extraction field and the template field is adjusted to the association of the data relationship. After the field content is updated, the widget obtains the updated field content by obtaining the field content through the mapping relationship, and displays the latest field, i.e., updates the display content of the widget based on the updated data. For example, the content displayed in the widget is shown as 301, and when the notification details are changed and the sender sends a new message, e.g., "Yes, thank you", the widget determines through the mapping relationship that the changed field is the content field, extracts the field content of the notification details, i.e., "Yes, thank you", and displays the field content at the display position. In addition, for example, when the current widget is schedule data and the data synchronization method selected by the user is dynamic data display, when the schedule data specified by the user is updated, i.e., when the end time of the schedule data is changed from 9:00 on April 1, 2021 to 10:00 on April 1, 2021, the data currently displayed in the widget is also updated.
[0057] When the data synchronization mode input by the user is fixed data display, the mapping relationship between the extraction field and the template field is adjusted to the content level. When the mapping relationship is at the content level, after the field content is changed, the widget does not obtain the updated field content, and the widget display content is displayed fixedly, which meets the user's need for the widget display content to be fixed. For example, the widget displays a notification message from a certain chat APP fixedly, and the widget displays a certain notepad data fixedly.
[0058] In the embodiment of the present disclosure, a user can create a widget through simple and humanized operations, and the created widget can meet the user's needs for data display, and the widget can facilitate the user to operate an electronic device, and improve the friendliness and usability of the operation of the electronic device, such as making it more convenient for the elderly to operate an electronic device.
[0059] The division of steps in the above various methods is merely for clarity of explanation, and may be combined into one step in implementation, or some steps may be divided into multiple steps, as long as they contain the same logical relationship, they are all within the scope of protection of this patent. Adding non-significant changes to the algorithm or process, or introducing non-significant designs, is also within the scope of protection of this patent, as long as it does not change the core design of the algorithm and process.
[0060] Further, in an embodiment of the present disclosure, a widget generating device is provided. As shown in Fig. 6, the widget generating device includes a recognition module 601, a search module 602, and a generation module 603. The module 601 is configured to obtain data specified by a user based on a widget generating operation when the widget generating operation is recognized. The search module 602 is configured to determine a search keyword based on the data specified by the user, and to find a widget template matching the data based on the search keyword. The generation module 603 is configured to generate a widget based on the matching widget template and the data.
[0061] In some embodiments, the search module 602 is further configured to extract field content of each pre-defined extracted field from the data, select one of the extracted fields as a search key field, and configure the field content of the extracted search key field to be used as a search keyword.
[0062] In some embodiments, the generation module 603 is further configured to generate a widget based on the widget template and the field content.
[0063] In some embodiments, the generation module 603 is further configured to detect, from each of the extracted fields, an extracted field that matches a template field in the widget template; if the matching extracted field is detected, obtain a display content of the template field based on a field content corresponding to the matching extracted field; if the matching extracted field is not detected, remove the template field from the widget template to obtain an updated widget template; and generate a widget based on the updated widget template and the display content of the template field.
[0064] In some embodiments, the search module 602 is further configured to determine search keywords based on pre-set priorities corresponding to the field contents.
[0065] In some embodiments, the generating module 603 is further configured to update the display content of the widget based on the updated data after the data is updated, when the data synchronization manner input by the user is dynamic data display, where the data synchronization manner includes static data display and dynamic data display.
[0066] In some embodiments, the widget generation module 603 is further configured to recognize, based on a user's operation, a display position specified by the user, and to display the widget at the display position.
[0067] In some embodiments, the data specified by the user in the recognition module 601 may be email data, memo data, notification data, schedule data, and so on.
[0068] It is easy to understand that this embodiment is an embodiment of an apparatus corresponding to the above embodiment, and this embodiment can be implemented in cooperation with the above embodiment. The relevant technical details described in this embodiment are also valid in this embodiment, and will not be specifically described here in order to avoid repetition. Therefore, the relevant technical details described in this embodiment can also be applied to the above embodiment.
[0069] In addition, each module in this embodiment is a logical module, and in actual application, the logical unit may be realized by a physical unit, a part of a physical unit, or a combination of multiple physical units. In addition, in order to emphasize the inventive part of this disclosure, units that are not closely related to solving the technical problem presented in this disclosure are not introduced in this embodiment, but this does not indicate that there are no other units in this embodiment.
[0070] Further, in an embodiment of the present disclosure, an electronic device is provided. As shown in Fig. 7, the electronic device includes at least one processor 701 and a memory 702 connected to communicate with the at least one processor 701. Here, the memory 702 stores instructions executable by the at least one processor 701, which, when executed by the at least one processor 701, can cause the at least one processor 701 to perform the widget generation method according to each of the above embodiments.
[0071] Here, the memory and the processor are connected by a bus system, which may include any number of interconnected buses and bridges, and the bus may connect various circuits of one or more processors and memories together. The bus may also connect various other circuits together, such as peripherals, voltage regulators, and power management circuits, all of which are well known in the art and will not be described further herein. The bus interface provides an interface between the bus and the transceiver. The transceiver may be a single element or multiple elements, such as multiple receivers and transmitters, providing a unit for communicating with various other devices over a transmission medium. The data processed by the processor is transmitted over a wireless medium via an antenna, which further receives the data and transmits the data to the processor.
[0072] The processor is responsible for managing the bus and general processing and may also provide a variety of functions including timing, peripheral interfaces, voltage regulation, power management, and other control functions, while the memory may be used to store data used by the processor in performing operations.
[0073] Further embodiments of the present application relate to a computer readable storage medium storing a computer program which, when executed by a processor, implements the above method embodiments.
[0074] That is, all or some of the steps in the methods of the above embodiments may be realized by instructing relevant hardware through a program, and the program is stored in a storage medium, and a device (such as a single-chip computer, chip, etc.) or a processor includes several instructions for executing all or some of the steps of the methods described in each embodiment of the present disclosure. Meanwhile, the above storage medium includes other media capable of storing program code, such as a USB memory, an external hard disk, a read-only memory (ROM), a random access memory (RAM), a magnetic disk, or an optical disk.
[0075] The above-described embodiments are merely specific embodiments for realizing the present disclosure, and it will be understood by those skilled in the art that in actual application, various changes in form and details can be made without departing from the spirit and scope of the present disclosure.
Claims
1. A widget generation method for application to an electronic device, comprising: The processor of the electronic device includes: if a widget generation operation is recognized, obtaining data specified by a user based on the widget generation operation; determining search keywords based on data specified by the user; detecting a widget template that matches the data based on the search keyword; generating a widget based on the matching widget template and the data; Execute How to create a widget.
2. The step of determining a search keyword based on data specified by the user includes: extracting field content for each predefined extraction field from said data; selecting one of the extracted fields as a search key field; and using the field contents of the extracted search key fields as search keywords. generating a widget based on the matching widget template and the data, generating a widget based on the widget template and the field contents; The method of claim 1 .
3. generating a widget based on the widget template and the field content, finding an extraction field that matches each template field in the widget template; if the matching extracted field is found, obtaining a display content of a template field based on a field content corresponding to the matching extracted field; if the matching extracted field is not found, removing the template field from the widget template to obtain an updated widget template; generating a widget based on the updated widget template and the display contents of the template fields; Including, The method of claim 2 .
4. The step of selecting one of the extracted fields as a search key field includes: selecting one extracted field as a search key field from each of the extracted fields based on a preset priority of each of the extracted fields. The method of claim 2 .
5. After the step of generating a widget based on the matching widget template and the data, the widget generation method further comprises: If the data synchronization method input by the user is dynamic data display, updating the display content of the widget according to the updated data after the data is updated; The data synchronization method includes a static data display and a dynamic data display; A method for generating a widget according to any one of claims 1 to 4.
6. After the step of generating a widget based on the widget template and the data, the widget generation method further comprises: Recognizing a display position designated by a user based on an operation of the user; displaying the widget at the display location; Including, A method for generating a widget according to any one of claims 1 to 4.
7. The data designated by the user includes any one of email data, memo pad data, notification data, and schedule data, or a combination thereof. A method for generating a widget according to any one of claims 1 to 6.
8. a recognition module configured to obtain data specified by a user based on a widget generation operation when the widget generation operation is recognized; a search module configured to determine a search keyword based on the data specified by the user, and to find a widget template that matches the data based on the search keyword; a generation module configured to generate a widget based on the matching widget template and the data; Including, Widget generator.
9. At least one processor; a memory communicatively connected to the at least one processor; Including, The memory stores instructions executable by the at least one processor, the instructions, when executed by the at least one processor, causing the at least one processor to perform a widget generation method according to any one of claims 1 to 7. electronic equipment.
10. A computer program, which, when executed by a processor, implements the widget generation method according to any one of claims 1 to 7. Computer program.
Citation Information
Patent Citations
Virtual agent creation platform
US20200073919A1
A system and method for displaying widget on a dashboard
WO2020101475A1
