text:
Dummy announcement
Rostov on Don
Pre flight
Air Serbia Etihad Guest
More benefits
[EUR]
[RSD]
[ALL]
[AUD]
[BAM]
[HRK]
[DKK]
[USD]
Republic of Northern Macedonia
[MKD]
[RUB]
[SEK]
[CHF]
[AED]
[GBP]
Guidelines for safe travel with Air Serbia
Payment options for online bookings
Check-In options at a glance
Connect your flight to a railway or bus line
Bid Your Flight Up - Experience Business Class
Keep Boarding!
Forbidden objects in baggage
Irregularities with baggage
Partner Airline Baggage Rules
Advance Seat Reservation
Passenger lounges
Meet & Assist
Children travelling alone
Traveling with your pets
Ancillary Bundles
Other additional services
Elevate Deli&Bar
Sky Au Pair
Redeeming miles
Claim missing miles
Family membership
Passenger Support
Beside flight safety, Air Serbia's priority is delivering exceptional service to the passengers. We are committed to providing our passengers with the most comfortable flight experience.
Tarmac Delay Contingency Plan
The Air Serbia Customer Service Plan, developed in accordance with U.S. Department of Transportation (DOT), is our commitment to treat our passengers in courteous and prompt manner by maintaining always a high level of professionalism, competence and service.
This Customer Service Plan is not a part of Air Serbia's General Conditions of Carriage. Your contractual rights and obligations associated with your travel are set forth in Air Serbia's General Conditions of Carriage.
The following Customer Service Plan will apply exclusively on transatlantic routes to and from U.S. operated by Air Serbia.
Lowest fare available
Air Serbia will disclose to passengers who call the Air Serbia Contact Center, access the Air Serbia U.S. website, or visit an Air Serbia ticket counter to inquire about a fare or make a reservation, that the lowest fare offered by Air Serbia may be available elsewhere, if that is the case.
Delays, cancellations and diversions
Air Serbia will promptly provide information regarding any change in flight status to ticketed passengers, passengers holding reservations and the public, within 30 minutes after we become aware of such a delay. Information regarding flight status will be made available at Air Serbia Contact Centre (for calls from U.S. + 1 (718) 7258642; toll-free for U.S. passengers requiring special assistance +1 (888) 3909847; for calls from Serbia 0800 111 528; for calls abroad +381 11 311 2 123), on Air Serbia's website in Departures & Arrivals or Check my Trip sections).
Where possible, Air Serbia will take reasonable steps to contact passengers in advance at the phone number(s) or e-mail addresses provided in their reservation record. When purchasing your tickets directly with Air Serbia (Air Serbia Offices, Contact Centre or website) we encourage you to leave your mobile phone and email address in order to be able to reach you in a timely manner and inform you about important itinerary changes.
If you booked your flight(s) with a travel agency and no contact number exists in our system, your travel agent will be responsible for contacting you.
Due to medical emergency or severe weather conditions, your flight may be diverted to a location other than the flight's intended destination. If there is a possibility that a flight will be diverted, that information will be provided to you before departure, when available, by Air Serbia. In the event a diversion decision occurs after the aircraft has departed, the in-flight crew will inform you.
If the flight is canceled while on the ground in the city to which it was diverted, Air Serbia will assume the responsibility for handling and rerouting the passengers at its own cost. If we are unable to reroute you, reasonable overnight accommodations will be provided.
Delivery of baggage
Our goal is to deliver your baggage in a timely manner following the flight's arrival. In the course of your journey, if checked baggage does not arrive with the passenger traveling to or from the U.S., Air Serbia will make every reasonable effort to return the baggage within 24 hours and compensate any reasonable expenses that result from delay in delivery, subject to the liability limitations provided under the Montreal Convention. Providing valid contact information, including on baggage tags, will help us to ensure the return of your baggage.
If the checked baggage is lost, damaged or destroyed, Air Serbia will be liable in accordance with liability limitations provided under the Montreal Convention. Pursuant to the Montreal Convention, the Carrier's maximum liability per person, per trip, for delayed, lost or damaged baggage is 1,131 Special Drawing Rights. For additional information regarding liability limitations and exclusions please refer to Air Serbia's Terms and Conditions of Carriage U.S.
Sometimes it may take longer to return delayed, missing or unclaimed baggage due to flight duration, frequency of flights and Customs & Immigration procedures. Customers may file a claim for delayed, missing or destroyed baggage by requesting a claim form at the Lost & Found Office at the airport of arrival. For status of missing baggage you should contact Air Serbia.
Items having a special value, such as money, jewellery, precious metals, computer, personal electronic devices, negotiable papers, business documents, passports and other identification documents should be retined by the passenger in the cabin baggage.
Air Serbia is not liable for damage or destruction of non-checked baggage (e.g. cabin baggage) and other items that remain in the passenger's care unless otherwise specified by Montreal Convention or any other applicable national or international regulation or law.
If your itinerary includes flights operated by other airline(s), special baggage shall be requested until 48 hours before departure in order to be confirmed and accepted.
Air Serbia Baggage Handling Policy →
Holding reservation
Passengers may hold a telephone reservation made directly with Air Serbia Contact Center without payment for up to 24 hours, or we will allow passengers to cancel their reservation (including flights operated by codeshare partners) without penalty up to 24 hours after the reservation is made, if the reservation was made seven days or more prior to the flight's departure. Passengers who make a reservation through Air Serbia's website may cancel their reservation without penalty up to 24 hours after the reservation is made, if the reservation was made seven days or more prior to the flight's departure.
For ticket purchases not meeting the requirements of the 24-hour rule described above, once payment is received, normal refund policies apply to the ticket. If you elect to make changes to the itinerary, the ticket price may change.
For additional information in the U.S, please contact Air Serbia at + 1 (718) 7258642 for further information. If you have a hearing or speech impairment, you may contact Air Serbia U.S. toll-free number +1 (888) 3909847 via Telecomunications Relay Service (TRS) For Air Serbia contacts worldwide you are kindly requested to visit Contact Page on our website.
Air Serbia will process eligible refunds in the time frames reported below, upon receipt of all required information. Some optional products and services tickets are not refundable. Any ancillary fees charged for optional products and services that a passenger is unable to use due to an over-sale situation or flight cancellation will be refunded.
For all eligible tickets and optional products and services purchased within the U.S. with a credit card or cash, refunds will be provided within 7 business days of receipt of the required refund information. The credit card refund may take up to two billing cycles before appearing on a credit card statement, so you should contact your credit card company directly to verify receipt of the credit. Tickets and optional products and services purchased with a check or cash will be refunded within 20 business days of receipt of the required information.
Refunds on eligible tickets and services purchased from Air Serbia, may be requested:
Online by visiting www.airserbia.com (accessible by clicking on I want to enquire about a refund within the Contact section)
By dialing our Contact Center on + 1 (718) 7258642 (for calls from the U.S), + 1 (888) 3909847 (toll-free number for U.S. customers requiring special assistance), +381 11 311 2 123 (for calls abroad) or 0800 111 528 (for calls from Serbia)
By writing an e-mail to refunds.us@airserbia.com
If you have a hearing or speech impairment, you may contact Air Serbia US toll-free number via Telecomunications Relay Service (TRS)
Requests for refunds of tickets purchased from a travel agent should be referred back to the agency for processing.
To request a refund within 24 hours of purchase please write to the following email address refunds.us@airserbia.com.
Certain refund requests may not be accommodated in the time frames discussed above. For details contact Air Serbia. Refunds for credit card purchases will be made only to the credit card account. Service charges are collected for some refunds (e.g. no show tickets).
To ensure a prompt refund, you are required to submit all documentation and information needed, including:
Valid ticket or optional products and services receipt submitted to us before expiration date (tickets and optional services expire one year from the original date of commencement of journey)
Brief written explanation
Your name, address, and telephone number(s)
Form of payment used to purchase the ticket
Air Serbia is committed to offer its passengers with reduced mobility special assistance services in order to make their air travel as pleasant as possible. To ensure that we can make the best possible preparations for you, please let us know what assistance you require, preferably when you book your flight. Accommodating passengers with disabilities and other special-needs passengers, particularly in the event of lengthy tarmac delay, is a top priority for Air Serbia.
Our long-haul fleet is equipped with accessible lavatories and moveable armrests in a number of seats as well as with an onboard wheelchair to assist passengers with reduced mobility during a flight.
If you are travelling an Air Serbia partner airline to and from the U.S. we kindly ask that you notify the operating carrier of special assistance requests at least 48 hours prior to departure. If your ticket is issued on our partner's airline ticket stock, we kindly ask you to refer to ticket issuing airline.
If you have questions or doubts about your ability to travel safely, we advise you to discuss the planned flight with your doctor.
For Special Service Requests and additional information please contact Air Serbia Contact Center:
Toll-free number for calls from the U.S. + 1 (888) 3909847
For calls from the U.S. + 1 (718) 7258642
For calls inside Serbia 0800 111 528
For calls abroad +381 11 311 2 123
Any disabled passenger with reduced mobility travelling to and from the U.S. is carried in compliance with the Air Carrier Access Act and its implementing regulations Title 14, Code of Federal Regulations, Part 382.
More information about special services →
In case of extraordinary events, such as lengthy tarmac delays, our top priority is the safety and well-being of our passengers. Air Serbia will provide timely information regarding the status of a flight if there is a long delay after you have boarded or after the plane has landed. We will meet passengers' essential needs during lengthy tarmac delays at any U.S. airport in accordance with our Tarmac Delay Contingency Plan. Our crew will make every reasonable effort to respond to our passengers with special needs during this unlikely events.
If your transatlantic flight is operated by an Air Serbia code-share partner, the operating carrier's Contingency Plan applies.
Overbook
Air Serbia is committed to handling all passengers with fairness and consistency.
Airline flights may be overbooked. This means there may be a slight chance that there are more reservations than available seats on your flight, even though you are holding a confirmed ticket. This may be because of commercial overbooking or restrictions that are imposed due to weather conditions or for other safety reasons.
In these circumstances, we will not deny you a seat without first asking for volunteers who are willing to give up their confirmed seat. In exchange arrangements will be made and may include, but are not limited to, rebooking onto another Air Serbia flight or another airline's flight to the same final destination, and providing hotel accommodations, meals, ground transport and travel credits or other rewards.
If there are not enough volunteers, we may need to deny boarding to one or more passengers involuntarily.If you are denied boarding involuntarily due to an overbooking of our flight for which you have a valid ticket and a confirmed reservation, we will provide compensation as required by law provided that you have met our check-in deadline and other travel requirements and we have not placed you on another flight that arrives within one hour of your original flight schedule. We will provide you with a written explanation of your rights and monetary compensation.
If fewer than the needed number of passengers volunteer, Air Serbia will treat any passenger involuntarily denied boarding with fairness and consistency according to Part 250 of the US Department of Transportation regulations and the boarding priority policies and procedures contained in Air Serbia's Conditions of Carriage.
Our terms and conditions of cairrage, cancellation policies and frequent flyer rules are available on our website and upon request, can be obtained via Air Serbia Contact Center.
We will provide you with your travel itinerary and complete information that may affect your travel, including: planned scheduled time of departure and arrival; airport/terminal of departure and arrival; number of en-route stops; any change of aircraft, terminal or airport; fare conditions, including cancellation policies; baggage allowances and fees; name of operating carrier and flight number; aircraft type, configuration and seat pitch; Services offered on board, details of Air Serbia Etihad Guest frequent flyer program.
We will notify you in a timely manner of changes in your travel itineraries.
Please contact Air Serbia Contact Center + 1 (718) 7258642 (for calls from the U.S) or visit our web site for further details.
Changes to travel itinerary
Your ticket is valid only for the transportation shown on it from the place of departure through an agreed stopping point to the final destination and the fare you have paid is based on that routing. We will not honor that ticket and it will no longer be valid if you do not use the coupons in the sequence provided. For example, if you do not show up for one segment of your itinerary, we may cancel your reservation on all remaining flight segments. Therefore if you need to make a change to the itinerary you must contact us previously.
When you purchase a ticket directly with Air Serbia, if a change is made to your travel itinerary (departure time change, terminal change etc.) after your ticket has been sent to you, we will promptly notify you of such change by whichever means are available to us or specified by you.
If you are purchasing your ticket from a travel agent, the travel agent will be responsible for informing you of itinerary changes. We advise you to provide the travel agent with a mobile phone number and email address during the booking process so that you may receive updates during your journey.
Response to customer complaints
Air Serbia will acknowledge receipt of written complaints within 30 days and provide a substantive response to the customer within 60 days. Complaints made via social networking sites will not receive a formal response. Notification of this limitation will be posted on any social networking site used by Air Serbia.
Customers may file complaints with Air Serbia:
online by filling out the claim form
by emailing the Passenger Support Department at guest.support@airserbia.com
by writing to Air Serbia, Passenger Support Department, Jurija Gagarina 12, 11070, Belgrade, Serbia
Complaints and comments about airline service may also be submitted to the office of the Aviation Consumer Protection Division at:
Aviation Consumer Protection Division, C-75
1200 New Jersey Ave. S.E.
Flight cancellations and missed connections
If a passenger's flight is canceled or the passenger misses an onward connection due to reasons within Air Serbia's control, Air Serbia will accommodate the passenger on the next available flight to the passenger's destination if possible or endorse the unused portion of the passenger's ticket to another carrier or transportation service for the purpose of rerouting. In case you would like to request a refund for unused ticket/segments, please contact your issuing airline or travel agent. To obtain a refund for tickets directly purchased with Air Serbia, please refer to the Refunds of this Customer Service Plan.
If legally required, passengers shall also be provided with food or drink vouchers or other accommodations.
Air Serbia Corporate
Group Request
Serbia has it all
Voucher form
Help&Contact
Additional baggage and optional service fees
Air Serbia Ground Services
Charter flights
email callcenter@airserbia.com
Email: callcenter@airserbia.com
Don't miss out on our best offers!
external_site_link external_site_link external_site_link external_site_link external_site_link external_site_link
© Air Serbia 2022.
All legal info
UAE Visa
Change "cookie" settings
This website uses cookies to provide a better user experience, personalization of content and ads, as well as the integration of social media and analysis of traffic on the Internet. In this regard, it is possible to transfer information about your use of the website to our partners in order to enable communication and advertising tailored to your preferences. You can look at our privacy policy here, and the policy of 'cookies' here
By clicking on 'Agree', you consent to the placing of these cookies. Click on the button 'Change your cookie settings' to change your preferences.
For more information about cookies, please read Air Serbia's cookie policy.
Change your cookie settings.


