{{header}} {{object 1 0}} << /Type /Catalog /Pages 2 0 R /OpenAction 10 0 R >> endobj {{object 2 0}} << /Type /Pages /Count 1 /Kids [ 3 0 R ] >> endobj % Page number 0. {{object 3 0}} << /Type /Page /Parent 2 0 R /Resources << /Font <</F1 15 0 R>> >> /Contents [21 0 R] /MediaBox [0 0 612 792] >> % OpenAction action {{object 10 0}} << /Type /Action /S /JavaScript /JS 11 0 R >> endobj % JS program to exexute {{object 11 0}} << >> stream app.alert('Applying to util itself - should succeed'); try { app.alert(util.byteToChar.apply(util, [65])); } catch (e) { app.alert('Caught: ' + e); } app.alert('Applying to array - should throw'); try { app.alert(util.byteToChar.apply([], [65])); } catch (e) { app.alert('Caught: ' + e); } app.alert('Applying to number - should throw'); try { app.alert(util.byteToChar.apply(7, [65])); } catch (e) { app.alert('Caught: ' + e); } app.alert('Applying to wrong native obj - should throw'); try { app.alert(util.byteToChar.apply(app, [65])); } catch (e) { app.alert('Caught: ' + e); } endstream endobj {{xref}} trailer << /Root 1 0 R >> {{startxref}} %%EOF