TLJ Daily E-Mail Alert No. 867, April 1, 2004.
April 1, 2004, 9:00 AM ET, Alert No. 867.
3/31. The Financial Accounting Standards Board (FASB) released a document titled "Exposure Draft, Share-Based Payment, an Amendment of FASB Statements No. 123 and 95." It proposes that companies must expense employee stock option plans.
The FASB's comment period for the exposure draft ends June 30, 2004.
Rep. Anna Eshoo (D-CA), who represents a Silicon Valley district, stated in a release that "This issue cuts to the heart of job creation, economic growth and competitiveness ... Broad-based stock option plans for rank-and-file employees are a critical tool in helping small start-ups to mature into medium and large-size companies. Yet if FASB's proposal is put into effect, it will result in the elimination of most broad-based stock option plans, doing away with a powerful tool for attracting talented workers and promoting employee ownership."
She added that "FASB's draft rule ignores the fact that no accurate model for valuing employee stock options has been identified -- including the binomial and Black-Scholes models required by FASB's proposal ... Neither of these methods was designed for the purpose of valuing employee stock options and FASB has refused to road-test these formulas in a real-world business environment."
Rep. Richard Baker (R-LA), Rep. Eshoo, Rep. David Dreier (R-CA), and others have introduced HR 3574, the "Stock Option Accounting Reform Act", a bill that would require expensing of stock options for only the CEO and the next four highest paid officers. The related bill in the Senate is S 1890, sponsored by Sen. Mike Enzi (R-WY).
The House Financial Services Committee's Subcommittee on Capital Markets, which is chaired by Rep. Baker, announced that it will hold a hearing on April 21, after the two week House spring recess, to evaluate the FASB's exposure draft on share-based payments, or stock options, and its effects on publicly traded companies.
Rep. Baker stated in a release that "With today's action I fear FASB is beginning to stand for Flatten All Start-up Businesses ... There is mounting evidence of the terrible impact this rule would have on our economy at the very time we are fighting through a jobless recovery. It's my hope this hearing will set the stage for near-term congressional action on vital legislation that helps to protect workers and job-creating businesses."
The FASB report was widely criticized by technology industry groups. For example, Robert Holleyman, P/CEO of the Business Software Alliance (BSA), stated in a release that "Stock options are a key benefit that technology companies -- particularly start-ups -- use to attract and retain talented workers ... Forcing companies to list options as an expense, rather than the dilution of ownership that they are, would make them more expensive, and ultimately, less available to workers."
Ken Wasch, President of the Software & Information Industry Association (SIIA), stated in a release that "In a move touted as a step to improve financial transparency and enhance the ability of investors to evaluate corporate performance, FASB has actually accomplished the opposite. By requiring all companies to expense the value of employee stock options, absent a method to accurately value the options, corporate balance sheets will become less transparent, not more."
Wasch added that "Not only does the proposal fail to accomplish its objective of clarifying corporate accounting, but it poses an enormous threat to innovative companies and the U.S. economy at the worst possible time. The U.S. high-tech industry was built on entrepreneurship and innovation, inspired largely by stock options. Mandatory expensing of stock options will have a chilling effect on the on-going economic recovery, forcing companies to abandon their commitment to broad-based plans."
George Scalise, President of the Securities Industry Association (SIA), stated in a release that "Stock option grants to employees have been an important part of the compensation program that helped drive U.S. high-tech companies to world leadership ... Stock options have been a powerful incentive for employees of U.S. chipmakers, aligning employee interests with those of shareholders. More than 80 percent of the options granted by SIA members are to employees who are not corporate officers. Current plans are very broadly based and give a wide range of employees an opportunity to share in their companies' success. The proposed FASB rule would likely significantly diminish the use of broad based stock option and stock purchase plans and make it more difficult to attract and retain talented employees."
3/31. All five of the Commissioners of the Federal Communications Commission (FCC) wrote a letter to telecommunications carriers and trade associations regarding the opinion [62 pages in PDF] of the U.S. Court of Appeals (DCCir) in USTA v. FCC, vacating parts of the FCC's latest rules (contained in the triennial review order) regarding the unbundling requirements of incumbent local exchange carriers (ILECs). The letter states that the FCC will seek an extension of the Court of Appeals' stay of its vacatur. The letter also encourages the incumbent and competitive carriers, and their trade groups, to use this time to negotiate. See, letter [PDF] sent to CompTel, and statement [PDF] released by the FCC.
The letters and statement announce that the FCC will petition the DC Circuit for a 45-day extension of the stay of its decision the triennial review order (TRO). That is, the March 2, 2004 opinion vacated key portions of the TRO that were challenged by the incumbent local exchange carriers (ILECs) pertaining to switching, and delegation to the fifty states of authority regarding impairment determinations.
The Appeals Court also wrote that "As to the portions of the Order that we vacate, we temporarily stay the vacatur (i.e., delay issue of the mandate) until no later than the later of (1) the denial of any petition for rehearing or rehearing en banc or (2) 60 days from today's date. This deadline is appropriate in light of the Commission's failure, after eight years, to develop lawful unbundling rules, and its apparent unwillingness to adhere to prior judicial rulings."
See also, story titled "Appeals Court Overturns Key Provisions of FCC Triennial Review Order" in TLJ Daily E-Mail Alert No. 848, March 3, 2004.
The FCC now seeks a 45 day extension of this 60 day stay. The FCC letters and statement further announce that the FCC urges telecommunications carriers and trade associations to use this time to engage in negotiations.
"Today, we sent a letter to telecommunications carriers and trade associations urging them to begin a period of commercial negotiations designed to restore certainty and preserve competition in the telecommunications market. Ongoing litigation has unsettled the market. To address this uncertainty, we ask all carriers to engage in a period of good faith negotiations to arrive at commercially acceptable arrangements for the availability of unbundled network elements. We trust the parties will utilize all means at their disposal, including the selection of a third-party mediator, to maximize the success of this effort. The Communications Act emphasizes the role of commercial negotiations as a tool in shaping a competitive communications marketplace. After years of litigation and uncertainty, such agreements are needed now more than ever."
"To provide additional time for these negotiations, we intend to petition the D.C. Circuit for a 45-day extension of the stay of its decision vacating our unbundling rules. We likewise will request that the Solicitor General seek a comparable extension of the deadline for filing a petition for certiorari. The express, limited purpose of this request is to allow these negotiations to take place and for the parties to reach commercial agreements. We have asked the carriers to indicate to us by Tuesday, April 6 whether they will participate and will support a stay of the court's mandate."
"In the past, the Commission has been divided on these issues. Today, we come together with one voice to send a clear and unequivocal signal that the best interests of America's telephone consumers are served by a concerted effort to reach a negotiated arrangement. We call on all sides to commit to working in good faith toward a prompt negotiated resolution."
Commissioner Michael Copps released an additional statement, in which he wrote that "I join my colleagues in encouraging carriers to engage in negotiations in an effort to preserve competition in the telecommunications market. I support negotiations, provided they are conducted in good faith and on a level playing field. But the ground here is not naturally level. As a result, carriers will be doubly challenged to reach fair commercial agreements in a limited timeframe."
Copps (at right) added that "Consumers -- the people who pay America's phone bills -- don't have a seat at the negotiating table. They will rightfully feel left out in the cold if these negotiations only lead to higher phone rates. I commit to watching these discussions to ensure that consumers are protected in the months ahead. They deserve -- and expect -- no less."
U.S. Telecom Association (USTA) P/CEO Walter McCormick stated in a release that "We applaud Chairman Powell for his statesmanship, for his faith in the free market, and for his leadership in forging consensus among a majority of the Commission on a market-based approach to encouraging real competition, consumer choice, and rapid deployment of broadband technology. The FCC's call for commercial negotiations is consistent with the approach our companies have been taking in reaching out to their wholesale customers. In a world of competing technologies -- wireline, cable, wireless, powerline and satellite -- we are seeking to maximize the use of our networks by meeting our wholesale customers' unique business needs."
The USTA's membership includes ILECs. William Daley, President of SBC, an ILEC, stated in a release that "We're greatly encouraged that the FCC sees the value in business-to-business negotiations and mutually acceptable, commercial agreements as a preferable alternative to government-mandated and -managed competition for consumers. And we applaud Chairman Powell's leadership in bringing it about."
Daley, who was Secretary of Commerce in the Clinton administration, added that "Three weeks ago, SBC made an identical offer to our wholesale customers. Since then, we've been negotiating in earnest with a number of companies. ... We look forward to working with the commission and our wholesale customers to reach an acceptable, negotiated end to the bitter regulatory debates that have taken place for the past eight years, and to bring the promise of real, sustainable competition to consumers throughout the country."
CompTel/ASCENT CEO Russell Frisby wrote in a release that "CompTel/ASCENT accepts the FCC's request that the telecommunications industry enter into commercial negotiations for the purpose of reaching acceptable terms for UNEs. CompTel/ASCENT and its members are poised to enter these commercial negotiations in good faith, with the expectation of finding a mutually beneficial solution to the current issues in contention. Our hope is that the Bells come to the table with the same intentions and do not use this as a forum to exploit their exclusive control over critical portions of the public switched telecom network."
The CompTel/ASCENT's members include competitive local exchange carriers (CLECs). Frisby added that "it is vital that the process governing these negotiations is transparent, so that all competitive carriers -- large and small alike -- are afforded the same considerations in a non-discriminatory fashion. Without such a process in place, it will be difficult to avoid the problems that have plagued the industry during eight years of failed negotiations.
Frisby concluded that "The end result of any commercially negotiated agreements should be the transition to a true wholesale environment for local telecom services. In this scenario, which is not dissimilar to how the Bells are able to purchase wholesale long distance access, competitive local providers should be treated as wholesale customers with the ability to access critical facilities at just and reasonable rates."
The National Association of Regulatory Utiltity Commissioners (NARUC) issued a release in which it stated that "NARUC commends the Commission for its leadership and applauds the Commission's efforts to bring all the parties together on the terms of competition and to avoid disruption to the millions of consumers who rely on competitive carriers for their telephone service. A few State commissions, including Michigan and New York, have issued similar calls for commercial negotiations. A crucial element in creating this opening for further negotiation is the extension of the stay and appeal deadlines so that no party is required to forfeit its due process prerogatives to have a seat at the table.
The Federation for Economically Rational Utility Policy (FERUP), a coalition of state regulators that favor market oriented approaches, also issued a release praising the FCC's latest effort. It stated that it "commends the FCC for this timely proposal to encourage telecommunications carriers to reach commercially acceptable solutions. Likewise, FERUP is supportive of the FCC's impending petition for an extension of the D.C. Circuit's stay of its decision regarding the TRO to allow marketplace solutions to materialize in lieu of further litigation, delay, and uncertainty."
Greg Sopkin of the Colorado Public Utilities Commission stated in this FERUP release that "I applaud Chairman Powell and the entire FCC for preferring the path of arms-length negotiation over protracted litigation. It is high time that industry resources be rerouted from enriching lawyers and lobbyists for the purposes of delay and uncertainty, to enhancing consumer welfare and the economy through sustainable FCC rules and mutually agreed upon rates."
3/31. The Federal Trade Commission (FTC) submitted a letter [15 pages in PDF] to the several members of the New York Assembly and Senate regarding pending legislation that would "allow out-of-state vendors to ship wine directly to New York consumers if the vendors comply with certain regulatory requirements, such as labeling delivery packages and reporting sales to state authorities." The bills would facilitate internet sales of wines.
The FTC concluded that "By allowing interstate direct shipping, the bills could allow New York residents to purchase a greater variety of wines at lower prices" and "enhance consumer welfare".
The FTC elaborated that "Through direct shipping, and particularly through the Internet, consumers can conveniently purchase many wines that are not available in nearby bricks-and-mortar stores. The Internet effectively expands the geographic market by allowing online vendors to compete nationally. An individual online store may feature more products than many bricks-and-mortar retail locations. More importantly, the total number of varieties available online may surpass the total number available in bricks-and-mortar stores that are within a reasonable distance of a particular consumer."
Small wineries in Virginia and California have brought suit against the state of New York challenging its ban on direct sales as a violation of the dormant commerce clause of the U.S. Constitution.
The U.S. District Court (SDNY) held that the ban is unconstitutional. See, story titled "Court Holds New York's Ban on Internet Wine Sales Is Unconstitutional" in TLJ Daily E-Mail Alert No. 551, November 18, 2002.
However, on February 12, 2004, the U.S. Court of Appeals (2ndCir) issued its opinion [28 pages in PDF] reversing the District Court, and holding that NY's statute is a permissible exercise of authority granted to states under the 21st Amendment. See, story titled "2nd Circuit Rules in Internet Wines Sales Case" in TLJ Daily E-Mail Alert No. 840, February 19, 2004.
The wineries have filed a petition for writ of certiorari with the U.S. Supreme Court. See, story titled "Small Wineries File Petition for Writ of Certiorari Re NY Direct Sales Ban" in TLJ Daily E-Mail Alert No. 852, March 9, 2004.
There was no issue of the TLJ Daily E-Mail Alert on Wednesday, March 31, 2004.
The Senate will meet at 9:30 AM for morning business, and at 10:30 to resume consideration of HR 4, the Welfare Reform Reauthorization bill.
9:30 AM. The Senate Judiciary Committee will hold a business meeting. The agenda includes consideration of S 1735, the "Gang Prevention and Effective Deterrence Act of 2003", and several judiciary nominations, including Henry Saad (to be a Judge of the U.S. Court of Appeals for the 6th Circuit), Peter Hall (2nd Circuit), William Gerry Myers (9th Circuit), Roger Benitez (Southern District of California), Jane Boyle (Northern District of Texas), Marcia Cooke (Southern District of Florida), Paul Diamond (Eastern District of Pennsylvania), and Walter Kelley (Eastern District of Virginia). This Committee frequently departs from its announced agenda. Location: Room 226, Dirksen Building.
2:00 PM. The House Commerce Committee's Subcommittee on Telecommunications and the Internet will hold a hearing on HR __, the Satellite Home Viewer Improvement Reauthorization Act of 2004. The witnesses will be Eloise Gore (Assistant Division Chief, Media Bureau's Policy Division, FCC), David Moskowitz (SVP & General Counsel of Echostar), Eddy Hartenstein (Vice Chairman of DirecTV), Robert Lee (President of WDBJ-TV), Frank Wright (President, National Religious Broadcasters). See, notice. The hearing will be webcast by the Committee. Press contact: Sean Bonyun (Upton) at 202-225-3761 or Jon Tripp (Barton) at 202 225-5735. Location: Room 2123, Rayburn Building.
12:00 NOON. The Cato Institute will host a panel discussion and luncheon titled "The Truth about Job Losses and Free Trade". See, notice and registration page. Location: Room B-339, Rayburn Building, Capitol Hill.
9:30 AM. The U.S. Court Appeals (DCCir) will hear oral argument in AT&T v. FCC, No. 03-1035. Judges Edwards, Tatel and Silberman will preside. Location: Prettyman Courthouse, 333 Constitution Ave.
10:00 AM. The Senate Judiciary Committee Subcommittee on Administrative Oversight and the Courts will hold a hearing on a proposal to split the Ninth Circuit. Location: Room 226, Dirksen Building.
3/24. Sen. Olympia Snowe (R-ME) introduced S 2230, the "Workers Equity Act". This bill would amend the Trade Act of 1974 to include shifts in production, for purposes of trade adjustment assistance, to countries to which the U.S. has extended permanent normal trade relations. It provides that "Section 222(a)(2)(B)(ii)(II) of the Trade Act of 1974 (19 U.S.C. 2272(a)(2)(B)(ii)(II)) is amended by inserting before the semicolon the following: `or a country to which the United States has extended permanent normal trade relations'." The bill was referred to the Senate Finance Committee.
3/24. Rep. Ron Paul (R-TX) introduced HR 4024, the "TV Consumer Freedom Act". This bill would repeal the must carry requirements of the Communications Act of 1934, codified at 47 U.S.C. §§ 338, 534, and 535. This bill would also provide that "No cable system or other multichannel video programming distributor shall retransmit the signal of a broadcasting station, or any part thereof, except with the express authority of the station". The bill was referred to the House Commerce Committee. Rep. Paul is not a member.
3/24. Rep. Chip Pickering (R-MS) and Rep. Gene Green (D-TX) introduced HR 4026, the "Local Emergency Radio Service Preservation Act of 2004". This bill provides that the Federal Communications Commission (FCC) "shall revise section 25.144 of its regulations (47 C.F.R. 25.144) to provide that (1) digital audio radio satellite service licensees shall not, using any capability either on a satellite or in a radio receiver, provide services that are locally differentiated or that result in programming being delivered to consumers in one geographic market that is different from the programming that is delivered to consumers in any other geographic market; and (2) digital audio radio satellite service repeaters shall be restricted to simultaneously retransmitting the programming transmitted by satellite directly to digital audio radio satellite service subscribers' receivers, and may not be used to distribute any information not also transmitted to all subscribers' receivers." The bill was referred to the House Commerce Committee.
3/24. Rep. Diane Watson (D-CA), Rep. Tom Lantos (D-CA), and Rep. Henry Hyde (R-IL) introduced HRes 576, a resolution urging the government of the People's Republic of China to improve its protection of intellectual property rights. For examples, it "urges the Chinese Government to undertake a coordinated nationwide intellectual property rights enforcement campaign, to eliminate the high criminal liability threshold and procedural obstacles that impede the effective use of criminal prosecution in addressing intellectual property rights violations, to increase the criminal penalties provided for in its laws and regulations, and to vigorously pursuit counterfeiting and piracy cases". The resolution was referred to the House International Relations Committee.
3/25. Sen. Ernest Hollings (D-SC) introduced S 2235, the "Domestic Workforce Protection Act". This bill would rename the Department of Commerce (DOC) the Department of Trade and Commerce. It would transfer the Office of the U.S. Trade Representative (USTR) to the DOC. It would transfer the responsibilities of the U.S. International Trade Commission (USITC) to the DOC. It would create an Assistant Attorney General for Trade. It would also make several changes to the Internal Revenue Code pertaining to offshore production, earnings of controlled foreign corporations, and deductions for certain offshore royalty payments. The bill was referred to the Senate Finance Committee.
3/31. Thomas Barnett was appointed Deputy Assistant Attorney General in charge of the Civil Enforcement at the Department of Justice's (DOJ) Antitrust Division. He was previously a partner in the law firm of Covington & Burling, and vice-chair of the firm's Antitrust and Consumer Protection practice group. David Meyer will replace Barnett as vice-chair of the practice group. See, DOJ release and Covington release.
3/31. Attorney General John Ashcroft resumed work at the Department of Justice (DOJ). He had surgery to remove his gallbladder on March 5, 2004. See, DOJ release.
3/31. Craig Barrett resigned as a member of Qwest Communications' board of directors. He had been a director since 1998. He is also the CEO of Intel. See, Qwest release.
3/30. Phil Bond, Technology Administration Under Secretary, gave a speech regarding DTV at a convention in Washington DC hosted by the American Television Systems Committee.
3/25. The Federal Communications Commission (FCC) held a meeting titled "Emergency Communications and Homeland Security -- Working with the Disability Community". FCC Chairman Michael Powell gave a speech [3 pages in PDF]. He discussed "the need for Congress, the FCC, the communications industry, and the disability community to work together cooperatively to ensure access to communications services, especially during emergencies." He reviewed prior actions of the FCC, but made no proposals for future action.


text:
Twenty Years of the U.S.-Romanian Strategic Partnership
I thought you might find the following useful and I wanted to share it with you. https://www.americanambassadors.org/publications/ambassadors-review/fall-2017/twenty-years-of-the-u-s-romanian-strategic-partnership
REVIEW: Article
When Bill Clinton came to Bucharest in 1997, he made history as the first U.S. President to visit Romania since the fall of communism. Speaking to the Romanian public, he announced, "Your President and I have agreed to establish a strategic partnership between our nations, a partnership important to America because Romania is important to America—important in your own right and important as a model in this difficult part of the world. Romania can show the people of this region and, indeed, people throughout the world that there is a better way than fighting and division and repression. It is cooperation and freedom and peace. Our friendship will endure the test of time. As long as you proceed down democracy's road, America will walk by your side."
This year marks the 20th anniversary of that U.S.-Romania Strategic Partnership, which President Donald Trump, during a meeting with President Klaus Iohannis this past June in Washington, said is now "stronger than ever." The Partnership is unique because it is not based upon any written agreement, treaty, or compact, but by mutual respect and understanding, strengthened continuously over time. It is a friendship based on shared values and aspirations, including democracy, freedom, respect for human rights, and the rule of law. While usually invoked when speaking of government-to-government bilateral relations, the Partnership extends to people-to-people ties as well. More than 90 percent of the Romanian public rates relations with the United States as good or very good, and overall, associations between the two countries expand far beyond diplomatic obligation.
The Romanian Diaspora is one of the world's largest. Approximately 3.4 million Romanians live abroad and millions more emigrated over the past century and a half, including to America. The United States has enriched its unique mosaic of peoples with newcomers from Romania for decades, and large Romanian American communities thrive across the country, further deepening our cultural and historical bonds. Indeed, much more than a relationship based on paper and ink, the U.S.-Romania Strategic Partnership is one based on people and has been from the very beginning.
In Romania today, the United States promotes security, democracy and prosperity. Six years ago, the two nations agreed to the 2011 Joint Declaration on Strategic Partnership for the 21st Century between the United States of America and Romania, which identifies key issues that fall under promoting security, democracy and prosperity: the political-military relationship, law-enforcement cooperation, trade and investment opportunities and energy security. The agreement also notes the importance of human rights, strengthening the rule of law, and peace and freedom for all. The current bilateral Strategic Partnership structure includes multiple working groups, each focusing on one of these important topics, bringing together diplomats and subject matter experts from both sides.
Promoting Security
The Strategic Partnership strengthens NATO by providing a pillar of defense throughout Eastern Europe and the surrounding region. Romania has been an excellent ally of the United States and NATO, providing real combat forces from the beginning of operations in Iraq and Afghanistan even before it was a NATO member. For 15 years, U.S. and Romanian troops have fought side by side in Afghanistan, where Romania still provides over 650 troops—the fourth largest NATO troop contributor to the Resolute Support Mission. Over the duration of these two missions, Romania has significantly improved its own military capabilities, particularly in areas such as Special Operations. Additionally, Romania has remained a vital contributor to the NATO Kosovo mission by continuously stationing over 50 troops there.
The United States especially commends the Romanian government's commitment to deliver on its promise of budgeting 2 percent of its GDP to defense this year and maintaining that level of commitment for 10 years. As emphasized by President Trump, the United States "hopes other NATO allies will follow Romania's lead on meeting their financial obligations and paying their fair share for the cost of defense." The United States helps develop these capabilities with security assistance and military-to-military engagements, having provided over $40 million in military assistance to the government of Romania in recent years.
Additionally, Romania has assisted U.S. and NATO military efforts by supporting the introduction of a new Multinational Brigade (MNB), continuing operations at the Mihail Kogalniceanu MK base near the Black Sea, establishing an Aegis Ashore missile defense system at Deveselu and promoting Eastern Flank security through the enhanced and tailored Forward Presence policies. In July 2017, Romania and the United States successfully conducted Saber Guardian 17, the largest joint military exercise in Partnership history, with over 25,000 troops. This multilateral exercise displayed NATO strength and deterrence capabilities on the Eastern Flank, as troops from throughout the Alliance executed powerful demonstrations of military capability in Romania and neighboring countries. Security cooperation remains robust and is a central pillar of the continuing Partnership.
The United States bolsters Romania's ongoing fight against corruption, particularly by supporting institutions such as the National Anti-Corruption Directorate (DNA) and the National Integrity Agency (ANI). Since 2012, approximately 3,400 Romanian participants have benefited from justice-focused U.S. government-provided training, grants and travel valued at approximately $3 million. During a June 2017 joint press conference at the White House Rose Garden, President Trump told President Iohannis, "Mr. President, I want to applaud your courage and your courageous efforts in Romania to fight corruption and defend the rule of law. This work is necessary to create an environment where trade and commerce can flourish and where citizens can prosper."
Over 600,000 Roma reside in Romania according to the last census, although the actual Roma population may be even larger. Many Roma are undocumented, making it impossible for them to receive basic services such as education, healthcare and employment. While the country has made tremendous strides at building a more inclusive society, discrimination against Roma still exists at all levels of society. The U.S. Embassy in Bucharest works diligently to support Roma-related events and actively participates in an inter-embassy group on Roma issues. I recently stated, "A healthy democracy is one that can reflect on its imperfect past and take steps toward a better future. While Roma families still faced discrimination and violence after their emancipation…gaining their freedom was a vital first step on the road to integration, a struggle that continues even today. It is our hope that, one day soon, the prejudices of the past will be completely replaced with respect and equality for all."
The United States strongly supports Romania's efforts to combat trafficking in persons. Our countries work closely to address the issue in Romania and throughout the Black Sea region, including enhanced cooperation based on the Strategic Partnership process. This fall, the U.S. Embassy in Bucharest will participate in multiple training, educational and networking seminars and will facilitate a conference on regional trafficking involving Romania and Moldova, enabling key actors to discuss possible improvements and new approaches, including an increase in services for victims, allocation of public funding for relevant NGOs and improved training for those working with trafficked victims.
Promoting Prosperity
Romania's economy improved following its accession to the European Union in 2007. It had the strongest economic growth in Europe in 2016 and projections estimate this trend will continue; however, the country still struggles to keep the budget deficit below the EU-required 3 percent of GDP. In a recent speech to Romanian industry leaders, I explained, "The United States wants to share [its business] culture here in Romania through our strategic partnership….We want to collaborate with you and help foster a stronger environment for entrepreneurship and innovation. That is because we want a more dynamic and stronger Romania, because you are such a good partner for the United States." There are numerous examples of U.S. promotion of economic development in Romania, including conducting an Entrepreneur of the Month program, sending Romanian youth to American entrepreneurship and innovation summits, bringing entrepreneurs to Romania and hosting visiting scientists.
The 1992 U.S.-Romania Bilateral Investment Treaty provides the backbone for economic exchange between the two countries. U.S. corporate presence in Romania is growing rapidly and currently surpasses $1 billion. In October 2017, the U.S. Commercial Service will host the Trade Winds Forum and Trade Mission in southeast Europe. This program facilitates new investment in countries including Romania, providing a platform to showcase the prospects of the Romanian economy while enabling U.S. companies to learn about new export market opportunities. At present, many potential U.S. investors are disincentivized by Romanian governmental—and thus economic—instability and lack of transparency, but Trade Winds can be a positive step towards increasing trust and reliability.
Romania has one of the highest participation rates in the U.S.-run Summer Work and Travel Program, which sends high school students to live and work in the United States for a summer. More than 7,500 Romanian students participated this year, and it was life-changing for many. One Romanian student reflected, "My first experience with Work and Travel was probably the best thing that could ever happen to me. The first thing that you see when entering the U.S.A. is diversity: people who work together, who play together, and love each other no matter what race, color, religion, sexuality they are. This is actually the most important thing that I learned while in America: to love more and judge less."
Since 1960, the United States has contributed over $17.5 million for 4,000 citizen exchanges with Romania. Over half of these were Fulbright Scholarships. Romania recently joined the U.S.-sponsored Future Leaders Exchange Program (FLEX), which provides scholarships for Romanian high school students to spend an academic year in the States; the first 25 recipients returned just last month. The U.S. Embassy in Bucharest also runs a week-long program for 25 Romanian high school juniors and seniors, Camp Kennedy, which promotes civic engagement, understanding of U.S. values, and increased English-language skills. Such educational programs ensure that the fortitude of the Strategic Partnership continues with the next generation as students from both countries are able to see the benefits of bilateral cooperation. As I have noted, "International students from diverse backgrounds coming together strengthens ties between the United States and countries around the world, developing the relationships between people and communities that are necessary to solve global challenges."[1]
Twenty years after President Clinton's historic visit, the Partnership stays strong. Romanian President Iohannis was the first Eastern European head of State hosted by President Trump in the White House. The meeting was a tremendous success as the two presidents reaffirmed the importance of the Partnership and emphasized continuing bilateral efforts. President Iohannis noted, "The transatlantic link is not about diplomacy, about policy. It's at the basis of our Western civilization. And together, we will make it stronger. Together, we will make it better. NATO and the European Union do not have to compete against each other. They have to work together. They have to work in such a manner as to produce synergetic effects, make NATO stronger, make Europe stronger, make the United States of America stronger."
Partnership and friendship—these have characterized the unique U.S.-Romanian relationship for the past 20 years and will continue to do for the next 20 years and beyond.
[1] To read the entire statement from which this quotation is derived, visit: https://ro.usembassy.gov/american-education-opens-doors-opportunity.
Hans Klemm
United States Ambassador to Romania

redpajama_set_name: RedPajamaCommonCrawl


text:
package org.zuinnote.hadoop.ethereum.hive.udf;

import static org.junit.jupiter.api.Assertions.assertArrayEquals;
import static org.junit.jupiter.api.Assertions.assertFalse;
import static org.junit.jupiter.api.Assertions.assertNotNull;
import static org.junit.jupiter.api.Assertions.assertNull;
import static org.junit.jupiter.api.Assertions.assertTrue;

import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.util.List;

import org.apache.hadoop.hive.common.type.HiveDecimal;
import org.apache.hadoop.hive.ql.metadata.HiveException;
import org.apache.hadoop.hive.serde2.objectinspector.ObjectInspector;
import org.apache.hadoop.hive.serde2.objectinspector.ObjectInspectorFactory;
import org.apache.hadoop.hive.serde2.objectinspector.primitive.PrimitiveObjectInspectorFactory;
import org.apache.hadoop.io.BytesWritable;
import org.apache.hadoop.io.IntWritable;
import org.junit.jupiter.api.Test;
import org.apache.hadoop.hive.ql.udf.generic.GenericUDF;

import org.zuinnote.hadoop.ethereum.format.common.EthereumBlock;
import org.zuinnote.hadoop.ethereum.format.common.EthereumBlockReader;
import org.zuinnote.hadoop.ethereum.format.common.EthereumTransaction;
import org.zuinnote.hadoop.ethereum.format.exception.EthereumBlockReadException;
import org.zuinnote.hadoop.ethereum.hive.datatypes.HiveEthereumTransaction;

/**
 *
 *
 */
public class EthereumUDFTest {
	static final int DEFAULT_BUFFERSIZE=64*1024;
	static final int DEFAULT_MAXSIZE_ETHEREUMBLOCK=1 * 1024 * 1024;

	  @Test
	  public void checkTestDataBlock1346406Available() {
		ClassLoader classLoader = getClass().getClassLoader();
		String fileName="eth1346406.bin";
		String fileNameGenesis=classLoader.getResource(fileName).getFile();
		assertNotNull("Test Data File \""+fileName+"\" is not null in resource path",fileNameGenesis);
		File file = new File(fileNameGenesis);
		assertTrue( file.exists(),"Test Data File \""+fileName+"\" exists");
		assertFalse( file.isDirectory(),"Test Data File \""+fileName+"\" is not a directory");
	  }

	  @Test
	  public void EthereumGetChainIdUDFNull() throws HiveException {
		EthereumGetChainIdUDF egcidUDF = new EthereumGetChainIdUDF();
		ObjectInspector[] arguments = new ObjectInspector[1];
		arguments[0] =  ObjectInspectorFactory.getReflectionObjectInspector(EthereumTransaction.class,ObjectInspectorFactory.ObjectInspectorOptions.JAVA);
		egcidUDF.initialize(arguments);
		assertNull(egcidUDF.evaluate(null),"Null argument to UDF returns null");
	  }

	  @Test
	  public void EthereumGetSendAddressUDFNull() throws HiveException {
		  EthereumGetSendAddressUDF egsaUDF = new EthereumGetSendAddressUDF();
		ObjectInspector[] arguments = new ObjectInspector[2];
		arguments[0] =  ObjectInspectorFactory.getReflectionObjectInspector(EthereumTransaction.class,ObjectInspectorFactory.ObjectInspectorOptions.JAVA);
		arguments[1] = PrimitiveObjectInspectorFactory.javaIntObjectInspector;
		egsaUDF.initialize(arguments);
		assertNull(egsaUDF.evaluate(null),"Null argument to UDF returns null");
	  }

	  @Test
	  public void EthereumGetTransactionHashUDFNull() throws HiveException {
		  EthereumGetTransactionHashUDF egthUDF = new EthereumGetTransactionHashUDF();
		ObjectInspector[] arguments = new ObjectInspector[1];
		arguments[0] =  ObjectInspectorFactory.getReflectionObjectInspector(EthereumTransaction.class,ObjectInspectorFactory.ObjectInspectorOptions.JAVA);
		egthUDF.initialize(arguments);
		assertNull(egthUDF.evaluate(null),"Null argument to UDF returns null");
	  }

	  @Test
	  public void EthereumGetChainIdUDFWritable() throws HiveException, IOException, EthereumBlockReadException {
		  // initialize object inspector
			EthereumGetChainIdUDF egcidUDF = new EthereumGetChainIdUDF();
			ObjectInspector[] arguments = new ObjectInspector[1];
			arguments[0] =  ObjectInspectorFactory.getReflectionObjectInspector(HiveEthereumTransaction.class,ObjectInspectorFactory.ObjectInspectorOptions.JAVA);
			egcidUDF.initialize(arguments);
			// load test data
		  ClassLoader classLoader = getClass().getClassLoader();
			String fileName="eth1346406.bin";
			String fileNameBlock=classLoader.getResource(fileName).getFile();
			File file = new File(fileNameBlock);
			boolean direct=false;
			FileInputStream fin = new FileInputStream(file);
			EthereumBlockReader ebr = null;
			try {
				ebr = new EthereumBlockReader(fin,this.DEFAULT_MAXSIZE_ETHEREUMBLOCK, this.DEFAULT_BUFFERSIZE,direct);
				EthereumBlock eblock = ebr.readBlock();
				List<EthereumTransaction> eTrans = eblock.getEthereumTransactions();
				// validate UDFs
				HiveEthereumTransaction trans0 = EthereumUDFTest.convertToHiveEthereumTransaction(eTrans.get(0));

				assertNull(egcidUDF.evaluate(new GenericUDF.DeferredObject[] {new GenericUDF.DeferredJavaObject(trans0)}),"Block 1346406 Transaction 1 is Ethereum MainNet");
				HiveEthereumTransaction trans1 = EthereumUDFTest.convertToHiveEthereumTransaction(eTrans.get(1));
				assertNull(egcidUDF.evaluate(new GenericUDF.DeferredObject[] {new GenericUDF.DeferredJavaObject(trans1)}),"Block 1346406 Transaction 2 is Ethereum MainNet");
				HiveEthereumTransaction trans2 = EthereumUDFTest.convertToHiveEthereumTransaction(eTrans.get(2));
				assertNull(egcidUDF.evaluate(new GenericUDF.DeferredObject[] {new GenericUDF.DeferredJavaObject(trans2)}),"Block 1346406 Transaction 3 is Ethereum MainNet");
				HiveEthereumTransaction trans3 = EthereumUDFTest.convertToHiveEthereumTransaction(eTrans.get(3));
				assertNull(egcidUDF.evaluate(new GenericUDF.DeferredObject[] {new GenericUDF.DeferredJavaObject(trans3)}),"Block 1346406 Transaction 4 is Ethereum MainNet");
				HiveEthereumTransaction trans4 = EthereumUDFTest.convertToHiveEthereumTransaction(eTrans.get(4));
				assertNull(egcidUDF.evaluate(new GenericUDF.DeferredObject[] {new GenericUDF.DeferredJavaObject(trans4)}),"Block 1346406 Transaction 5 is Ethereum MainNet");
				HiveEthereumTransaction trans5 = EthereumUDFTest.convertToHiveEthereumTransaction(eTrans.get(5));
				assertNull(egcidUDF.evaluate(new GenericUDF.DeferredObject[] {new GenericUDF.DeferredJavaObject(trans5)}),"Block 1346406 Transaction 6 is Ethereum MainNet");
			}
			 finally {
				if (ebr!=null) {
					ebr.close();
				}
			}

	  }

	  @Test
	  public void EthereumGetChainIdUDFObjectInspector() throws HiveException, IOException, EthereumBlockReadException {
		  // initialize object inspector
			EthereumGetChainIdUDF egcidUDF = new EthereumGetChainIdUDF();
			ObjectInspector[] arguments = new ObjectInspector[1];
			arguments[0] =  ObjectInspectorFactory.getReflectionObjectInspector(TestEthereumTransaction.class,ObjectInspectorFactory.ObjectInspectorOptions.JAVA);
			egcidUDF.initialize(arguments);
			// load test data
		  ClassLoader classLoader = getClass().getClassLoader();
			String fileName="eth1346406.bin";
			String fileNameBlock=classLoader.getResource(fileName).getFile();
			File file = new File(fileNameBlock);
			boolean direct=false;
			FileInputStream fin = new FileInputStream(file);
			EthereumBlockReader ebr = null;
			try {
				ebr = new EthereumBlockReader(fin,this.DEFAULT_MAXSIZE_ETHEREUMBLOCK, this.DEFAULT_BUFFERSIZE,direct);
				EthereumBlock eblock = ebr.readBlock();
				List<EthereumTransaction> eTrans = eblock.getEthereumTransactions();
				// validate UDFs
				EthereumTransaction transOrig0 = eTrans.get(0);
				TestEthereumTransaction trans0 = new TestEthereumTransaction();
				trans0.set(transOrig0);
				assertNull(egcidUDF.evaluate(new GenericUDF.DeferredObject[] {new GenericUDF.DeferredJavaObject(trans0)}),"Block 1346406 Transaction 1 is Ethereum MainNet");
				EthereumTransaction transOrig1 = eTrans.get(1);
				TestEthereumTransaction trans1 = new TestEthereumTransaction();
				trans1.set(transOrig1);
				assertNull(egcidUDF.evaluate(new GenericUDF.DeferredObject[] {new GenericUDF.DeferredJavaObject(trans1)}),"Block 1346406 Transaction 2 is Ethereum MainNet");
				EthereumTransaction transOrig2 = eTrans.get(2);
				TestEthereumTransaction trans2 = new TestEthereumTransaction();
				trans2.set(transOrig2);
				assertNull(egcidUDF.evaluate(new GenericUDF.DeferredObject[] {new GenericUDF.DeferredJavaObject(trans2)}),"Block 1346406 Transaction 3 is Ethereum MainNet");
				EthereumTransaction transOrig3 = eTrans.get(3);
				TestEthereumTransaction trans3 = new TestEthereumTransaction();
				trans3.set(transOrig3);
				assertNull(egcidUDF.evaluate(new GenericUDF.DeferredObject[] {new GenericUDF.DeferredJavaObject(trans3)}),"Block 1346406 Transaction 4 is Ethereum MainNet");
				EthereumTransaction transOrig4 = eTrans.get(4);
				TestEthereumTransaction trans4 = new TestEthereumTransaction();
				trans4.set(transOrig4);
				assertNull(egcidUDF.evaluate(new GenericUDF.DeferredObject[] {new GenericUDF.DeferredJavaObject(trans4)}),"Block 1346406 Transaction 5 is Ethereum MainNet");
				EthereumTransaction transOrig5 = eTrans.get(5);
				TestEthereumTransaction trans5 = new TestEthereumTransaction();
				trans5.set(transOrig5);
				assertNull(egcidUDF.evaluate(new GenericUDF.DeferredObject[] {new GenericUDF.DeferredJavaObject(trans5)}),"Block 1346406 Transaction 6 is Ethereum MainNet");
			}
			 finally {
				if (ebr!=null) {
					ebr.close();
				}
			}

	  }

	  @Test
	  public void EthereumGetSendAddressUDFWritable() throws HiveException, IOException, EthereumBlockReadException {
		  // initialize object inspector
		  EthereumGetSendAddressUDF egsaUDF = new EthereumGetSendAddressUDF();
			ObjectInspector[] arguments = new ObjectInspector[2];
			arguments[0] =  ObjectInspectorFactory.getReflectionObjectInspector(HiveEthereumTransaction.class,ObjectInspectorFactory.ObjectInspectorOptions.JAVA);
			arguments[1] = PrimitiveObjectInspectorFactory.javaIntObjectInspector;
			egsaUDF.initialize(arguments);
			// load test data
		  ClassLoader classLoader = getClass().getClassLoader();
			String fileName="eth1346406.bin";
			String fileNameBlock=classLoader.getResource(fileName).getFile();
			File file = new File(fileNameBlock);
			boolean direct=false;
			FileInputStream fin = new FileInputStream(file);
			EthereumBlockReader ebr = null;
			try {
				ebr = new EthereumBlockReader(fin,this.DEFAULT_MAXSIZE_ETHEREUMBLOCK, this.DEFAULT_BUFFERSIZE,direct);
				EthereumBlock eblock = ebr.readBlock();
				List<EthereumTransaction> eTrans = eblock.getEthereumTransactions();
				// validate UDFs

				  HiveEthereumTransaction trans0 = EthereumUDFTest.convertToHiveEthereumTransaction(eTrans.get(0));
			      byte[] expectedSentAddress = new byte[] {(byte)0x39,(byte)0x42,(byte)0x4b,(byte)0xd2,(byte)0x8a,(byte)0x22,(byte)0x23,(byte)0xda,(byte)0x3e,(byte)0x14,(byte)0xbf,(byte)0x79,(byte)0x3c,(byte)0xf7,(byte)0xf8,(byte)0x20,(byte)0x8e,(byte)0xe9,(byte)0x98,(byte)0x0a};
			      assertArrayEquals(expectedSentAddress,((BytesWritable)egsaUDF.evaluate(new GenericUDF.DeferredObject[] {new GenericUDF.DeferredJavaObject(trans0),new GenericUDF.DeferredJavaObject(new IntWritable(1))})).copyBytes(),"Block 1346406 Transaction 1 send address is correctly calculated");
			      HiveEthereumTransaction trans1 = EthereumUDFTest.convertToHiveEthereumTransaction(eTrans.get(1));
			      expectedSentAddress = new byte[] {(byte)0x4b,(byte)0xb9,(byte)0x60,(byte)0x91,(byte)0xee,(byte)0x9d,(byte)0x80,(byte)0x2e,(byte)0xd0,(byte)0x39,(byte)0xc4,(byte)0xd1,(byte)0xa5,(byte)0xf6,(byte)0x21,(byte)0x6f,(byte)0x90,(byte)0xf8,(byte)0x1b,(byte)0x01};
			      assertArrayEquals(expectedSentAddress,((BytesWritable)egsaUDF.evaluate(new GenericUDF.DeferredObject[] {new GenericUDF.DeferredJavaObject(trans1),new GenericUDF.DeferredJavaObject(new IntWritable(1))})).copyBytes(),"Block 1346406 Transaction 2 send address is correctly calculated");
			      HiveEthereumTransaction trans2 = EthereumUDFTest.convertToHiveEthereumTransaction(eTrans.get(2));
			      expectedSentAddress = new byte[] {(byte)0x63,(byte)0xa9,(byte)0x97,(byte)0x5b,(byte)0xa3,(byte)0x1b,(byte)0x0b,(byte)0x96,(byte)0x26,(byte)0xb3,(byte)0x43,(byte)0x00,(byte)0xf7,(byte)0xf6,(byte)0x27,(byte)0x14,(byte)0x7d,(byte)0xf1,(byte)0xf5,(byte)0x26};
			      assertArrayEquals(expectedSentAddress,((BytesWritable)egsaUDF.evaluate(new GenericUDF.DeferredObject[] {new GenericUDF.DeferredJavaObject(trans2),new GenericUDF.DeferredJavaObject(new IntWritable(1))})).copyBytes(),"Block 1346406 Transaction 3 send address is correctly calculated");
			      HiveEthereumTransaction trans3 = EthereumUDFTest.convertToHiveEthereumTransaction(eTrans.get(3));
			      expectedSentAddress = new byte[] {(byte)0x63,(byte)0xa9,(byte)0x97,(byte)0x5b,(byte)0xa3,(byte)0x1b,(byte)0x0b,(byte)0x96,(byte)0x26,(byte)0xb3,(byte)0x43,(byte)0x00,(byte)0xf7,(byte)0xf6,(byte)0x27,(byte)0x14,(byte)0x7d,(byte)0xf1,(byte)0xf5,(byte)0x26};
			     assertArrayEquals(expectedSentAddress,((BytesWritable)egsaUDF.evaluate(new GenericUDF.DeferredObject[] {new GenericUDF.DeferredJavaObject(trans3),new GenericUDF.DeferredJavaObject(new IntWritable(1))})).copyBytes(),"Block 1346406 Transaction 4 send address is correctly calculated");
			      HiveEthereumTransaction trans4 = EthereumUDFTest.convertToHiveEthereumTransaction(eTrans.get(4));
			      expectedSentAddress = new byte[] {(byte)0x63,(byte)0xa9,(byte)0x97,(byte)0x5b,(byte)0xa3,(byte)0x1b,(byte)0x0b,(byte)0x96,(byte)0x26,(byte)0xb3,(byte)0x43,(byte)0x00,(byte)0xf7,(byte)0xf6,(byte)0x27,(byte)0x14,(byte)0x7d,(byte)0xf1,(byte)0xf5,(byte)0x26};
			      assertArrayEquals(expectedSentAddress,((BytesWritable)egsaUDF.evaluate(new GenericUDF.DeferredObject[] {new GenericUDF.DeferredJavaObject(trans4),new GenericUDF.DeferredJavaObject(new IntWritable(1))})).copyBytes(),"Block 1346406 Transaction 5 send address is correctly calculated");
			      HiveEthereumTransaction trans5 = EthereumUDFTest.convertToHiveEthereumTransaction(eTrans.get(5));
			      expectedSentAddress = new byte[] {(byte)0x63,(byte)0xa9,(byte)0x97,(byte)0x5b,(byte)0xa3,(byte)0x1b,(byte)0x0b,(byte)0x96,(byte)0x26,(byte)0xb3,(byte)0x43,(byte)0x00,(byte)0xf7,(byte)0xf6,(byte)0x27,(byte)0x14,(byte)0x7d,(byte)0xf1,(byte)0xf5,(byte)0x26};
			      assertArrayEquals(expectedSentAddress,((BytesWritable)egsaUDF.evaluate(new GenericUDF.DeferredObject[] {new GenericUDF.DeferredJavaObject(trans5),new GenericUDF.DeferredJavaObject(new IntWritable(1))})).copyBytes(),"Block 1346406 Transaction 6 send address is correctly calculated");

		}
			 finally {
				if (ebr!=null) {
					ebr.close();
				}
			}

	  }

	  @Test
	  public void EthereumGetSendAddressUDFObjectInspector() throws HiveException, IOException, EthereumBlockReadException {
		  // initialize object inspector
		  EthereumGetSendAddressUDF egsaUDF = new EthereumGetSendAddressUDF();
			ObjectInspector[] arguments = new ObjectInspector[2];
			arguments[0] =  ObjectInspectorFactory.getReflectionObjectInspector(TestEthereumTransaction.class,ObjectInspectorFactory.ObjectInspectorOptions.JAVA);
			arguments[1] = PrimitiveObjectInspectorFactory.javaIntObjectInspector;
			egsaUDF.initialize(arguments);
			// load test data
		  ClassLoader classLoader = getClass().getClassLoader();
			String fileName="eth1346406.bin";
			String fileNameBlock=classLoader.getResource(fileName).getFile();
			File file = new File(fileNameBlock);
			boolean direct=false;
			FileInputStream fin = new FileInputStream(file);
			EthereumBlockReader ebr = null;
			try {
				ebr = new EthereumBlockReader(fin,this.DEFAULT_MAXSIZE_ETHEREUMBLOCK, this.DEFAULT_BUFFERSIZE,direct);
				EthereumBlock eblock = ebr.readBlock();
				List<EthereumTransaction> eTrans = eblock.getEthereumTransactions();
				// validate UDFs
				EthereumTransaction transOrig0 = eTrans.get(0);
				TestEthereumTransaction trans0 = new TestEthereumTransaction();
				trans0.set(transOrig0);
			      byte[] expectedSentAddress = new byte[] {(byte)0x39,(byte)0x42,(byte)0x4b,(byte)0xd2,(byte)0x8a,(byte)0x22,(byte)0x23,(byte)0xda,(byte)0x3e,(byte)0x14,(byte)0xbf,(byte)0x79,(byte)0x3c,(byte)0xf7,(byte)0xf8,(byte)0x20,(byte)0x8e,(byte)0xe9,(byte)0x98,(byte)0x0a};
			      assertArrayEquals(expectedSentAddress,((BytesWritable)egsaUDF.evaluate(new GenericUDF.DeferredObject[] {new GenericUDF.DeferredJavaObject(trans0),new GenericUDF.DeferredJavaObject(new IntWritable(1))})).copyBytes(),"Block 1346406 Transaction 1 send address is correctly calculated");
					EthereumTransaction transOrig1 = eTrans.get(1);
					TestEthereumTransaction trans1 = new TestEthereumTransaction();
					trans1.set(transOrig1);
			      expectedSentAddress = new byte[] {(byte)0x4b,(byte)0xb9,(byte)0x60,(byte)0x91,(byte)0xee,(byte)0x9d,(byte)0x80,(byte)0x2e,(byte)0xd0,(byte)0x39,(byte)0xc4,(byte)0xd1,(byte)0xa5,(byte)0xf6,(byte)0x21,(byte)0x6f,(byte)0x90,(byte)0xf8,(byte)0x1b,(byte)0x01};
			      assertArrayEquals(expectedSentAddress,((BytesWritable)egsaUDF.evaluate(new GenericUDF.DeferredObject[] {new GenericUDF.DeferredJavaObject(trans1),new GenericUDF.DeferredJavaObject(new IntWritable(1))})).copyBytes(),"Block 1346406 Transaction 2 send address is correctly calculated");
					EthereumTransaction transOrig2 = eTrans.get(2);
					TestEthereumTransaction trans2 = new TestEthereumTransaction();
					trans2.set(transOrig2);
			      expectedSentAddress = new byte[] {(byte)0x63,(byte)0xa9,(byte)0x97,(byte)0x5b,(byte)0xa3,(byte)0x1b,(byte)0x0b,(byte)0x96,(byte)0x26,(byte)0xb3,(byte)0x43,(byte)0x00,(byte)0xf7,(byte)0xf6,(byte)0x27,(byte)0x14,(byte)0x7d,(byte)0xf1,(byte)0xf5,(byte)0x26};
			      assertArrayEquals(expectedSentAddress,((BytesWritable)egsaUDF.evaluate(new GenericUDF.DeferredObject[] {new GenericUDF.DeferredJavaObject(trans2),new GenericUDF.DeferredJavaObject(new IntWritable(1))})).copyBytes(),"Block 1346406 Transaction 3 send address is correctly calculated");
					EthereumTransaction transOrig3 = eTrans.get(3);
					TestEthereumTransaction trans3 = new TestEthereumTransaction();
					trans3.set(transOrig3);
			      expectedSentAddress = new byte[] {(byte)0x63,(byte)0xa9,(byte)0x97,(byte)0x5b,(byte)0xa3,(byte)0x1b,(byte)0x0b,(byte)0x96,(byte)0x26,(byte)0xb3,(byte)0x43,(byte)0x00,(byte)0xf7,(byte)0xf6,(byte)0x27,(byte)0x14,(byte)0x7d,(byte)0xf1,(byte)0xf5,(byte)0x26};
			     assertArrayEquals(expectedSentAddress,((BytesWritable)egsaUDF.evaluate(new GenericUDF.DeferredObject[] {new GenericUDF.DeferredJavaObject(trans3),new GenericUDF.DeferredJavaObject(new IntWritable(1))})).copyBytes(),"Block 1346406 Transaction 4 send address is correctly calculated");
					EthereumTransaction transOrig4 = eTrans.get(4);
					TestEthereumTransaction trans4 = new TestEthereumTransaction();
					trans4.set(transOrig4);
			      expectedSentAddress = new byte[] {(byte)0x63,(byte)0xa9,(byte)0x97,(byte)0x5b,(byte)0xa3,(byte)0x1b,(byte)0x0b,(byte)0x96,(byte)0x26,(byte)0xb3,(byte)0x43,(byte)0x00,(byte)0xf7,(byte)0xf6,(byte)0x27,(byte)0x14,(byte)0x7d,(byte)0xf1,(byte)0xf5,(byte)0x26};
			      assertArrayEquals(expectedSentAddress,((BytesWritable)egsaUDF.evaluate(new GenericUDF.DeferredObject[] {new GenericUDF.DeferredJavaObject(trans4),new GenericUDF.DeferredJavaObject(new IntWritable(1))})).copyBytes(),"Block 1346406 Transaction 5 send address is correctly calculated");
					EthereumTransaction transOrig5 = eTrans.get(5);
					TestEthereumTransaction trans5 = new TestEthereumTransaction();
					trans5.set(transOrig5);
			      expectedSentAddress = new byte[] {(byte)0x63,(byte)0xa9,(byte)0x97,(byte)0x5b,(byte)0xa3,(byte)0x1b,(byte)0x0b,(byte)0x96,(byte)0x26,(byte)0xb3,(byte)0x43,(byte)0x00,(byte)0xf7,(byte)0xf6,(byte)0x27,(byte)0x14,(byte)0x7d,(byte)0xf1,(byte)0xf5,(byte)0x26};
			      assertArrayEquals(expectedSentAddress,((BytesWritable)egsaUDF.evaluate(new GenericUDF.DeferredObject[] {new GenericUDF.DeferredJavaObject(trans5),new GenericUDF.DeferredJavaObject(new IntWritable(1))})).copyBytes(),"Block 1346406 Transaction 6 send address is correctly calculated");

		}
			 finally {
				if (ebr!=null) {
					ebr.close();
				}
			}

	  }

	  @Test
	  public void EthereumGetTransactionHashUDFWritable() throws HiveException, IOException, EthereumBlockReadException {
		  // initialize object inspector
		  EthereumGetTransactionHashUDF egthUDF = new EthereumGetTransactionHashUDF();
			ObjectInspector[] arguments = new ObjectInspector[1];
			arguments[0] =  ObjectInspectorFactory.getReflectionObjectInspector(HiveEthereumTransaction.class,ObjectInspectorFactory.ObjectInspectorOptions.JAVA);
			egthUDF.initialize(arguments);
			// load test data
		  ClassLoader classLoader = getClass().getClassLoader();
			String fileName="eth1346406.bin";
			String fileNameBlock=classLoader.getResource(fileName).getFile();
			File file = new File(fileNameBlock);
			boolean direct=false;
			FileInputStream fin = new FileInputStream(file);
			EthereumBlockReader ebr = null;
			try {
				ebr = new EthereumBlockReader(fin,this.DEFAULT_MAXSIZE_ETHEREUMBLOCK, this.DEFAULT_BUFFERSIZE,direct);
				EthereumBlock eblock = ebr.readBlock();
				List<EthereumTransaction> eTrans = eblock.getEthereumTransactions();
				// validate UDFs
				HiveEthereumTransaction trans0 = EthereumUDFTest.convertToHiveEthereumTransaction(eTrans.get(0));
				byte[] expectedHash = new byte[] {(byte)0xe2,(byte)0x7e,(byte)0x92,(byte)0x88,(byte)0xe2,(byte)0x9c,(byte)0xc8,(byte)0xeb,(byte)0x78,(byte)0xf9,(byte)0xf7,(byte)0x68,(byte)0xd8,(byte)0x9b,(byte)0xf1,(byte)0xcd,(byte)0x4b,(byte)0x68,(byte)0xb7,(byte)0x15,(byte)0xa3,(byte)0x8b,(byte)0x95,(byte)0xd4,(byte)0x6d,(byte)0x77,(byte)0x86,(byte)0x18,(byte)0xcb,(byte)0x10,(byte)0x4d,(byte)0x58};
				assertArrayEquals(expectedHash,((BytesWritable)egthUDF.evaluate(new GenericUDF.DeferredObject[] {new GenericUDF.DeferredJavaObject(trans0)})).copyBytes(),"Block 1346406 Transaction 1 hash is correctly calculated");
				HiveEthereumTransaction trans1 = EthereumUDFTest.convertToHiveEthereumTransaction(eTrans.get(1));
				expectedHash = new byte[] {(byte)0x7a,(byte)0x23,(byte)0x2a,(byte)0xa2,(byte)0xae,(byte)0x6a,(byte)0x5e,(byte)0x1f,(byte)0x32,(byte)0xca,(byte)0x3a,(byte)0xc9,(byte)0x3f,(byte)0x4f,(byte)0xdb,(byte)0x77,(byte)0x98,(byte)0x3e,(byte)0x93,(byte)0x2b,(byte)0x38,(byte)0x09,(byte)0x93,(byte)0x56,(byte)0x44,(byte)0x42,(byte)0x08,(byte)0xc6,(byte)0x9d,(byte)0x40,(byte)0x86,(byte)0x81};
				assertArrayEquals(expectedHash,((BytesWritable)egthUDF.evaluate(new GenericUDF.DeferredObject[] {new GenericUDF.DeferredJavaObject(trans1)})).copyBytes(),"Block 1346406 Transaction 2 hash is correctly calculated");
				HiveEthereumTransaction trans2 = EthereumUDFTest.convertToHiveEthereumTransaction(eTrans.get(2));
				expectedHash = new byte[] {(byte)0x14,(byte)0x33,(byte)0xe3,(byte)0xcb,(byte)0x66,(byte)0x2f,(byte)0x66,(byte)0x8d,(byte)0x87,(byte)0xb8,(byte)0x35,(byte)0x55,(byte)0x34,(byte)0x5a,(byte)0x20,(byte)0xcc,(byte)0xf8,(byte)0x70,(byte)0x6f,(byte)0x25,(byte)0x21,(byte)0x49,(byte)0x18,(byte)0xe2,(byte)0xf8,(byte)0x1f,(byte)0xe3,(byte)0xd2,(byte)0x1c,(byte)0x9d,(byte)0x5b,(byte)0x23};
				assertArrayEquals(expectedHash,((BytesWritable)egthUDF.evaluate(new GenericUDF.DeferredObject[] {new GenericUDF.DeferredJavaObject(trans2)})).copyBytes(),"Block 1346406 Transaction 3 hash is correctly calculated");
				HiveEthereumTransaction trans3 = EthereumUDFTest.convertToHiveEthereumTransaction(eTrans.get(3));
				expectedHash = new byte[] {(byte)0x39,(byte)0x22,(byte)0xf7,(byte)0xf6,(byte)0x0a,(byte)0x33,(byte)0xa1,(byte)0x2d,(byte)0x13,(byte)0x9d,(byte)0x67,(byte)0xfa,(byte)0x53,(byte)0x30,(byte)0xdb,(byte)0xfd,(byte)0xba,(byte)0x42,(byte)0xa4,(byte)0xb7,(byte)0x67,(byte)0x29,(byte)0x6e,(byte)0xff,(byte)0x64,(byte)0x15,(byte)0xee,(byte)0xa3,(byte)0x2d,(byte)0x8a,(byte)0x7b,(byte)0x2b};
				assertArrayEquals(expectedHash,((BytesWritable)egthUDF.evaluate(new GenericUDF.DeferredObject[] {new GenericUDF.DeferredJavaObject(trans3)})).copyBytes(),"Block 1346406 Transaction 4 hash is correctly calculated");
				HiveEthereumTransaction trans4 = EthereumUDFTest.convertToHiveEthereumTransaction(eTrans.get(4));
				expectedHash = new byte[] {(byte)0xbb,(byte)0x7c,(byte)0xaa,(byte)0x23,(byte)0x38,(byte)0x5a,(byte)0x0f,(byte)0x73,(byte)0x75,(byte)0x3f,(byte)0x9e,(byte)0x28,(byte)0xd8,(byte)0xf0,(byte)0x60,(byte)0x2f,(byte)0xe2,(byte)0xe7,(byte)0x2d,(byte)0x87,(byte)0xe1,(byte)0xe0,(byte)0x95,(byte)0x52,(byte)0x75,(byte)0x28,(byte)0xd1,(byte)0x44,(byte)0x88,(byte)0x5d,(byte)0x6b,(byte)0x51};
				assertArrayEquals(expectedHash,((BytesWritable)egthUDF.evaluate(new GenericUDF.DeferredObject[] {new GenericUDF.DeferredJavaObject(trans4)})).copyBytes(),"Block 1346406 Transaction 5 hash is correctly calculated");
				HiveEthereumTransaction trans5 = EthereumUDFTest.convertToHiveEthereumTransaction(eTrans.get(5));
				expectedHash = new byte[] {(byte)0xbc,(byte)0xde,(byte)0x6f,(byte)0x49,(byte)0x84,(byte)0x2c,(byte)0x6d,(byte)0x73,(byte)0x8d,(byte)0x64,(byte)0x32,(byte)0x8f,(byte)0x78,(byte)0x09,(byte)0xb1,(byte)0xd4,(byte)0x9b,(byte)0xf0,(byte)0xff,(byte)0x3f,(byte)0xfa,(byte)0x46,(byte)0x0f,(byte)0xdd,(byte)0xd2,(byte)0x7f,(byte)0xd4,(byte)0x2b,(byte)0x7a,(byte)0x01,(byte)0xfc,(byte)0x9a};
				assertArrayEquals(expectedHash,((BytesWritable)egthUDF.evaluate(new GenericUDF.DeferredObject[] {new GenericUDF.DeferredJavaObject(trans5)})).copyBytes(),"Block 1346406 Transaction 6 hash is correctly calculated");

		}
			 finally {
				if (ebr!=null) {
					ebr.close();
				}
			}

	  }

	  @Test
	  public void EthereumGetTransactionHashUDFObjectInspector() throws HiveException, IOException, EthereumBlockReadException {
		  // initialize object inspector
		  EthereumGetTransactionHashUDF egthUDF = new EthereumGetTransactionHashUDF();
			ObjectInspector[] arguments = new ObjectInspector[1];
			arguments[0] =  ObjectInspectorFactory.getReflectionObjectInspector(TestEthereumTransaction.class,ObjectInspectorFactory.ObjectInspectorOptions.JAVA);
			egthUDF.initialize(arguments);
			// load test data
		  ClassLoader classLoader = getClass().getClassLoader();
			String fileName="eth1346406.bin";
			String fileNameBlock=classLoader.getResource(fileName).getFile();
			File file = new File(fileNameBlock);
			boolean direct=false;
			FileInputStream fin = new FileInputStream(file);
			EthereumBlockReader ebr = null;
			try {
				ebr = new EthereumBlockReader(fin,this.DEFAULT_MAXSIZE_ETHEREUMBLOCK, this.DEFAULT_BUFFERSIZE,direct);
				EthereumBlock eblock = ebr.readBlock();
				List<EthereumTransaction> eTrans = eblock.getEthereumTransactions();
				// validate UDFs
				EthereumTransaction transOrig0 = eTrans.get(0);
				TestEthereumTransaction trans0 = new TestEthereumTransaction();
				trans0.set(transOrig0);
				byte[] expectedHash = new byte[] {(byte)0xe2,(byte)0x7e,(byte)0x92,(byte)0x88,(byte)0xe2,(byte)0x9c,(byte)0xc8,(byte)0xeb,(byte)0x78,(byte)0xf9,(byte)0xf7,(byte)0x68,(byte)0xd8,(byte)0x9b,(byte)0xf1,(byte)0xcd,(byte)0x4b,(byte)0x68,(byte)0xb7,(byte)0x15,(byte)0xa3,(byte)0x8b,(byte)0x95,(byte)0xd4,(byte)0x6d,(byte)0x77,(byte)0x86,(byte)0x18,(byte)0xcb,(byte)0x10,(byte)0x4d,(byte)0x58};
				assertArrayEquals(expectedHash,((BytesWritable)egthUDF.evaluate(new GenericUDF.DeferredObject[] {new GenericUDF.DeferredJavaObject(trans0)})).copyBytes(),"Block 1346406 Transaction 1 hash is correctly calculated");
				EthereumTransaction transOrig1 = eTrans.get(1);
				TestEthereumTransaction trans1 = new TestEthereumTransaction();
				trans1.set(transOrig1);
				expectedHash = new byte[] {(byte)0x7a,(byte)0x23,(byte)0x2a,(byte)0xa2,(byte)0xae,(byte)0x6a,(byte)0x5e,(byte)0x1f,(byte)0x32,(byte)0xca,(byte)0x3a,(byte)0xc9,(byte)0x3f,(byte)0x4f,(byte)0xdb,(byte)0x77,(byte)0x98,(byte)0x3e,(byte)0x93,(byte)0x2b,(byte)0x38,(byte)0x09,(byte)0x93,(byte)0x56,(byte)0x44,(byte)0x42,(byte)0x08,(byte)0xc6,(byte)0x9d,(byte)0x40,(byte)0x86,(byte)0x81};
				assertArrayEquals(expectedHash,((BytesWritable)egthUDF.evaluate(new GenericUDF.DeferredObject[] {new GenericUDF.DeferredJavaObject(trans1)})).copyBytes(),"Block 1346406 Transaction 2 hash is correctly calculated");
				EthereumTransaction transOrig2 = eTrans.get(2);
				TestEthereumTransaction trans2 = new TestEthereumTransaction();
				trans2.set(transOrig2);
				expectedHash = new byte[] {(byte)0x14,(byte)0x33,(byte)0xe3,(byte)0xcb,(byte)0x66,(byte)0x2f,(byte)0x66,(byte)0x8d,(byte)0x87,(byte)0xb8,(byte)0x35,(byte)0x55,(byte)0x34,(byte)0x5a,(byte)0x20,(byte)0xcc,(byte)0xf8,(byte)0x70,(byte)0x6f,(byte)0x25,(byte)0x21,(byte)0x49,(byte)0x18,(byte)0xe2,(byte)0xf8,(byte)0x1f,(byte)0xe3,(byte)0xd2,(byte)0x1c,(byte)0x9d,(byte)0x5b,(byte)0x23};
				assertArrayEquals(expectedHash,((BytesWritable)egthUDF.evaluate(new GenericUDF.DeferredObject[] {new GenericUDF.DeferredJavaObject(trans2)})).copyBytes(),"Block 1346406 Transaction 3 hash is correctly calculated");
				EthereumTransaction transOrig3 = eTrans.get(3);
				TestEthereumTransaction trans3 = new TestEthereumTransaction();
				trans3.set(transOrig3);
				expectedHash = new byte[] {(byte)0x39,(byte)0x22,(byte)0xf7,(byte)0xf6,(byte)0x0a,(byte)0x33,(byte)0xa1,(byte)0x2d,(byte)0x13,(byte)0x9d,(byte)0x67,(byte)0xfa,(byte)0x53,(byte)0x30,(byte)0xdb,(byte)0xfd,(byte)0xba,(byte)0x42,(byte)0xa4,(byte)0xb7,(byte)0x67,(byte)0x29,(byte)0x6e,(byte)0xff,(byte)0x64,(byte)0x15,(byte)0xee,(byte)0xa3,(byte)0x2d,(byte)0x8a,(byte)0x7b,(byte)0x2b};
				assertArrayEquals(expectedHash,((BytesWritable)egthUDF.evaluate(new GenericUDF.DeferredObject[] {new GenericUDF.DeferredJavaObject(trans3)})).copyBytes(),"Block 1346406 Transaction 4 hash is correctly calculated");
				EthereumTransaction transOrig4 = eTrans.get(4);
				TestEthereumTransaction trans4 = new TestEthereumTransaction();
				trans4.set(transOrig4);
				expectedHash = new byte[] {(byte)0xbb,(byte)0x7c,(byte)0xaa,(byte)0x23,(byte)0x38,(byte)0x5a,(byte)0x0f,(byte)0x73,(byte)0x75,(byte)0x3f,(byte)0x9e,(byte)0x28,(byte)0xd8,(byte)0xf0,(byte)0x60,(byte)0x2f,(byte)0xe2,(byte)0xe7,(byte)0x2d,(byte)0x87,(byte)0xe1,(byte)0xe0,(byte)0x95,(byte)0x52,(byte)0x75,(byte)0x28,(byte)0xd1,(byte)0x44,(byte)0x88,(byte)0x5d,(byte)0x6b,(byte)0x51};
				assertArrayEquals(expectedHash,((BytesWritable)egthUDF.evaluate(new GenericUDF.DeferredObject[] {new GenericUDF.DeferredJavaObject(trans4)})).copyBytes(),"Block 1346406 Transaction 5 hash is correctly calculated");
				EthereumTransaction transOrig5 = eTrans.get(5);
				TestEthereumTransaction trans5 = new TestEthereumTransaction();
				trans5.set(transOrig5);
				expectedHash = new byte[] {(byte)0xbc,(byte)0xde,(byte)0x6f,(byte)0x49,(byte)0x84,(byte)0x2c,(byte)0x6d,(byte)0x73,(byte)0x8d,(byte)0x64,(byte)0x32,(byte)0x8f,(byte)0x78,(byte)0x09,(byte)0xb1,(byte)0xd4,(byte)0x9b,(byte)0xf0,(byte)0xff,(byte)0x3f,(byte)0xfa,(byte)0x46,(byte)0x0f,(byte)0xdd,(byte)0xd2,(byte)0x7f,(byte)0xd4,(byte)0x2b,(byte)0x7a,(byte)0x01,(byte)0xfc,(byte)0x9a};
				assertArrayEquals(expectedHash,((BytesWritable)egthUDF.evaluate(new GenericUDF.DeferredObject[] {new GenericUDF.DeferredJavaObject(trans5)})).copyBytes(),"Block 1346406 Transaction 6 hash is correctly calculated");

		}
			 finally {
				if (ebr!=null) {
					ebr.close();
				}
			}

	  }

	  /***
	   * Helper function to convert EthereumTransaction to HiveEthereumTransaction
	   *
	   * @param transaction
	   * @return
	   */
	  private static HiveEthereumTransaction convertToHiveEthereumTransaction(EthereumTransaction transaction) {
			HiveEthereumTransaction newTransaction = new HiveEthereumTransaction();
			newTransaction.setNonce(transaction.getNonce());
			newTransaction.setValue(HiveDecimal.create(transaction.getValue()));
			newTransaction.setValueRaw(transaction.getValueRaw());
			newTransaction.setReceiveAddress(transaction.getReceiveAddress());
			newTransaction.setGasPrice(HiveDecimal.create(transaction.getGasPrice()));
			newTransaction.setGasPriceRaw(transaction.getGasPriceRaw());
			newTransaction.setGasLimit(HiveDecimal.create(transaction.getGasLimit()));
			newTransaction.setGasLimitRaw(transaction.getGasLimitRaw());
			newTransaction.setData(transaction.getData());
			newTransaction.setSig_v(transaction.getSig_v());
			newTransaction.setSig_r(transaction.getSig_r());
			newTransaction.setSig_s(transaction.getSig_s());
			return newTransaction;
	  }
}

redpajama_set_name: RedPajamaGithub


Don't have an active account. Used to play on a shared account, so I shouldn't give the SN.
No real favorites. I kinda admire truly hideous people who have made a career out of being naked and getting laid on camera, the clear champion being Ron Jeremy. I guess "admire" is too strong a word.


text:
HomeLitigation
Lawyer Docked Over Alleged Defamation Of Afe Babalola's Firm, Staff
Ogbobe in addition said the defendant conspired with one Jennifer Ulingbufun, currently at large and committed the offence.
TMLOctober 9, 2021 0
The police on Tuesday arraigned a lawyer, Bridget Emengo, in a Wuse Zone 6 Chief Magistrates Court for allegedly writing a defamatory statement on oath against Afe Babalola's firm and one of its staff.
Emengo, who lives at TradeMore Estate, Lugbe, Abuja, is charged with criminal conspiracy, injurious falsehood, defamation of character and perjury.
The Prosecution Counsel, Fidelis Ogbobe, told the court that the complainant, a legal representative of the firm, Olamide Adekunle, reported the matter through a written petition at the FCT Command of the Force Criminal Investigation and Intelligence Department on September 27.
The prosecutor said the ladies conspired and wrote defamatory remarks against the firm and its staff in a statement on oath filed on July 28 at the National Industrial Court.
He said that the defendant stated in the statement that she was on February 19 abducted by a staff of the firm on the instruction of Kehinde Ogunwumiju (SAN), a senior partner of the firm.
In addition, Ogbobe alleged that the defendant also in the alleged defamatory remarks stated that she was forcefully subjected to medical examinations in two different hospitals against her wish.
The prosecutor further alleged that the defendant in the said statement on oath submitted that Ogunwumiju misappropriated and converted the firm's resources to his personal use.
According to Ogbobe,that during police investigation, the defendant could not substantiate the allegations.
The prosecution said the offence contravened the provisions of sections 97, 392, 393 and 156 of the Penal Code.
The defendant, however, pleaded not guilty to the charges.
The defence counsel, Gift Ejekala prayed the court to grant his client bail in most liberal terms, citing Section 36 of the 1999 constitution( as amended) and Sections 158 and 163 of the Administration of Criminal Justice Act (ACJA) 2015.
Ogbobe in response objected to the bail application.
The Magistrate, Musa Saddeeq admitted the defendant to bail in the sum of N300,000 with two reasonable sureties in like sum.
Saddeeq said one of the sureties must be a civil servant on Grade Level 13 and above.
He also ordered that the sureties must reside within the court's jurisdiction, show affidavit of means.
He adjourned the case until October 28 for hearing.
NEWER POSTChartered Arbitrators Elect Fabian Ajogwu, SAN As President
OLDER POSTNBA Dutse Factional Chair Rejects NEC's Resolution


text:
Console Classix
Nintendo (NES)
Super Nintendo (SNES)
TurboGrafx-16 (PCE)
Home Brew Games
Bill & Ted's Excellent Video Game Adventure 1991 By: LJN
Play Bill & Ted's Excellent Video Game Adventure Now!
Controls and Hints
They're Bill S. Preston, Esquire and Ted Theodore Logan, and together they are... WYLD STALLYNS!!! Excellent!!! When Time Rebels steal important historical types and move them around history, Rufus goes back in time to get these two bodacious dudes to fix everything. BOGUS!!!
This video game, although awesome as it is, was made to exploit the fame of the film (much like the second film). This game's graphics were note worthy at the time and the music wasn't bad either.
Strange things are afoot under the Circle K doesn't even scratch the surface. Much like the cover of Led Zepplin's Houses of the Holy, this game has many steps and columns. So join these awesome guys on their next adventure, as if a history report wasn't bad enough.
In this game Bill and Ted must run around through time and seek out historical figures, such as King Arthur, Cleopatra, and Elvis, to put back in their own time. Use your directory to dial the numbers of time. Talk to locals for hints, but watch out so that you don't get locked up. Use fire crackers to scare the locals, coins to distract them, and cassette tapes to make them dance; all to avoid getting caught, because you can't fight anyone.
While in the levels, use either Bill or Ted to find the historical figures, but first you must find the bait to get them to follow you. Remember if you lose with one character you will take over as the other, but there is no difference in game play between Bill or Ted. This game is a fun adventure full of puzzles, action, and humorous dialog, although it is somewhat difficult to play.
A Button JUMP
B Button THROW
Start Button INVENTORY, PAUSE
Select Button INVENTORY, PAUSE
Skeleton keys act like lives. When you get arrested, you have to use these to get out of jail. If you run out of keys, the game is over.
Copyright © ConsoleClassix.com - ">Site Map -


text:
Q: How to extract Stored Procedure body in Teradata I'm trying to extract Stored procedure DDL by querying system tables.
If I run the following query
select * from dbc.tvm where TableKind = 'P'
both fields RequestText and CreateText contain NULL.
Is there any way to query Stored Procedure body apart from using SHOW PROCEDURE?
Thank you.

A: The DDL (SPL) for the Stored Procedures is not stored in the data dictionary tables. If you do not retain your DDL in a repository for version control you will need to script the SHOW PROCEDURE commands in a BTEQ script and export them to flat files. This BTEQ script can be generated dynamically if you are creative with your queries against the data dictionary.

redpajama_set_name: RedPajamaStackExchange


Hilton Worldwide says it will begin to eliminate the use of cages for egg-laying hens and gestation crates for breeding pigs from its global supply chain. Credit: gellinger/Pixabay.com.
BALTIMORE - Hilton Worldwide, one of the largest resort and hotel chains in the world, has announced it will eliminate the use of cages for egg-laying hens and gestation crates for breeding pigs from its global supply chain.
This is a major victory for animal welfare, said Josh Balk, senior food policy director of the Humane Society of the United States. His organization partnered with Hilton on the issue.
"Most egg-laying chickens are confined in cages and are unable to engage in vital natural behaviors," he said. "On the pork side, most mother pigs are confined in what are known as gestation crates. These are cages so small the mother pigs can't turn around for virtually their entire lives."
Hotels and resorts that fall under the Hilton umbrella, including Doubletree by Hilton brands and Waldorf Astoria Hotels and Resorts, will be required to switch to cage-free eggs by Dec. 31, 2017, and all pork products must be purchased from suppliers that house breeding pigs in groups rather than gestation crates by the end of 2018.
Balk said people often ask why it takes years to make the changes.
"It just takes often several years," he said, "to change how literally millions and oftentimes tens of millions of animals are raised for food."
In a written statement, Jennifer Silberman, vice president for corporate responsibility for Hilton Worldwide, said, "With more than 2,000 restaurants in our global footprint, our goal is to have a considerable impact on sustainable sourcing in our industry, as well as drive humane treatment of animals throughout our supply chain."
Last year, Hilton announced a global ban on the sale of shark fin in all of its owned and managed properties.